summaryrefslogtreecommitdiff
path: root/java/management/core/lib
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2006-09-19 22:06:50 +0000
committerRafael H. Schloming <rhs@apache.org>2006-09-19 22:06:50 +0000
commit913489deb2ee9dbf44455de5f407ddaf4bd8c540 (patch)
tree7ea442d6867d0076f1c9ea4f4265664059e7aff5 /java/management/core/lib
downloadqpid-python-913489deb2ee9dbf44455de5f407ddaf4bd8c540.tar.gz
Import of qpid from etp:
URL: https://etp.108.redhat.com/svn/etp/trunk/blaze Repository Root: https://etp.108.redhat.com/svn/etp Repository UUID: 06e15bec-b515-0410-bef0-cc27a458cf48 Revision: 608 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@447994 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/core/lib')
-rw-r--r--java/management/core/lib/jakarta-commons/commons-attributes-api.jarbin0 -> 36342 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-attributes-compiler.jarbin0 -> 29216 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-beanutils.jarbin0 -> 188671 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-codec.jarbin0 -> 46725 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-collections.jarbin0 -> 559366 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-dbcp.jarbin0 -> 107631 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-digester.jarbin0 -> 168446 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-discovery.jarbin0 -> 74527 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-fileupload.jarbin0 -> 22379 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-httpclient.jarbin0 -> 279317 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-lang.jarbin0 -> 207723 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-logging.jarbin0 -> 38015 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-pool.jarbin0 -> 42492 bytes
-rw-r--r--java/management/core/lib/jakarta-commons/commons-validator.jarbin0 -> 84462 bytes
-rw-r--r--java/management/core/lib/log4j/log4j-1.2.9.jarbin0 -> 352291 bytes
-rw-r--r--java/management/core/lib/spring/spring-beans.dtd587
-rw-r--r--java/management/core/lib/spring/spring.ftl316
-rw-r--r--java/management/core/lib/spring/spring.tld311
-rw-r--r--java/management/core/lib/spring/spring.vm294
-rw-r--r--java/management/core/lib/xmlbeans/jsr173_api.jarbin0 -> 26396 bytes
-rw-r--r--java/management/core/lib/xmlbeans/resolver.jarbin0 -> 60047 bytes
-rw-r--r--java/management/core/lib/xmlbeans/saxon8.jarbin0 -> 2297989 bytes
-rw-r--r--java/management/core/lib/xmlbeans/xbean.jarbin0 -> 2526707 bytes
-rw-r--r--java/management/core/lib/xmlbeans/xbean_xpath.jarbin0 -> 5182 bytes
-rw-r--r--java/management/core/lib/xmlbeans/xmlpublic.jarbin0 -> 425062 bytes
25 files changed, 1508 insertions, 0 deletions
diff --git a/java/management/core/lib/jakarta-commons/commons-attributes-api.jar b/java/management/core/lib/jakarta-commons/commons-attributes-api.jar
new file mode 100644
index 0000000000..b41cd055bb
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-attributes-api.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-attributes-compiler.jar b/java/management/core/lib/jakarta-commons/commons-attributes-compiler.jar
new file mode 100644
index 0000000000..ffd93f79eb
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-attributes-compiler.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-beanutils.jar b/java/management/core/lib/jakarta-commons/commons-beanutils.jar
new file mode 100644
index 0000000000..b1b89c9c92
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-beanutils.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-codec.jar b/java/management/core/lib/jakarta-commons/commons-codec.jar
new file mode 100644
index 0000000000..957b6752af
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-codec.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-collections.jar b/java/management/core/lib/jakarta-commons/commons-collections.jar
new file mode 100644
index 0000000000..41e230feea
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-collections.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-dbcp.jar b/java/management/core/lib/jakarta-commons/commons-dbcp.jar
new file mode 100644
index 0000000000..08440c02e5
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-dbcp.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-digester.jar b/java/management/core/lib/jakarta-commons/commons-digester.jar
new file mode 100644
index 0000000000..9765493306
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-digester.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-discovery.jar b/java/management/core/lib/jakarta-commons/commons-discovery.jar
new file mode 100644
index 0000000000..eff4db19ef
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-discovery.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-fileupload.jar b/java/management/core/lib/jakarta-commons/commons-fileupload.jar
new file mode 100644
index 0000000000..1ca4a9cd31
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-fileupload.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-httpclient.jar b/java/management/core/lib/jakarta-commons/commons-httpclient.jar
new file mode 100644
index 0000000000..c17584060d
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-httpclient.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-lang.jar b/java/management/core/lib/jakarta-commons/commons-lang.jar
new file mode 100644
index 0000000000..87b80ab5db
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-lang.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-logging.jar b/java/management/core/lib/jakarta-commons/commons-logging.jar
new file mode 100644
index 0000000000..b73a80fab6
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-logging.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-pool.jar b/java/management/core/lib/jakarta-commons/commons-pool.jar
new file mode 100644
index 0000000000..4ba534c90e
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-pool.jar
Binary files differ
diff --git a/java/management/core/lib/jakarta-commons/commons-validator.jar b/java/management/core/lib/jakarta-commons/commons-validator.jar
new file mode 100644
index 0000000000..bf76e86c29
--- /dev/null
+++ b/java/management/core/lib/jakarta-commons/commons-validator.jar
Binary files differ
diff --git a/java/management/core/lib/log4j/log4j-1.2.9.jar b/java/management/core/lib/log4j/log4j-1.2.9.jar
new file mode 100644
index 0000000000..a6568b01a2
--- /dev/null
+++ b/java/management/core/lib/log4j/log4j-1.2.9.jar
Binary files differ
diff --git a/java/management/core/lib/spring/spring-beans.dtd b/java/management/core/lib/spring/spring-beans.dtd
new file mode 100644
index 0000000000..050f845788
--- /dev/null
+++ b/java/management/core/lib/spring/spring-beans.dtd
@@ -0,0 +1,587 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Spring XML Beans DTD
+ Authors: Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu
+
+ This defines a simple and consistent way of creating a namespace
+ of JavaBeans objects, managed by a Spring BeanFactory, read by
+ XmlBeanDefinitionReader (with DefaultXmlBeanDefinitionParser).
+
+ This document type is used by most Spring functionality, including
+ web application contexts, which are based on bean factories.
+
+ Each "bean" element in this document defines a JavaBean.
+ Typically the bean class is specified, along with JavaBean properties
+ and/or constructor arguments.
+
+ Bean instances can be "singletons" (shared instances) or "prototypes"
+ (independent instances). Further scopes are supposed to be built on top
+ of the core BeanFactory infrastructure and are therefore not part of it.
+
+ References among beans are supported, i.e. setting a JavaBean property
+ or a constructor argument to refer to another bean in the same factory
+ (or an ancestor factory).
+
+ As alternative to bean references, "inner bean definitions" can be used.
+ Singleton flags of such inner bean definitions are effectively ignored:
+ Inner beans are typically anonymous prototypes.
+
+ There is also support for lists, sets, maps, and java.util.Properties
+ as bean property types or constructor argument types.
+
+ As the format is simple, a DTD is sufficient, and there's no need
+ for a schema at this point.
+
+ XML documents that conform to this DTD should declare the following doctype:
+
+ <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
+ "http://www.springframework.org/dtd/spring-beans.dtd">
+-->
+
+
+<!--
+ The document root. A document can contain bean definitions only,
+ imports only, or a mixture of both (typically with imports first).
+-->
+<!ELEMENT beans (
+ description?,
+ (import | alias | bean)*
+)>
+
+<!--
+ Default values for all bean definitions. Can be overridden at
+ the "bean" level. See those attribute definitions for details.
+-->
+<!ATTLIST beans default-lazy-init (true | false) "false">
+<!ATTLIST beans default-autowire (no | byName | byType | constructor | autodetect) "no">
+<!ATTLIST beans default-dependency-check (none | objects | simple | all) "none">
+
+<!--
+ Element containing informative text describing the purpose of the enclosing
+ element. Always optional.
+ Used primarily for user documentation of XML bean definition documents.
+-->
+<!ELEMENT description (#PCDATA)>
+
+
+<!--
+ Specifies an XML bean definition resource to import.
+-->
+<!ELEMENT import EMPTY>
+
+<!--
+ The relative resource location of the XML bean definition file to import,
+ for example "myImport.xml" or "includes/myImport.xml" or "../myImport.xml".
+-->
+<!ATTLIST import resource CDATA #REQUIRED>
+
+
+<!--
+ Defines an alias for a bean, which can reside in a different definition file.
+-->
+<!ELEMENT alias EMPTY>
+
+<!--
+ The name of the bean to define an alias for.
+-->
+<!ATTLIST alias name CDATA #REQUIRED>
+
+<!--
+ The alias name to define for the bean.
+-->
+<!ATTLIST alias alias CDATA #REQUIRED>
+
+
+<!--
+ Defines a single (usually named) bean.
+
+ A bean definition may contain nested tags for constructor arguments,
+ property values, lookup methods, and replaced methods. Mixing constructor
+ injection and setter injection on the same bean is explicitly supported.
+-->
+<!ELEMENT bean (
+ description?,
+ (constructor-arg | property | lookup-method | replaced-method)*
+)>
+
+<!--
+ Beans can be identified by an id, to enable reference checking.
+
+ There are constraints on a valid XML id: if you want to reference your bean
+ in Java code using a name that's illegal as an XML id, use the optional
+ "name" attribute. If neither is given, the bean class name is used as id
+ (with an appended counter like "#2" if there is already a bean with that name).
+-->
+<!ATTLIST bean id ID #IMPLIED>
+
+<!--
+ Optional. Can be used to create one or more aliases illegal in an id.
+ Multiple aliases can be separated by any number of spaces or commas.
+-->
+<!ATTLIST bean name CDATA #IMPLIED>
+
+<!--
+ Each bean definition must specify the fully qualified name of the class,
+ except if it pure serves as parent for child bean definitions.
+-->
+<!ATTLIST bean class CDATA #IMPLIED>
+
+<!--
+ Optionally specify a parent bean definition.
+
+ Will use the bean class of the parent if none specified, but can
+ also override it. In the latter case, the child bean class must be
+ compatible with the parent, i.e. accept the parent's property values
+ and constructor argument values, if any.
+
+ A child bean definition will inherit constructor argument values,
+ property values and method overrides from the parent, with the option
+ to add new values. If init method, destroy method, factory bean and/or factory
+ method are specified, they will override the corresponding parent settings.
+
+ The remaining settings will always be taken from the child definition:
+ depends on, autowire mode, dependency check, singleton, lazy init.
+-->
+<!ATTLIST bean parent CDATA #IMPLIED>
+
+<!--
+ Is this bean "abstract", i.e. not meant to be instantiated itself but
+ rather just serving as parent for concrete child bean definitions.
+ Default is "false". Specify "true" to tell the bean factory to not try to
+ instantiate that particular bean in any case.
+-->
+<!ATTLIST bean abstract (true | false) "false">
+
+<!--
+ Is this bean a "singleton" (one shared instance, which will
+ be returned by all calls to getBean() with the id),
+ or a "prototype" (independent instance resulting from each call to
+ getBean(). Default is singleton.
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects.
+-->
+<!ATTLIST bean singleton (true | false) "true">
+
+<!--
+ If this bean should be lazily initialized.
+ If false, it will get instantiated on startup by bean factories
+ that perform eager initialization of singletons.
+-->
+<!ATTLIST bean lazy-init (true | false | default) "default">
+
+<!--
+ Optional attribute controlling whether to "autowire" bean properties.
+ This is an automagical process in which bean references don't need to be coded
+ explicitly in the XML bean definition file, but Spring works out dependencies.
+
+ There are 5 modes:
+
+ 1. "no"
+ The traditional Spring default. No automagical wiring. Bean references
+ must be defined in the XML file via the <ref> element. We recommend this
+ in most cases as it makes documentation more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog property,
+ Spring will try to set this to the value of the bean "dog" in the current factory.
+ If there is no matching bean by name, nothing special happens;
+ use dependency-check="objects" to raise an error in that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the bean factory.
+ If there is more than one, a fatal error is raised, and you can't use byType
+ autowiring for that bean. If there is none, nothing special happens;
+ use dependency-check="objects" to raise an error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there isn't exactly one bean
+ of the constructor argument type in the bean factory, a fatal error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean class.
+ If a default constructor is found, "byType" gets applied.
+
+ The latter two are similar to PicoContainer and make bean factories simple to
+ configure for small namespaces, but doesn't work as well as standard Spring
+ behaviour for bigger applications.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg" elements,
+ always override autowiring. Autowire behaviour can be combined with dependency
+ checking, which will be performed after all autowiring has been completed.
+-->
+<!ATTLIST bean autowire (no | byName | byType | constructor | autodetect | default) "default">
+
+<!--
+ Optional attribute controlling whether to check whether all this
+ beans dependencies, expressed in its properties, are satisfied.
+ Default is no dependency checking.
+
+ "simple" type dependency checking includes primitives and String
+ "object" includes collaborators (other beans in the factory)
+ "all" includes both types of dependency checking
+-->
+<!ATTLIST bean dependency-check (none | objects | simple | all | default) "default">
+
+<!--
+ The names of the beans that this bean depends on being initialized.
+ The bean factory will guarantee that these beans get initialized before.
+
+ Note that dependencies are normally expressed through bean properties or
+ constructor arguments. This property should just be necessary for other kinds
+ of dependencies like statics (*ugh*) or database preparation on startup.
+-->
+<!ATTLIST bean depends-on CDATA #IMPLIED>
+
+<!--
+ Optional attribute for the name of the custom initialization method
+ to invoke after setting bean properties. The method must have no arguments,
+ but may throw any exception.
+-->
+<!ATTLIST bean init-method CDATA #IMPLIED>
+
+<!--
+ Optional attribute for the name of the custom destroy method to invoke
+ on bean factory shutdown. The method must have no arguments,
+ but may throw any exception. Note: Only invoked on singleton beans!
+-->
+<!ATTLIST bean destroy-method CDATA #IMPLIED>
+
+<!--
+ Optional attribute specifying the name of a factory method to use to
+ create this object. Use constructor-arg elements to specify arguments
+ to the factory method, if it takes arguments. Autowiring does not apply
+ to factory methods.
+
+ If the "class" attribute is present, the factory method will be a static
+ method on the class specified by the "class" attribute on this bean
+ definition. Often this will be the same class as that of the constructed
+ object - for example, when the factory method is used as an alternative
+ to a constructor. However, it may be on a different class. In that case,
+ the created object will *not* be of the class specified in the "class"
+ attribute. This is analogous to FactoryBean behavior.
+
+ If the "factory-bean" attribute is present, the "class" attribute is not
+ used, and the factory method will be an instance method on the object
+ returned from a getBean call with the specified bean name. The factory
+ bean may be defined as a singleton or a prototype.
+
+ The factory method can have any number of arguments. Autowiring is not
+ supported. Use indexed constructor-arg elements in conjunction with the
+ factory-method attribute.
+
+ Setter Injection can be used in conjunction with a factory method.
+ Method Injection cannot, as the factory method returns an instance,
+ which will be used when the container creates the bean.
+-->
+<!ATTLIST bean factory-method CDATA #IMPLIED>
+
+<!--
+ Alternative to class attribute for factory-method usage.
+ If this is specified, no class attribute should be used.
+ This should be set to the name of a bean in the current or
+ ancestor factories that contains the relevant factory method.
+ This allows the factory itself to be configured using Dependency
+ Injection, and an instance (rather than static) method to be used.
+-->
+<!ATTLIST bean factory-bean CDATA #IMPLIED>
+
+
+<!--
+ Bean definitions can specify zero or more constructor arguments.
+ This is an alternative to "autowire constructor".
+ Arguments correspond to either a specific index of the constructor argument
+ list or are supposed to be matched generically by type.
+
+ Note: A single generic argument value will just be used once, rather than
+ potentially matched multiple times (as of Spring 1.1).
+
+ constructor-arg elements are also used in conjunction with the factory-method
+ element to construct beans using static or instance factory methods.
+-->
+<!ELEMENT constructor-arg (
+ description?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ The constructor-arg tag can have an optional index attribute,
+ to specify the exact index in the constructor argument list. Only needed
+ to avoid ambiguities, e.g. in case of 2 arguments of the same type.
+-->
+<!ATTLIST constructor-arg index CDATA #IMPLIED>
+
+<!--
+ The constructor-arg tag can have an optional type attribute,
+ to specify the exact type of the constructor argument. Only needed
+ to avoid ambiguities, e.g. in case of 2 single argument constructors
+ that can both be converted from a String.
+-->
+<!ATTLIST constructor-arg type CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST constructor-arg ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST constructor-arg value CDATA #IMPLIED>
+
+
+<!--
+ Bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+-->
+<!ELEMENT property (
+ description?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ The property name attribute is the name of the JavaBean property.
+ This follows JavaBean conventions: a name of "age" would correspond
+ to setAge()/optional getAge() methods.
+-->
+<!ATTLIST property name CDATA #REQUIRED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST property ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST property value CDATA #IMPLIED>
+
+
+<!--
+ A lookup method causes the IoC container to override the given method and return
+ the bean with the name given in the bean attribute. This is a form of Method Injection.
+ It's particularly useful as an alternative to implementing the BeanFactoryAware
+ interface, in order to be able to make getBean() calls for non-singleton instances
+ at runtime. In this case, Method Injection is a less invasive alternative.
+-->
+<!ELEMENT lookup-method EMPTY>
+
+<!--
+ Name of a lookup method. This method should take no arguments.
+-->
+<!ATTLIST lookup-method name CDATA #IMPLIED>
+
+<!--
+ Name of the bean in the current or ancestor factories that the lookup method
+ should resolve to. Often this bean will be a prototype, in which case the
+ lookup method will return a distinct instance on every invocation. This
+ is useful for single-threaded objects.
+-->
+<!ATTLIST lookup-method bean CDATA #IMPLIED>
+
+
+<!--
+ Similar to the lookup method mechanism, the replaced-method element is used to control
+ IoC container method overriding: Method Injection. This mechanism allows the overriding
+ of a method with arbitrary code.
+-->
+<!ELEMENT replaced-method (
+ (arg-type)*
+)>
+
+<!--
+ Name of the method whose implementation should be replaced by the IoC container.
+ If this method is not overloaded, there's no need to use arg-type subelements.
+ If this method is overloaded, arg-type subelements must be used for all
+ override definitions for the method.
+-->
+<!ATTLIST replaced-method name CDATA #IMPLIED>
+
+<!--
+ Bean name of an implementation of the MethodReplacer interface
+ in the current or ancestor factories. This may be a singleton or prototype
+ bean. If it's a prototype, a new instance will be used for each method replacement.
+ Singleton usage is the norm.
+-->
+<!ATTLIST replaced-method replacer CDATA #IMPLIED>
+
+<!--
+ Subelement of replaced-method identifying an argument for a replaced method
+ in the event of method overloading.
+-->
+<!ELEMENT arg-type (#PCDATA)>
+
+<!--
+ Specification of the type of an overloaded method argument as a String.
+ For convenience, this may be a substring of the FQN. E.g. all the
+ following would match "java.lang.String":
+ - java.lang.String
+ - String
+ - Str
+
+ As the number of arguments will be checked also, this convenience can often
+ be used to save typing.
+-->
+<!ATTLIST arg-type match CDATA #IMPLIED>
+
+
+<!--
+ Defines a reference to another bean in this factory or an external
+ factory (parent or included factory).
+-->
+<!ELEMENT ref EMPTY>
+
+<!--
+ References must specify a name of the target bean.
+ The "bean" attribute can reference any name from any bean in the context,
+ to be checked at runtime.
+ Local references, using the "local" attribute, have to use bean ids;
+ they can be checked by this DTD, thus should be preferred for references
+ within the same bean factory XML file.
+-->
+<!ATTLIST ref bean CDATA #IMPLIED>
+<!ATTLIST ref local IDREF #IMPLIED>
+<!ATTLIST ref parent CDATA #IMPLIED>
+
+
+<!--
+ Defines a string property value, which must also be the id of another
+ bean in this factory or an external factory (parent or included factory).
+ While a regular 'value' element could instead be used for the same effect,
+ using idref in this case allows validation of local bean ids by the xml
+ parser, and name completion by helper tools.
+-->
+<!ELEMENT idref EMPTY>
+
+<!--
+ ID refs must specify a name of the target bean.
+ The "bean" attribute can reference any name from any bean in the context,
+ potentially to be checked at runtime by bean factory implementations.
+ Local references, using the "local" attribute, have to use bean ids;
+ they can be checked by this DTD, thus should be preferred for references
+ within the same bean factory XML file.
+-->
+<!ATTLIST idref bean CDATA #IMPLIED>
+<!ATTLIST idref local IDREF #IMPLIED>
+
+
+<!--
+ Contains a string representation of a property value.
+ The property may be a string, or may be converted to the
+ required type using the JavaBeans PropertyEditor
+ machinery. This makes it possible for application developers
+ to write custom PropertyEditor implementations that can
+ convert strings to objects.
+
+ Note that this is recommended for simple objects only.
+ Configure more complex objects by populating JavaBean
+ properties with references to other beans.
+-->
+<!ELEMENT value (#PCDATA)>
+
+<!--
+ The value tag can have an optional type attribute, to specify the
+ exact type that the value should be converted to. Only needed
+ if the type of the target property or constructor argument is
+ too generic: for example, in case of a collection element.
+-->
+<!ATTLIST value type CDATA #IMPLIED>
+
+<!--
+ Denotes a Java null value. Necessary because an empty "value" tag
+ will resolve to an empty String, which will not be resolved to a
+ null value unless a special PropertyEditor does so.
+-->
+<!ELEMENT null (#PCDATA)>
+
+
+<!--
+ A list can contain multiple inner bean, ref, collection, or value elements.
+ Java lists are untyped, pending generics support in Java 1.5,
+ although references will be strongly typed.
+ A list can also map to an array type. The necessary conversion
+ is automatically performed by the BeanFactory.
+-->
+<!ELEMENT list (
+ (bean | ref | idref | value | null | list | set | map | props)*
+)>
+
+<!--
+ A set can contain multiple inner bean, ref, collection, or value elements.
+ Java sets are untyped, pending generics support in Java 1.5,
+ although references will be strongly typed.
+-->
+<!ELEMENT set (
+ (bean | ref | idref | value | null | list | set | map | props)*
+)>
+
+
+<!--
+ A Spring map is a mapping from a string key to object.
+ Maps may be empty.
+-->
+<!ELEMENT map (
+ (entry)*
+)>
+
+<!--
+ A map entry can be an inner bean, ref, value, or collection.
+ The key of the entry is given by the "key" attribute or child element.
+-->
+<!ELEMENT entry (
+ key?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ Each map element must specify its key as attribute or as child element.
+ A key attribute is always a String value.
+-->
+<!ATTLIST entry key CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a "key" element with a "ref bean=" child element.
+-->
+<!ATTLIST entry key-ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST entry value CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST entry value-ref CDATA #IMPLIED>
+
+<!--
+ A key element can contain an inner bean, ref, value, or collection.
+-->
+<!ELEMENT key (
+ (bean | ref | idref | value | null | list | set | map | props)
+)>
+
+
+<!--
+ Props elements differ from map elements in that values must be strings.
+ Props may be empty.
+-->
+<!ELEMENT props (
+ (prop)*
+)>
+
+<!--
+ Element content is the string value of the property.
+ Note that whitespace is trimmed off to avoid unwanted whitespace
+ caused by typical XML formatting.
+-->
+<!ELEMENT prop (#PCDATA)>
+
+<!--
+ Each property element must specify its key.
+-->
+<!ATTLIST prop key CDATA #REQUIRED>
+
diff --git a/java/management/core/lib/spring/spring.ftl b/java/management/core/lib/spring/spring.ftl
new file mode 100644
index 0000000000..45d8ad0b39
--- /dev/null
+++ b/java/management/core/lib/spring/spring.ftl
@@ -0,0 +1,316 @@
+<#--
+ * spring.ftl
+ *
+ * This file consists of a collection of FreeMarker macros aimed at easing
+ * some of the common requirements of web applications - in particular
+ * handling of forms.
+ *
+ * Spring's FreeMarker support will automatically make this file and therefore
+ * all macros within it available to any application using Spring's
+ * FreeMarkerConfigurer.
+ *
+ * To take advantage of these macros, the "exposeSpringMacroHelpers" property
+ * of the FreeMarker class needs to be set to "true". This will expose a
+ * RequestContext under the name "springMacroRequestContext", as needed by
+ * the macros in this library.
+ *
+ * @author Darren Davison
+ * @author Juergen Hoeller
+ * @since 1.1
+ -->
+
+<#--
+ * message
+ *
+ * Macro to translate a message code into a message.
+ -->
+<#macro message code>${springMacroRequestContext.getMessage(code)}</#macro>
+
+<#--
+ * messageText
+ *
+ * Macro to translate a message code into a message,
+ * using the given default text if no message found.
+ -->
+<#macro messageText code, text>${springMacroRequestContext.getMessage(code, text)}</#macro>
+
+<#--
+ * url
+ *
+ * Takes a relative URL and makes it absolute from the server root by
+ * adding the context root for the web application.
+ -->
+<#macro url relativeUrl>${springMacroRequestContext.getContextPath()}${relativeUrl}</#macro>
+
+<#--
+ * bind
+ *
+ * Exposes a BindStatus object for the given bind path, which can be
+ * a bean (e.g. "person") to get global errors, or a bean property
+ * (e.g. "person.name") to get field errors. Can be called multiple times
+ * within a form to bind to multiple command objects and/or field names.
+ *
+ * This macro will participate in the default HTML escape setting for the given
+ * RequestContext. This can be customized by calling "setDefaultHtmlEscape"
+ * on the "springMacroRequestContext" context variable, or via the
+ * "defaultHtmlEscape" context-param in web.xml (same as for the JSP bind tag).
+ * Also regards a "htmlEscape" variable in the namespace of this library.
+ *
+ * Producing no output, the following context variable will be available
+ * each time this macro is referenced (assuming you import this library in
+ * your templates with the namespace 'spring'):
+ *
+ * spring.status : a BindStatus instance holding the command object name,
+ * expression, value, and error messages and codes for the path supplied
+ *
+ * @param path : the path (string value) of the value required to bind to.
+ * Spring defaults to a command name of "command" but this can be overridden
+ * by user config.
+ -->
+<#macro bind path>
+ <#if htmlEscape?exists>
+ <#assign status = springMacroRequestContext.getBindStatus(path, htmlEscape)>
+ <#else>
+ <#assign status = springMacroRequestContext.getBindStatus(path)>
+ </#if>
+ <#-- assign a temporary value, forcing a string representation for any
+ kind of variable. This temp value is only used in this macro lib -->
+ <#if status.value?exists && status.value?is_boolean>
+ <#assign stringStatusValue=status.value?string>
+ <#else>
+ <#assign stringStatusValue=status.value?default("")>
+ </#if>
+</#macro>
+
+<#--
+ * bindEscaped
+ *
+ * Similar to spring:bind, but takes an explicit HTML escape flag rather
+ * than relying on the default HTML escape setting.
+ -->
+<#macro bindEscaped path, htmlEscape>
+ <#assign status = springMacroRequestContext.getBindStatus(path, htmlEscape)>
+ <#-- assign a temporary value, forcing a string representation for any
+ kind of variable. This temp value is only used in this macro lib -->
+ <#if status.value?exists && status.value?is_boolean>
+ <#assign stringStatusValue=status.value?string>
+ <#else>
+ <#assign stringStatusValue=status.value?default("")>
+ </#if>
+</#macro>
+
+<#--
+ * formInput
+ *
+ * Display a form input field of type 'text' and bind it to an attribute
+ * of a command or bean.
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ -->
+<#macro formInput path attributes="" fieldType="text" >
+ <@bind path/>
+ <input type="${fieldType}" name="${status.expression}" value="<#if fieldType!="password">${stringStatusValue}</#if>" ${attributes}
+ <@closeTag/>
+</#macro>
+
+<#--
+ * formPasswordInput
+ *
+ * Display a form input field of type 'password' and bind it to an attribute
+ * of a command or bean. No value will ever be displayed. This functionality
+ * can also be obtained by calling the formInput macro with a 'type' parameter
+ * of 'password'
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ -->
+<#macro formPasswordInput path attributes="" >
+ <@formInput path, attributes, "password"/>
+</#macro>
+
+<#--
+ * formHiddenInput
+ *
+ * Generate a form input field of type 'hidden' and bind it to an attribute
+ * of a command or bean. This functionality can also be obtained by calling
+ * the formInput macro with a 'type' parameter of 'hidden'
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ -->
+<#macro formHiddenInput path attributes="" >
+ <@formInput path, attributes, "hidden"/>
+</#macro>
+
+<#--
+ * formTextarea
+ *
+ * Display a text area and bind it to an attribute of a command or bean.
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ -->
+<#macro formTextarea path attributes="" >
+ <@bind path/>
+ <textarea name="${status.expression}" ${attributes}>${stringStatusValue}</textarea>
+</#macro>
+
+<#--
+ * formSingleSelect
+ *
+ * Show a selectbox (dropdown) input element allowing a single value to be chosen
+ * from a list of options.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+-->
+<#macro formSingleSelect path options attributes="">
+ <@bind path/>
+ <select name="${status.expression}" ${attributes}>
+ <#list options?keys as value>
+ <option value="${value}"<@checkSelected value/>>${options[value]}</option>
+ </#list>
+ </select>
+</#macro>
+
+<#--
+ * formMultiSelect
+ *
+ * Show a listbox of options allowing the user to make 0 or more choices from
+ * the list of options.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+-->
+<#macro formMultiSelect path options attributes="">
+ <@bind path/>
+ <select multiple="multiple" name="${status.expression}" ${attributes}>
+ <#list options?keys as value>
+ <#assign isSelected = contains(status.value?default([""]), value)>
+ <option value="${value}" <#if isSelected>selected="selected"</#if>>${options[value]}</option>
+ </#list>
+ </select>
+</#macro>
+
+<#--
+ * formRadioButtons
+ *
+ * Show radio buttons.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param separator the html tag or other character list that should be used to
+ * separate each option. Typically '&nbsp;' or '<br>'
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+-->
+<#macro formRadioButtons path options separator attributes="">
+ <@bind path/>
+ <#list options?keys as value>
+ <input type="radio" name="${status.expression}" value="${value}"
+ <#if stringStatusValue == value>checked="checked"</#if> ${attributes}
+ <@closeTag/>
+ ${options[value]}${separator}
+ </#list>
+</#macro>
+
+<#--
+ * formCheckboxes
+ *
+ * Show checkboxes.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param separator the html tag or other character list that should be used to
+ * separate each option. Typically '&nbsp;' or '<br>'
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+-->
+<#macro formCheckboxes path options separator attributes="">
+ <@bind path/>
+ <#list options?keys as value>
+ <#assign isSelected = contains(status.value?default([""]), value)>
+ <input type="checkbox" name="${status.expression}" value="${value}"
+ <#if isSelected>checked="checked"</#if> ${attributes}
+ <@closeTag/>
+ ${options[value]}${separator}
+ </#list>
+</#macro>
+
+<#--
+ * showErrors
+ *
+ * Show validation errors for the currently bound field, with
+ * optional style attributes.
+ *
+ * @param separator the html tag or other character list that should be used to
+ * separate each option. Typically '<br>'.
+ * @param classOrStyle either the name of a CSS class element (which is defined in
+ * the template or an external CSS file) or an inline style. If the value passed in here
+ * contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute
+ * will be used.
+-->
+<#macro showErrors separator classOrStyle="">
+ <#list status.errorMessages as error>
+ <#if classOrStyle == "">
+ <b>${error}</b>
+ <#else>
+ <#if classOrStyle?index_of(":") == -1><#assign attr="class"><#else><#assign attr="style"></#if>
+ <span ${attr}="${classOrStyle}">${error}</span>
+ </#if>
+ <#if error_has_next>${separator}</#if>
+ </#list>
+</#macro>
+
+<#--
+ * checkSelected
+ *
+ * Check a value in a list to see if it is the currently selected value.
+ * If so, add the 'selected="selected"' text to the output.
+ * Handles values of numeric and string types.
+ * This function is used internally but can be accessed by user code if required.
+ *
+ * @param value the current value in a list iteration
+-->
+<#macro checkSelected value>
+ <#if stringStatusValue?is_number && stringStatusValue == value?number>selected="selected"</#if>
+ <#if stringStatusValue?is_string && stringStatusValue == value>selected="selected"</#if>
+</#macro>
+
+<#--
+ * contains
+ *
+ * Macro to return true if the list contains the scalar, false if not.
+ * Surprisingly not a FreeMarker builtin.
+ * This function is used internally but can be accessed by user code if required.
+ *
+ * @param list the list to search for the item
+ * @param item the item to search for in the list
+ * @return true if item is found in the list, false otherwise
+-->
+<#function contains list item>
+ <#list list as nextInList>
+ <#if nextInList == item><#return true></#if>
+ </#list>
+ <#return false>
+</#function>
+
+<#--
+ * closeTag
+ *
+ * Simple macro to close an HTML tag that has no body with '>' or '/>',
+ * depending on the value of a 'xhtmlCompliant' variable in the namespace
+ * of this library.
+-->
+<#macro closeTag>
+ <#if xhtmlCompliant?exists && xhtmlCompliant>/><#else>></#if>
+</#macro>
diff --git a/java/management/core/lib/spring/spring.tld b/java/management/core/lib/spring/spring.tld
new file mode 100644
index 0000000000..1bc7091f03
--- /dev/null
+++ b/java/management/core/lib/spring/spring.tld
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+
+ <tlib-version>1.1.1</tlib-version>
+
+ <jsp-version>1.2</jsp-version>
+
+ <short-name>Spring</short-name>
+
+ <uri>http://www.springframework.org/tags</uri>
+
+ <description>Spring Framework JSP Tag Library. Authors: Rod Johnson, Juergen Hoeller</description>
+
+
+ <tag>
+
+ <name>htmlEscape</name>
+ <tag-class>org.springframework.web.servlet.tags.HtmlEscapeTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Sets default HTML escape value for the current page.
+ Overrides a "defaultHtmlEscape" context-param in web.xml, if any.
+ </description>
+
+ <attribute>
+ <name>defaultHtmlEscape</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>escapeBody</name>
+ <tag-class>org.springframework.web.servlet.tags.EscapeBodyTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Escapes its enclosed body content, applying HTML escaping and/or JavaScript escaping.
+ The HTML escaping flag participates in a page-wide or application-wide setting
+ (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).
+ </description>
+
+ <attribute>
+ <name>htmlEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>javaScriptEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>message</name>
+ <tag-class>org.springframework.web.servlet.tags.MessageTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Retrieves the message with the given code, or text if code isn't resolvable.
+ The HTML escaping flag participates in a page-wide or application-wide setting
+ (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).
+ </description>
+
+ <attribute>
+ <name>code</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>arguments</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>text</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>var</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>scope</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>htmlEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>javaScriptEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>theme</name>
+ <tag-class>org.springframework.web.servlet.tags.ThemeTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Retrieves the theme message with the given code, or text if code isn't resolvable.
+ The HTML escaping flag participates in a page-wide or application-wide setting
+ (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).
+ </description>
+
+ <attribute>
+ <name>code</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>arguments</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>text</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>var</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>scope</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>htmlEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>javaScriptEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>hasBindErrors</name>
+ <tag-class>org.springframework.web.servlet.tags.BindErrorsTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Provides Errors instance in case of bind errors.
+ The HTML escaping flag participates in a page-wide or application-wide setting
+ (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).
+ </description>
+
+ <variable>
+ <name-given>errors</name-given>
+ <variable-class>org.springframework.validation.Errors</variable-class>
+ </variable>
+
+ <attribute>
+ <name>name</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>htmlEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>nestedPath</name>
+ <tag-class>org.springframework.web.servlet.tags.NestedPathTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Sets a nested path to be used by the bind tag's path.
+ </description>
+
+ <variable>
+ <name-given>nestedPath</name-given>
+ <variable-class>java.lang.String</variable-class>
+ </variable>
+
+ <attribute>
+ <name>path</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>bind</name>
+ <tag-class>org.springframework.web.servlet.tags.BindTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Provides BindStatus object for the given bind path.
+ The HTML escaping flag participates in a page-wide or application-wide setting
+ (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).
+ </description>
+
+ <variable>
+ <name-given>status</name-given>
+ <variable-class>org.springframework.web.servlet.support.BindStatus</variable-class>
+ </variable>
+
+ <attribute>
+ <name>path</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>ignoreNestedPath</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>htmlEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+
+ <tag>
+
+ <name>transform</name>
+ <tag-class>org.springframework.web.servlet.tags.TransformTag</tag-class>
+ <body-content>JSP</body-content>
+
+ <description>
+ Provides transformation of variables to Strings, using an appropriate
+ custom PropertyEditor from BindTag (can only be used inside BindTag).
+ The HTML escaping flag participates in a page-wide or application-wide setting
+ (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).
+ </description>
+
+ <attribute>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>var</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>scope</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ <attribute>
+ <name>htmlEscape</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+
+ </tag>
+
+</taglib>
diff --git a/java/management/core/lib/spring/spring.vm b/java/management/core/lib/spring/spring.vm
new file mode 100644
index 0000000000..50e104328c
--- /dev/null
+++ b/java/management/core/lib/spring/spring.vm
@@ -0,0 +1,294 @@
+#**
+ * spring.vm
+ *
+ * This file consists of a collection of Velocity macros aimed at easing
+ * some of the common requirements of web applications - in particular
+ * handling of forms.
+ *
+ * Spring's Velocity support will automatically make this file and therefore
+ * all macros within it available to any application using Spring's
+ * VelocityConfigurer.
+ *
+ * To take advantage of these macros, the "exposeSpringMacroHelpers" property
+ * of the VelocityView class needs to be set to "true". This will expose a
+ * RequestContext under the name "springMacroRequestContext", as needed by
+ * the macros in this library.
+ *
+ * @author Darren Davison
+ * @author Juergen Hoeller
+ * @since 1.1
+ *#
+
+#**
+ * springMessage
+ *
+ * Macro to translate a message code into a message.
+ *#
+#macro( springMessage $code )$springMacroRequestContext.getMessage($code)#end
+
+#**
+ * springMessageText
+ *
+ * Macro to translate a message code into a message,
+ * using the given default text if no message found.
+ *#
+#macro( springMessageText $code $text )$springMacroRequestContext.getMessage($code, $text)#end
+
+#**
+ * springUrl
+ *
+ * Takes a relative URL and makes it absolute from the server root by
+ * adding the context root for the web application.
+ *#
+#macro( springUrl $relativeUrl )$springMacroRequestContext.getContextPath()${relativeUrl}#end
+
+#**
+ * springBind
+ *
+ * Exposes a BindStatus object for the given bind path, which can be
+ * a bean (e.g. "person") to get global errors, or a bean property
+ * (e.g. "person.name") to get field errors. Can be called multiple times
+ * within a form to bind to multiple command objects and/or field names.
+ *
+ * This macro will participate in the default HTML escape setting for the given
+ * RequestContext. This can be customized by calling "setDefaultHtmlEscape"
+ * on the "springMacroRequestContext" context variable, or via the
+ * "defaultHtmlEscape" context-param in web.xml (same as for the JSP bind tag).
+ * Also regards a "springHtmlEscape" variable in the template context.
+ *
+ * Producing no output, the following context variable will be available
+ * each time this macro is referenced:
+ *
+ * $status : a BindStatus instance holding the command object name,
+ * expression, value, and error codes and messages for the path supplied
+ *
+ * @param $path : the path (string value) of the value required to bind to.
+ * Spring defaults to a command name of "command" but this can be overridden
+ * by user config.
+ *#
+#macro( springBind $path )
+ #if("$!springHtmlEscape" != "")
+ #set( $status = $springMacroRequestContext.getBindStatus($path, $springHtmlEscape) )
+ #else
+ #set( $status = $springMacroRequestContext.getBindStatus($path) )
+ #end
+#end
+
+#**
+ * springBindEscaped
+ *
+ * Similar to springBind, but takes an explicit HTML escape flag rather
+ * than relying on the default HTML escape setting.
+ *#
+#macro( springBindEscaped $path $htmlEscape )
+ #set( $status = $springMacroRequestContext.getBindStatus($path, $htmlEscape) )
+#end
+
+#**
+ * springFormInput
+ *
+ * Display a form input field of type 'text' and bind it to an attribute
+ * of a command or bean.
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ *
+ *#
+#macro( springFormInput $path $attributes )
+ #springBind($path)
+ <input type="text" name="${status.expression}" value="$!status.value" ${attributes}#springCloseTag()
+#end
+
+#**
+ * springFormPasswordInput
+ *
+ * Display a form input field of type 'password' and bind it to an attribute
+ * of a command or bean. No value will ever be specified for this field regardless
+ * of whether one exists or not. For hopefully obvious reasons!
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ *
+ *#
+#macro( springFormPasswordInput $path $attributes )
+ #springBind($path)
+ <input type="password" name="${status.expression}" value="" ${attributes}#springCloseTag()
+#end
+
+#**
+ * springFormHiddenInput
+ *
+ * Generate a form input field of type 'hidden' and bind it to an attribute
+ * of a command or bean.
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ *
+ *#
+#macro( springFormHiddenInput $path $attributes )
+ #springBind($path)
+ <input type="hidden" name="${status.expression}" value="$!status.value" ${attributes}#springCloseTag()
+#end
+
+#**
+ * formTextArea
+ *
+ * display a text area and bind it to an attribute
+ * of a command or bean
+ *
+ * @param path the name of the field to bind to
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+ *
+ *#
+#macro( springFormTextarea $path $attributes )
+ #springBind($path)
+ <textarea name="${status.expression}" ${attributes}>$!status.value</textarea>
+#end
+
+#**
+ * springFormSingleSelect
+ *
+ * Show a selectbox (dropdown) input element allowing a single value to be chosen
+ * from a list of options.
+ *
+ * The null check for $status.value leverages Velocity's 'quiet' notation rather
+ * than the more common #if($status.value) since this method evaluates to the
+ * boolean 'false' if the content of $status.value is the String "false" - not
+ * what we want.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+*#
+#macro( springFormSingleSelect $path $options $attributes )
+ #springBind($path)
+ <select name="${status.expression}" ${attributes}>
+ #foreach($option in $options.keySet())
+ <option value="${option}"
+ #if("$!status.value" == "$option")
+ selected="selected"
+ #end>
+ ${options.get($option)}</option>
+ #end
+ </select>
+#end
+
+#**
+ * springFormMultiSelect
+ *
+ * Show a listbox of options allowing the user to make 0 or more choices from
+ * the list of options.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+*#
+#macro( springFormMultiSelect $path $options $attributes )
+ #springBind($path)
+ <select multiple="multiple" name="${status.expression}" ${attributes}>
+ #foreach($option in $options.keySet())
+ <option value="${option}"
+ #foreach($item in $status.value)
+ #if($item == $option)
+ selected="selected"
+ #end
+ #end
+ >${options.get($option)}</option>
+ #end
+ </select>
+#end
+
+#**
+ * springFormRadioButtons
+ *
+ * Show radio buttons.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param separator the html tag or other character list that should be used to
+ * separate each option. Typically '&nbsp;' or '<br>'
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+*#
+#macro( springFormRadioButtons $path $options $separator $attributes )
+ #springBind($path)
+ #foreach($option in $options.keySet())
+ <input type="radio" name="${status.expression}" value="${option}"
+ #if("$!status.value" == "$option")
+ checked="checked"
+ #end
+ ${attributes}
+ #springCloseTag()
+ ${options.get($option)} ${separator}
+ #end
+#end
+
+#**
+ * springFormCheckboxes
+ *
+ * Show checkboxes.
+ *
+ * @param path the name of the field to bind to
+ * @param options a map (value=label) of all the available options
+ * @param separator the html tag or other character list that should be used to
+ * separate each option. Typically '&nbsp;' or '<br>'
+ * @param attributes any additional attributes for the element (such as class
+ * or CSS styles or size
+*#
+#macro( springFormCheckboxes $path $options $separator $attributes )
+ #springBind($path)
+ #foreach($option in $options.keySet())
+ <input type="checkbox" name="${status.expression}" value="${option}"
+ #foreach($item in $status.value)
+ #if($item == $option)
+ checked="checked"
+ #end
+ #end
+ ${attributes} #springCloseTag()
+ ${options.get($option)} ${separator}
+ #end
+#end
+
+#**
+ * springShowErrors
+ *
+ * Show validation errors for the currently bound field, with
+ * optional style attributes.
+ *
+ * @param separator the html tag or other character list that should be used to
+ * separate each option. Typically '<br>'.
+ * @param classOrStyle either the name of a CSS class element (which is defined in
+ * the template or an external CSS file) or an inline style. If the value passed in here
+ * contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute
+ * will be used.
+*#
+#macro( springShowErrors $separator $classOrStyle )
+ #foreach($error in $status.errorMessages)
+ #if($classOrStyle == "")
+ <b>${error}</b>
+ #else
+ #if($classOrStyle.indexOf(":") == -1)
+ #set($attr="class")
+ #else
+ #set($attr="style")
+ #end
+ <span ${attr}="${classOrStyle}">${error}</span>
+ #end
+ ${separator}
+ #end
+#end
+
+#**
+ * springCloseTag
+ *
+ * Simple macro to close an HTML tag that has no body with '>' or '/>',
+ * depending on the value of a 'springXhtmlCompliant' variable in the
+ * template context.
+ *#
+#macro( springCloseTag )#if($springXhtmlCompliant)/>#else>#end #end
diff --git a/java/management/core/lib/xmlbeans/jsr173_api.jar b/java/management/core/lib/xmlbeans/jsr173_api.jar
new file mode 100644
index 0000000000..d6fdfad49b
--- /dev/null
+++ b/java/management/core/lib/xmlbeans/jsr173_api.jar
Binary files differ
diff --git a/java/management/core/lib/xmlbeans/resolver.jar b/java/management/core/lib/xmlbeans/resolver.jar
new file mode 100644
index 0000000000..073d789675
--- /dev/null
+++ b/java/management/core/lib/xmlbeans/resolver.jar
Binary files differ
diff --git a/java/management/core/lib/xmlbeans/saxon8.jar b/java/management/core/lib/xmlbeans/saxon8.jar
new file mode 100644
index 0000000000..f3a2484882
--- /dev/null
+++ b/java/management/core/lib/xmlbeans/saxon8.jar
Binary files differ
diff --git a/java/management/core/lib/xmlbeans/xbean.jar b/java/management/core/lib/xmlbeans/xbean.jar
new file mode 100644
index 0000000000..08c72cd5b7
--- /dev/null
+++ b/java/management/core/lib/xmlbeans/xbean.jar
Binary files differ
diff --git a/java/management/core/lib/xmlbeans/xbean_xpath.jar b/java/management/core/lib/xmlbeans/xbean_xpath.jar
new file mode 100644
index 0000000000..c3366ebc8b
--- /dev/null
+++ b/java/management/core/lib/xmlbeans/xbean_xpath.jar
Binary files differ
diff --git a/java/management/core/lib/xmlbeans/xmlpublic.jar b/java/management/core/lib/xmlbeans/xmlpublic.jar
new file mode 100644
index 0000000000..8c79b44c47
--- /dev/null
+++ b/java/management/core/lib/xmlbeans/xmlpublic.jar
Binary files differ