--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Axis2 Library"/>
+ <classpathentry kind="src" path="_axis/source/java"/>
+ <classpathentry kind="src" path="_alfresco/source/java"/>
+ <classpathentry kind="src" path="_share/source/java"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/SDK AlfrescoEmbedded"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/SDK AlfrescoRemote"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/SDK Basic AMP"/>
+ <classpathentry kind="lib" path="_alfresco/lib"/>
+ <classpathentry kind="lib" path="_share/lib"/>
+ <classpathentry kind="lib" path="lib"/>
+ <classpathentry kind="lib" path="_axis/lib"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/Slingshot"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/Java4Windows"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>SAEM</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
--- /dev/null
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
--- /dev/null
+GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+<http://www.gnu.org/licenses/>.
--- /dev/null
+# module ged-sas
+
+**compatible** : Alfresco community 4.2.C
+
+## Objectifs
+
+Ce module Alfresco permettant l'interaction avec le libriciel [as@lae](http://adullact.net/projects/asalae/).
+Il permet de disposer d'un formulaire interactif alimenté par des profils SEDA (.xsd) et de superviser le processus d'archivage mettant en relation les services producteurs d'archives et les services d'archives.
+
+Dans le dictionnaire de données d'Alfresco une catégorie SEDA a été créée. Le dépôt des profils SEDA dans le dictionnaire de données permet d'hériter de cette catégorie.
+Dans le modèle de données Alfresco, un aspect archives a été défini permettant de "profiler" un dossier (c'est-à-dire permettre l'association entre un dossier du plan de rangement et un profil SEDA) et d'écrire des métadonnées issues du processus d'archivage sur les dossiers à archiver.
+
+Ce module contient également un web services permettant de transférer des versements vers as@lae encapsulés dans un bordereau xml SEDA et un service de transfert de documents par paquet pour répondre à la problématique du transfert des fichiers volumineux.
+
+## Installation
+=============
+
+Le code source mis à disposition doit être compilé à l'aide de l'outil ant et des librairies de compilation fournies par Alfresco share.sh et alfresco.sh
+
+Dans le cas, où l'utilisateur souhaite simplement réutiliser en l'état le code mis à disposition, les paquets amp compilés sont également disponibles. Il est dès lors simplement nécessaire de placer ces fichiers amp dans les dossiers dédiés et de relancer le service alfresco.
+
+Le fichier saem.properties doit être modifié pour correspondre aux noeuds du système cible et à l'url à laquelle est disponible l'instance asalae avec laquelle on souhaie interagir.
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN" "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
+<urlrewrite use-query-string="true">
+
+ <rule>
+ <from>^/webservices/service$</from>
+ <to>/services/service</to>
+ </rule>
+
+ <rule>
+ <from>^/webservices/wsdl$</from>
+ <to>/services/service?wsdl</to>
+ </rule>
+</urlrewrite>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+ <display-name>Alfresco Web Client</display-name>
+
+ <description>Alfresco Web Client</description>
+
+ <context-param>
+ <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>server</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>javax.faces.PARTIAL_STATE_SAVING_METHOD</param-name>
+ <param-value>false</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>javax.faces.CONFIG_FILES</param-name>
+ <param-value>/WEB-INF/faces-config-app.xml,/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-navigation.xml,/WEB-INF/faces-config-common.xml,/WEB-INF/faces-config-repo.xml,/WEB-INF/faces-config-wcm.xml,/WEB-INF/faces-config-custom.xml</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
+ <param-value>false</param-value>
+ <description>This is an EXPERIMENTAL feature, so leave it off for now!</description>
+ </context-param>
+
+ <context-param>
+ <param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
+ <param-value>false</param-value>
+ <description>Stop MyFaces from Serializing the state to the session</description>
+ </context-param>
+
+ <!-- TODO: Change this to false for production -->
+ <context-param>
+ <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
+ <param-value>true</param-value>
+ <description>
+ If true, rendered HTML code will be formatted, so that it is "human readable".
+ i.e. additional line separators and whitespace will be written, that do not
+ influence the HTML code.
+ Default: "true"
+ </description>
+ </context-param>
+
+ <context-param>
+ <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
+ <param-value>false</param-value>
+ <description>
+ If true, a javascript function will be rendered that is able to restore the
+ former vertical scroll on every request. Convenient feature if you have pages
+ with long lists and you do not want the browser page to always jump to the top
+ if you trigger a link or button action that stays on the same page.
+ Default: "false"
+ </description>
+ </context-param>
+
+ <!-- Spring Application Context location -->
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/web-application-context.xml</param-value>
+ <description>Spring config file location</description>
+ </context-param>
+
+ <context-param>
+ <param-name>log4jExposeWebAppRoot</param-name>
+ <param-value>false</param-value>
+ <description>Do not try to resolve web app root as file</description>
+ </context-param>
+
+ <!-- These were previously init params for the WebDAV servlet,
+ but since they are also needed to MT-enable the
+ ExternalAccess servlet, I have made them context wide. -->
+ <context-param>
+ <param-name>store</param-name>
+ <param-value>workspace://SpacesStore</param-value>
+ </context-param>
+ <context-param>
+ <param-name>rootPath</param-name>
+ <param-value>/app:company_home</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
+ <param-value>false</param-value>
+ </context-param>
+
+ <!-- Activiti context param placeholder -->
+
+ <context-param>
+ <param-name>com.ibm.ws.jsf.loadExternalDtd</param-name>
+ <param-value>false</param-value>
+ <description>Sets "http://apache.org/xml/features/nonvalidating/load-external-dtd" feature on the SAXParser to false if this parameter is false</description>
+ </context-param>
+
+ <filter>
+ <filter-name>Authentication Filter</filter-name>
+ <description>Authentication filter mapped only to faces URLs. Other URLs generally use proprietary means to talk to the AuthenticationComponent</description>
+ <filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
+ <init-param>
+ <param-name>beanName</param-name>
+ <param-value>AuthenticationFilter</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>Global Authentication Filter</filter-name>
+ <description>Authentication filter mapped to all authenticated URLs. Mainly for SSO support</description>
+ <filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
+ <init-param>
+ <param-name>beanName</param-name>
+ <param-value>GlobalAuthenticationFilter</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>WebScript Authentication Filter</filter-name>
+ <description>Authentication filter mapped to web script URLs. Mainly for SSO support</description>
+ <filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
+ <init-param>
+ <param-name>beanName</param-name>
+ <param-value>WebscriptAuthenticationFilter</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>WebDAV Authentication Filter</filter-name>
+ <filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
+ <init-param>
+ <param-name>beanName</param-name>
+ <param-value>WebDavAuthenticationFilter</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <filter-class>org.alfresco.web.app.servlet.AdminAuthenticationFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <description>Set HTTP cache Expires header 30 days forward for a mapping.</description>
+ <filter-class>org.alfresco.web.scripts.servlet.StaticAssetCacheFilter</filter-class>
+ <init-param>
+ <param-name>expires</param-name>
+ <param-value>30</param-value>
+ <description>Add an Expires Header 30 days forward</description>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>Global Localization Filter</filter-name>
+ <description>Sets fallback default locale for ALL requests</description>
+ <filter-class>org.alfresco.web.app.servlet.GlobalLocalizationFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>JSF Session Synchronized Filter</filter-name>
+ <filter-class>org.alfresco.repo.web.filter.beans.SessionSynchronizedFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>Global Localization Filter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/navigate/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/command/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/download/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/template/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/n/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/c/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/t/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/d/*</url-pattern>
+ </filter-mapping>
+
+ <!-- The WebScript Authentication filter sits in front of web service URLs in addition to the global authentication filter -->
+ <filter-mapping>
+ <filter-name>WebScript Authentication Filter</filter-name>
+ <url-pattern>/wcservice/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>WebScript Authentication Filter</filter-name>
+ <url-pattern>/wcs/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/wcservice/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/wcs/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/ajax/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Global Authentication Filter</filter-name>
+ <url-pattern>/faces/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Authentication Filter</filter-name>
+ <url-pattern>/faces/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>WebDAV Authentication Filter</filter-name>
+ <url-pattern>/webdav/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <url-pattern>/faces/jsp/admin/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <url-pattern>/faces/jsp/categories/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <url-pattern>/faces/jsp/groups/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <url-pattern>/faces/jsp/users/delete-user.jsp</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <url-pattern>/faces/jsp/users/users.jsp</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Admin Authentication Filter</filter-name>
+ <url-pattern>/faces/jsp/admin/system-info.jsp</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>JSF Session Synchronized Filter</filter-name>
+ <url-pattern>/faces/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.jpg</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.png</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.gif</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.css</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.js</url-pattern>
+ </filter-mapping>
+
+ <listener>
+ <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
+ </listener>
+
+ <listener>
+ <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
+ </listener>
+
+ <!-- Spring Context Loader listener - can disable loading of context if runtime config changes are needed -->
+ <listener>
+ <listener-class>org.alfresco.web.app.ContextLoaderListener</listener-class>
+ </listener>
+
+ <!-- Web Application Context listener - session create/destroy debugging and bootstrap Spring init -->
+ <listener>
+ <listener-class>org.alfresco.web.app.ContextListener</listener-class>
+ </listener>
+
+ <!-- WebDAV session listener - ensures that no locked resources is left after session expires -->
+ <listener>
+ <listener-class>org.alfresco.repo.webdav.WebDAVSessionListener</listener-class>
+ </listener>
+
+ <!-- Web Services context listener for OpenCMIS -->
+ <listener>
+ <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
+ </listener>
+
+ <!-- Activiti listener placeholder -->
+
+
+ <!-- Faces Servlet -->
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>uploadFile</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.UploadFileServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>uploadContent</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.UploadContentServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>downloadContent</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.DownloadContentServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>downloadRawContent</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.DownloadRawContentServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>guestDownloadContent</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.GuestDownloadContentServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>guestTemplateContent</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.GuestTemplateContentServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>externalAccess</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.ExternalAccessServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>templateContent</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.TemplateContentServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>commandServlet</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.CommandServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>ajaxServlet</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.ajax.AjaxServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>axis</servlet-name>
+ <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
+ <load-on-startup>5</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>CXFServlet</servlet-name>
+ <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
+ <load-on-startup>6</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>WebDAV</servlet-name>
+ <servlet-class>org.alfresco.repo.webdav.WebDAVServlet</servlet-class>
+ <load-on-startup>5</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>apiServlet</servlet-name>
+ <servlet-class>org.springframework.extensions.webscripts.servlet.WebScriptServlet</servlet-class>
+ <init-param>
+ <param-name>authenticator</param-name>
+ <param-value>webscripts.authenticator.basic</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>wcapiServlet</servlet-name>
+ <servlet-class>org.springframework.extensions.webscripts.servlet.WebScriptServlet</servlet-class>
+ <init-param>
+ <param-name>authenticator</param-name>
+ <param-value>webscripts.authenticator.webclient</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>portalapiServlet</servlet-name>
+ <servlet-class>org.springframework.extensions.webscripts.servlet.WebScriptServlet</servlet-class>
+ <init-param>
+ <param-name>authenticator</param-name>
+ <param-value>webscripts.authenticator.webclient</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>facebookServlet</servlet-name>
+ <servlet-class>org.alfresco.repo.web.scripts.facebook.FacebookServlet</servlet-class>
+ <init-param>
+ <param-name>authenticator</param-name>
+ <param-value>webscripts.authenticator.facebook</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>fbapiServlet</servlet-name>
+ <servlet-class>org.alfresco.repo.web.scripts.facebook.FacebookAPIServlet</servlet-class>
+ <init-param>
+ <param-name>authenticator</param-name>
+ <param-value>webscripts.authenticator.facebook</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>proxyServlet</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.HTTPProxyServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>workflowDefinitionImageServlet</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.WorkflowDefinitionImageServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>JBPMDeployProcessServlet</servlet-name>
+ <servlet-class>org.alfresco.web.app.servlet.JBPMDeployProcessServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>CMISFileShareServlet</servlet-name>
+ <servlet-class>org.apache.chemistry.opencmis.browser.BrowseServlet</servlet-class>
+ <init-param>
+ <param-name>auxroot</param-name>
+ <param-value>cmisfs/browser/</param-value>
+ </init-param>
+ <init-param>
+ <param-name>allow</param-name>
+ <param-value>http.*</param-value>
+ </init-param>
+ <init-param>
+ <param-name>stylesheet:application/atomsvc+xml</param-name>
+ <param-value>/cmisfs/stylesheets/service.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>stylesheet:application/atom+xml;type=feed</param-name>
+ <param-value>/cmisfs/stylesheets/feed.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>stylesheet:application/cmistree+xml</param-name>
+ <param-value>/cmisfs/stylesheets/feed.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>stylesheet:application/atom+xml;type=entry</param-name>
+ <param-value>/cmisfs/stylesheets/entry.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>stylesheet:application/cmisallowableactions+xml</param-name>
+ <param-value>/cmisfs/stylesheets/actions.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>stylesheet:application/cmisacl+xml</param-name>
+ <param-value>/cmisfs/stylesheets/acl.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>override-stylesheet:renditions</param-name>
+ <param-value>/cmisfs/stylesheets/renditions.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>override-stylesheet:relationships</param-name>
+ <param-value>/cmisfs/stylesheets/relationships.xsl</param-value>
+ </init-param>
+ <init-param>
+ <param-name>override-stylesheet:thumbnails</param-name>
+ <param-value>/cmisfs/stylesheets/thumbnails.xsl</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>cmisws</servlet-name>
+ <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.CmisWebServicesServlet</servlet-class>
+ <load-on-startup>7</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>cmisatom</servlet-name>
+ <servlet-class>org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet</servlet-class>
+ <init-param>
+ <param-name>callContextHandler</param-name>
+ <param-value>org.apache.chemistry.opencmis.server.shared.BasicAuthCallContextHandler</param-value>
+ </init-param>
+ <load-on-startup>8</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>cmisbrowser</servlet-name>
+ <servlet-class>org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet</servlet-class>
+ <init-param>
+ <param-name>callContextHandler</param-name>
+ <param-value>org.apache.chemistry.opencmis.server.shared.BasicAuthCallContextHandler</param-value>
+ </init-param>
+ <load-on-startup>8</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>cmistck</servlet-name>
+ <servlet-class>org.apache.chemistry.opencmis.tck.runner.WebRunnerServlet</servlet-class>
+ <load-on-startup>8</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>authenticatorServlet</servlet-name>
+ <servlet-class>org.alfresco.repo.web.scripts.servlet.AuthenticatorServlet</servlet-class>
+ </servlet>
+
+ <!-- Activiti servlet placeholder -->
+
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>/faces/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>uploadFile</servlet-name>
+ <url-pattern>/uploadFileServlet</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>uploadContent</servlet-name>
+ <url-pattern>/upload/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>downloadContent</servlet-name>
+ <url-pattern>/download/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>downloadContent</servlet-name>
+ <url-pattern>/d/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>downloadRawContent</servlet-name>
+ <url-pattern>/dr</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>guestDownloadContent</servlet-name>
+ <url-pattern>/guestDownload/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>guestDownloadContent</servlet-name>
+ <url-pattern>/gd/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>templateContent</servlet-name>
+ <url-pattern>/template/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>templateContent</servlet-name>
+ <url-pattern>/t/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>guestTemplateContent</servlet-name>
+ <url-pattern>/guestTemplate/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>guestTemplateContent</servlet-name>
+ <url-pattern>/gt/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>externalAccess</servlet-name>
+ <url-pattern>/navigate/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>externalAccess</servlet-name>
+ <url-pattern>/n/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>commandServlet</servlet-name>
+ <url-pattern>/command/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>commandServlet</servlet-name>
+ <url-pattern>/c/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>ajaxServlet</servlet-name>
+ <url-pattern>/ajax/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>axis</servlet-name>
+ <url-pattern>/api/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>CXFServlet</servlet-name>
+ <url-pattern>/cmis/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>WebDAV</servlet-name>
+ <url-pattern>/webdav/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>apiServlet</servlet-name>
+ <url-pattern>/service/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>apiServlet</servlet-name>
+ <url-pattern>/s/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>wcapiServlet</servlet-name>
+ <url-pattern>/wcservice/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>wcapiServlet</servlet-name>
+ <url-pattern>/wcs/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>portalapiServlet</servlet-name>
+ <url-pattern>/168service/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>portalapiServlet</servlet-name>
+ <url-pattern>/168s/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>facebookServlet</servlet-name>
+ <url-pattern>/facebook/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>facebookServlet</servlet-name>
+ <url-pattern>/fb/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>fbapiServlet</servlet-name>
+ <url-pattern>/fbservice/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>fbapiServlet</servlet-name>
+ <url-pattern>/fbs/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>proxyServlet</servlet-name>
+ <url-pattern>/proxy</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>JBPMDeployProcessServlet</servlet-name>
+ <url-pattern>/jbpm/deployprocess</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>workflowDefinitionImageServlet</servlet-name>
+ <url-pattern>/workflowdefinitionimage/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>CMISFileShareServlet</servlet-name>
+ <url-pattern>/cmisbrowse</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>cmisws</servlet-name>
+ <url-pattern>/cmisws/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>cmisatom</servlet-name>
+ <url-pattern>/cmisatom/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>cmisbrowser</servlet-name>
+ <url-pattern>/cmisbrowser/*</url-pattern>
+ </servlet-mapping>
+
+ <!-- The CMIS TCK is deactivated by default. -->
+ <!-- CMISTCK
+ <servlet-mapping>
+ <servlet-name>cmistck</servlet-name>
+ <url-pattern>/cmistck</url-pattern>
+ </servlet-mapping>
+ CMISTCK -->
+
+ <!-- Activiti servlet mapping placeholder -->
+
+ <session-config>
+ <session-timeout>360</session-timeout>
+ </session-config>
+
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+ <error-page>
+ <exception-type>java.lang.Exception</exception-type>
+ <location>/jsp/error.jsp</location>
+ </error-page>
+
+ <resource-ref>
+ <description>The Alfresco database connection</description>
+ <res-ref-name>jdbc/dataSource</res-ref-name>
+ <res-type>javax.sql.DataSource</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Unshareable</res-sharing-scope>
+ </resource-ref>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>SOLR</web-resource-name>
+ <url-pattern>/service/api/solr/*</url-pattern>
+ </web-resource-collection>
+
+ <auth-constraint>
+ <role-name>repoclient</role-name>
+ </auth-constraint>
+
+ <user-data-constraint>
+ <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>SOLR</web-resource-name>
+ <url-pattern>/s/api/solr/*</url-pattern>
+ </web-resource-collection>
+
+ <auth-constraint>
+ <role-name>repoclient</role-name>
+ </auth-constraint>
+
+ <user-data-constraint>
+ <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>SOLR</web-resource-name>
+ <url-pattern>/wcservice/api/solr/*</url-pattern>
+ </web-resource-collection>
+
+ <auth-constraint>
+ <role-name>repoclient</role-name>
+ </auth-constraint>
+
+ <user-data-constraint>
+ <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>SOLR</web-resource-name>
+ <url-pattern>/wcs/api/solr/*</url-pattern>
+ </web-resource-collection>
+
+ <auth-constraint>
+ <role-name>repoclient</role-name>
+ </auth-constraint>
+
+ <user-data-constraint>
+ <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+ <login-config>
+ <auth-method>CLIENT-CERT</auth-method>
+ <realm-name>Repository</realm-name>
+ </login-config>
+
+ <security-role>
+ <role-name>repoclient</role-name>
+ </security-role>
+
+ <env-entry>
+ <description>A flag that globally enables or disables startup of the major Alfresco subsystems.</description>
+ <env-entry-name>properties/startup.enable</env-entry-name>
+ <env-entry-value>true</env-entry-value>
+ <env-entry-type>java.lang.Boolean</env-entry-type>
+ </env-entry>
+
+ <env-entry>
+ <description>The filesystem directory below which content and index data is stored. Should be on a shared disk
+ if this is a clustered installation.</description>
+ <env-entry-name>properties/dir.root</env-entry-name>
+ <env-entry-value/> <!-- Empty value included for JBoss compatibility -->
+ <env-entry-type>java.lang.String</env-entry-type>
+ </env-entry>
+
+ <env-entry>
+ <description>The fully qualified name of a org.hibernate.dialect.Dialect subclass that allows Hibernate to
+ generate SQL optimized for a particular relational database. Choose from org.hibernate.dialect.DerbyDialect,
+ org.hibernate.dialect.MySQLInnoDBDialect,
+ org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect,
+ org.alfresco.repo.domain.hibernate.dialect.AlfrescoSybaseAnywhereDialect,
+ org.alfresco.repo.domain.hibernate.dialect.AlfrescoSQLServerDialect, org.hibernate.dialect.PostgreSQLDialect</description>
+ <env-entry-name>properties/hibernate.dialect</env-entry-name>
+ <env-entry-value/> <!-- Empty value included for JBoss compatibility -->
+ <env-entry-type>java.lang.String</env-entry-type>
+ </env-entry>
+
+ <env-entry>
+ <description>Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to "true
+ TRUE, false FALSE".</description>
+ <env-entry-name>properties/hibernate.query.substitutions</env-entry-name>
+ <env-entry-value/> <!-- Empty value included for JBoss compatibility -->
+ <env-entry-type>java.lang.String</env-entry-type>
+ </env-entry>
+
+ <env-entry>
+ <description>Enable use of JDBC3 PreparedStatement.getGeneratedKeys() to retrieve natively generated keys
+ after insert. Requires JDBC3+ driver. Set to false if your driver has problems with the Hibernate identifier
+ generators. By default, tries to determine the driver capabilities using connection metadata. </description>
+ <env-entry-name>properties/hibernate.jdbc.use_get_generated_keys</env-entry-name>
+ <env-entry-value/> <!-- Empty value included for JBoss compatibility -->
+ <env-entry-type>java.lang.String</env-entry-type>
+ </env-entry>
+
+ <env-entry>
+ <description>Qualify unqualified table names with the given schema/tablespace in generated SQL. It may be
+ necessary to set this when the target database has more than one schema.</description>
+ <env-entry-name>properties/hibernate.default_schema</env-entry-name>
+ <env-entry-value/> <!-- Empty value included for JBoss compatibility -->
+ <env-entry-type>java.lang.String</env-entry-type>
+ </env-entry>
+
+ <servlet>
+ <servlet-name>AxisServlet</servlet-name>
+ <display-name>Apache-Axis Servlet</display-name>
+ <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
+ <!--<init-param>-->
+ <!--<param-name>axis2.xml.path</param-name>-->
+ <!--<param-value>/WEB-INF/conf/axis2.xml</param-value>-->
+ <!--<param-name>axis2.xml.url</param-name>-->
+ <!--<param-value>http://localhost/myrepo/axis2.xml</param-value>-->
+ <!--<param-name>axis2.repository.path</param-name>-->
+ <!--<param-value>/WEB-INF</param-value>-->
+ <!--<param-name>axis2.repository.url</param-name>-->
+ <!--<param-value>http://localhost/myrepo</param-value>-->
+ <!--</init-param>-->
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>AxisAdminServlet</servlet-name>
+ <display-name>Apache-Axis AxisAdmin Servlet (Web Admin)</display-name>
+ <servlet-class>
+ org.apache.axis2.webapp.AxisAdminServlet</servlet-class>
+ </servlet>
+
+ <!-- servlet>
+ <servlet-name>SOAPMonitorService</servlet-name>
+ <display-name>SOAPMonitorService</display-name>
+ <servlet-class>org.apache.axis2.soapmonitor.servlet.SOAPMonitorService</servlet-class>
+ <init-param>
+ <param-name>SOAPMonitorPort</param-name>
+ <param-value>5001</param-value>
+ </init-param>
+ <init-param>
+ <param-name>SOAPMonitorHostName</param-name>
+ <param-value>localhost</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet -->
+
+ <servlet-mapping>
+ <servlet-name>AxisServlet</servlet-name>
+ <url-pattern>/servlet/AxisServlet</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>AxisServlet</servlet-name>
+ <url-pattern>*.jws</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>AxisServlet</servlet-name>
+ <url-pattern>/services/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>AxisAdminServlet</servlet-name>
+ <url-pattern>/axis2-admin/*</url-pattern>
+ </servlet-mapping>
+
+ <!-- servlet-mapping>
+ <servlet-name>SOAPMonitorService</servlet-name>
+ <url-pattern>/SOAPMonitor</url-pattern>
+ </servlet-mapping -->
+
+ <mime-mapping>
+ <extension>inc</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+
+ <filter>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/webservices/*</url-pattern>
+ </filter-mapping>
+
+</web-app>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/repository/forms/pickerresults.lib.js">
+
+function main()
+{
+ var argsFilterType = args['filterType'],
+ argsSelectableType = args['selectableType'],
+ argsSearchTerm = args['searchTerm'],
+ argsMaxResults = args['size'],
+ argsXPath = args['xpath'],
+ argsRootNode = args['rootNode'],
+ pathElements = url.service.split("/"),
+ parent = null,
+ rootNode = companyhome,
+ results = [],
+ categoryResults = null,
+ resultObj = null,
+ lastPathElement = null;
+
+ if (logger.isLoggingEnabled())
+ {
+ logger.log("children type = " + url.templateArgs.type);
+ logger.log("argsSelectableType = " + argsSelectableType);
+ logger.log("argsFilterType = " + argsFilterType);
+ logger.log("argsSearchTerm = " + argsSearchTerm);
+ logger.log("argsMaxResults = " + argsMaxResults);
+ logger.log("argsXPath = " + argsXPath);
+ }
+
+ try
+ {
+ // construct the NodeRef from the URL
+ var nodeRef = url.templateArgs.store_type + "://" + url.templateArgs.store_id + "/" + url.templateArgs.id;
+
+ // determine if we need to resolve the parent NodeRef
+
+ if (argsXPath != null)
+ {
+ // resolve the provided XPath to a NodeRef
+ var nodes = search.xpathSearch(argsXPath);
+ if (nodes.length > 0)
+ {
+ nodeRef = String(nodes[0].nodeRef);
+ }
+ }
+
+ // default to max of 100 results
+ var maxResults = 100;
+ if (argsMaxResults != null)
+ {
+ // force the argsMaxResults var to be treated as a number
+ maxResults = parseInt(argsMaxResults, 10) || maxResults;
+ }
+
+ // if the last path element is 'doclib' or 'siblings' find parent node
+ if (pathElements.length > 0)
+ {
+ lastPathElement = pathElements[pathElements.length-1];
+
+ if (logger.isLoggingEnabled())
+ logger.log("lastPathElement = " + lastPathElement);
+
+ if (lastPathElement == "siblings")
+ {
+ // the provided nodeRef is the node we want the siblings of so get it's parent
+ var node = search.findNode(nodeRef);
+ if (node !== null)
+ {
+ nodeRef = node.parent.nodeRef;
+ }
+ else
+ {
+ // if the provided node was not found default to companyhome
+ nodeRef = "alfresco://company/home";
+ }
+ }
+ else if (lastPathElement == "doclib")
+ {
+ // we want to find the document library for the nodeRef provided
+ nodeRef = findDoclib(nodeRef);
+ }
+ }
+
+ if (url.templateArgs.type == "node")
+ {
+ parent = resolveNode(nodeRef);
+ if (parent === null)
+ {
+ status.setCode(status.STATUS_NOT_FOUND, "Not a valid nodeRef: '" + nodeRef + "'");
+ return null;
+ }
+
+ if (argsRootNode != null)
+ {
+ rootNode = resolveNode(argsRootNode) || companyhome;
+ }
+
+ var ignoreTypes = null;
+ if (argsFilterType != null)
+ {
+ if (logger.isLoggingEnabled())
+ logger.log("ignoring types = " + argsFilterType);
+
+ ignoreTypes = argsFilterType.split(',');
+ }
+
+ // retrieve the children of this node
+ var childNodes = parent.childFileFolders(true, true, ignoreTypes, -1, maxResults, 0, "cm:name", true, null).getPage();
+
+ // Ensure folders and folderlinks appear at the top of the list
+ var containerResults = new Array(),
+ contentResults = new Array();
+
+ for each (var result in childNodes)
+ {
+ if (result.isContainer || result.type == "{http://www.alfresco.org/model/application/1.0}folderlink")
+ {
+ // wrap result and determine if it is selectable in the UI
+ resultObj =
+ {
+ item: result
+ };
+ resultObj.selectable = isItemSelectable(result, argsSelectableType);
+
+ containerResults.push(resultObj);
+ }
+ else
+ {
+ // wrap result and determine if it is selectable in the UI
+ resultObj =
+ {
+ item: result
+ };
+ resultObj.selectable = isItemSelectable(result, argsSelectableType);
+
+ contentResults.push(resultObj);
+ }
+ }
+ results = containerResults.concat(contentResults);
+ }
+ else if (url.templateArgs.type == "category")
+ {
+ var catAspect = (args["aspect"] != null) ? args["aspect"] : "cm:generalclassifiable";
+
+ // TODO: Better way of finding this
+ var rootCategories = classification.getRootCategories(catAspect);
+ if (rootCategories != null && rootCategories.length > 0)
+ {
+ rootNode = rootCategories[0].parent;
+ if (nodeRef == "alfresco://category/root")
+ {
+ parent = rootNode;
+ categoryResults = classification.getRootCategories(catAspect);
+ }
+ else
+ {
+ parent = search.findNode(nodeRef);
+ categoryResults = parent.children;
+ }
+
+ if (argsSearchTerm != null)
+ {
+ var filteredResults = [];
+ for each (result in categoryResults)
+ {
+ if (result.properties.name.indexOf(argsSearchTerm) == 0)
+ {
+ filteredResults.push(result);
+ }
+ }
+ categoryResults = filteredResults.slice(0);
+ }
+ categoryResults.sort(sortByName);
+
+ // make each result an object and indicate it is selectable in the UI
+ for each (var result in categoryResults)
+ {
+ results.push(
+ {
+ item: result,
+ selectable: true
+ });
+ }
+ }
+ }
+ else if (url.templateArgs.type == "authority")
+ {
+ if (argsSelectableType == "cm:person")
+ {
+ findUsers(argsSearchTerm, maxResults, results);
+ }
+ else if (argsSelectableType == "cm:authorityContainer")
+ {
+ findGroups(argsSearchTerm, maxResults, results);
+ }
+ else
+ {
+ // combine groups and users
+ findGroups(argsSearchTerm, maxResults, results);
+ findUsers(argsSearchTerm, maxResults, results);
+ }
+ }
+
+ if (logger.isLoggingEnabled())
+ logger.log("Found " + results.length + " results");
+ }
+ catch (e)
+ {
+ var msg = e.message;
+
+ if (logger.isLoggingEnabled())
+ logger.log(msg);
+
+ status.setCode(500, msg);
+
+ return;
+ }
+
+ model.parent = parent;
+ model.rootNode = rootNode;
+ model.results = results;
+}
+
+function isItemSelectable(node, selectableType)
+{
+ var selectable = true;
+
+ if (selectableType !== null && selectableType !== "")
+ {
+ selectable = node.isSubType(selectableType);
+
+ if (!selectable)
+ {
+ // the selectableType could also be an aspect,
+ // if the node has that aspect it is selectable
+ selectable = node.hasAspect(selectableType);
+
+ if (selectable == true && selectableType == "saem:archivable") {
+ selectable = node.activeWorkflows.length == 0;
+ }
+ }
+ }
+
+ return selectable;
+}
+
+/* Sort the results by case-insensitive name */
+function sortByName(a, b)
+{
+ return (b.properties.name.toLowerCase() > a.properties.name.toLowerCase() ? -1 : 1);
+}
+
+function findUsers(searchTerm, maxResults, results)
+{
+ var paging = utils.createPaging(maxResults, -1);
+ var searchResults = groups.searchUsers(searchTerm, paging, "lastName");
+
+ // create person object for each result
+ for each(var user in searchResults)
+ {
+ if (logger.isLoggingEnabled())
+ logger.log("found user = " + user.userName);
+
+ // add to results
+ results.push(
+ {
+ item: createPersonResult(user.person),
+ selectable: true
+ });
+ }
+}
+
+function findGroups(searchTerm, maxResults, results)
+{
+ if (logger.isLoggingEnabled())
+ logger.log("Finding groups matching pattern: " + searchTerm);
+
+ var paging = utils.createPaging(maxResults, 0);
+ var searchResults = groups.getGroupsInZone(searchTerm, "APP.DEFAULT", paging, "displayName");
+ for each(var group in searchResults)
+ {
+ if (logger.isLoggingEnabled())
+ logger.log("found group = " + group.fullName);
+
+ // add to results
+ results.push(
+ {
+ item: createGroupResult(group.groupNode),
+ selectable: true
+ });
+ }
+
+ // sort the groups by name alphabetically
+ if (results.length > 0)
+ {
+ results.sort(function(a, b)
+ {
+ return (a.item.properties.name < b.item.properties.name) ? -1 : (a.item.properties.name > b.item.properties.name) ? 1 : 0;
+ });
+ }
+}
+
+/**
+ * Returns the nodeRef of the document library of the site the
+ * given nodeRef is located within. If the nodeRef provided does
+ * not live within a site "alfresco://company/home" is returned.
+ *
+ * @param nodeRef The node to find the document library for
+ * @return The nodeRef of the doclib or "alfresco://company/home" if the node
+ * is not located within a site
+ */
+function findDoclib(nodeRef)
+{
+ var resultNodeRef = "alfresco://company/home";
+
+ // find the given node
+ var node = search.findNode(nodeRef);
+ if (node !== null)
+ {
+ // get the name of the site
+ var siteName = node.siteShortName;
+
+ if (logger.isLoggingEnabled())
+ logger.log("siteName = " + siteName);
+
+ // if the node is in a site find the document library node using an XPath search
+ if (siteName !== null)
+ {
+ var nodes = search.xpathSearch("/app:company_home/st:sites/cm:" + search.ISO9075Encode(siteName) + "/cm:documentLibrary");
+ if (nodes.length > 0)
+ {
+ // there should only be 1 result, get the first one
+ resultNodeRef = String(nodes[0].nodeRef);
+ }
+ }
+ }
+
+ return resultNodeRef;
+}
+
+/**
+ * Resolve "virtual" nodeRefs, nodeRefs and xpath expressions into nodes
+ *
+ * @method resolveNode
+ * @param reference {string} "virtual" nodeRef, nodeRef or xpath expressions
+ * @return {ScriptNode|null} Node corresponding to supplied expression. Returns null if node cannot be resolved.
+ */
+function resolveNode(reference)
+{
+ var node = null;
+ try
+ {
+ if (reference == "alfresco://company/home")
+ {
+ node = companyhome;
+ }
+ else if (reference == "alfresco://user/home")
+ {
+ node = userhome;
+ }
+ else if (reference == "alfresco://sites/home")
+ {
+ node = companyhome.childrenByXPath("st:sites")[0];
+ }
+ else if (reference.indexOf("://") > 0)
+ {
+ node = search.findNode(reference);
+ }
+ else if (reference.substring(0, 1) == "/")
+ {
+ node = search.xpathSearch(reference)[0];
+ }
+ }
+ catch (e)
+ {
+ return null;
+ }
+ return node;
+}
+
+main();
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/evaluator.lib.js">
+<import resource="classpath:/alfresco/extension/templates/webscripts/saem/documentlibrary-v2/filters.lib.js">
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/parse-args.lib.js">
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/doclist.lib.js">
+
+/**
+ * CGQS-77
+ * Document List Component: doclist
+ */
+model.doclist = doclist_main();
\ No newline at end of file
--- /dev/null
+<search>
+ <default-query-template>%(cm:name cm:title cm:description saem:hidden_content ia:whatEvent ia:descriptionEvent lnk:title lnk:description TEXT TAG)</default-query-template>
+</search>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>archivemanagement</shortname>
+ <description>archivemanagement</description>
+ <url>/saem/archivemanagement</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+ <transaction>required</transaction>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>archivemanagement</shortname>
+ <description>archivemanagement</description>
+ <url>/saem/archivemanagement</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+ <transaction>required</transaction>
+</webscript>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>asalaereponse</shortname>
+ <description>Traite les accusé de reception</description>
+ <url>/saem/asalaereponse</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+ <transaction>required</transaction>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>create-archive</shortname>
+ <description>Create Archive</description>
+ <url>/saem/create-archive</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+ <transaction>required</transaction>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>create-archive</shortname>
+ <description>Create Archive</description>
+ <url>/saem/create-archive?profil={profil}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+ <transaction>required</transaction>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>denied-workflows</shortname>
+ <description>return workflows a document cannot process</description>
+ <url>/saem/denied-workflows/{store_type}/{store_id}/{id}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+ <transaction allow="readonly">required</transaction>
+ <lifecycle>internal</lifecycle>
+</webscript>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/parse-args.lib.js">
+
+function main()
+{
+ // Use helper function to get the arguments
+ var parsedArgs = ParseArgs.getParsedArgs();
+ if (parsedArgs === null)
+ {
+ return;
+ }
+
+ var node = ParseArgs.resolveNode(parsedArgs.nodeRef);
+
+ var result = [];
+ if (!(node.type == Packages.org.alfresco.model.ContentModel.TYPE_FOLDER))
+ {
+ if (!(node.hasAspect("saem:not_verse")))
+ {
+ result.push({
+ name: "activiti$wfVersement"
+ });
+ }
+ }
+ model.data = result;
+}
+
+main();
\ No newline at end of file
--- /dev/null
+<#escape x as jsonUtils.encodeJSONString(x)>
+{
+ "items":
+ [
+ <#list data as item>
+ {
+ "name": "${item.name!''}"
+ }<#if item_has_next>,</#if>
+ </#list>
+ ]
+}
+</#escape>
\ No newline at end of file
--- /dev/null
+var Filters =
+{
+ /**
+ * Type map to filter required types.
+ * NOTE: "documents" filter also returns folders to show UI hint about hidden folders.
+ */
+ TYPE_MAP:
+ {
+ "documents": '+(TYPE:"content" OR TYPE:"app:filelink" OR TYPE:"folder")',
+ "folders": '+(TYPE:"folder" OR TYPE:"app:folderlink")',
+ "images": '+@cm\\:content.mimetype:image/*'
+ },
+
+ /**
+ * Types that we want to suppress from the resultset
+ */
+ IGNORED_TYPES:
+ [
+ "cm:systemfolder",
+ "fm:forums",
+ "fm:forum",
+ "fm:topic",
+ "fm:post"
+ ],
+
+ /**
+ * Encode a path with ISO9075 encoding
+ *
+ * @method iso9075EncodePath
+ * @param path {string} Path to be encoded
+ * @return {string} Encoded path
+ */
+ iso9075EncodePath: function Filter_iso9075EncodePath(path)
+ {
+ var parts = path.split("/");
+ for (var i = 1, ii = parts.length; i < ii; i++)
+ {
+ parts[i] = "cm:" + search.ISO9075Encode(parts[i]);
+ }
+ return parts.join("/");
+ },
+
+ /**
+ * Create filter parameters based on input parameters
+ *
+ * @method getFilterParams
+ * @param filter {string} Required filter
+ * @param parsedArgs {object} Parsed arguments object literal
+ * @param optional {object} Optional arguments depending on filter type
+ * @return {object} Object literal containing parameters to be used in Lucene search
+ */
+ getFilterParams: function Filter_getFilterParams(filter, parsedArgs, optional)
+ {
+ var filterParams =
+ {
+ query: "+PATH:\"" + parsedArgs.pathNode.qnamePath + "/*\"",
+ limitResults: null,
+ sort: [
+ {
+ column: "@cm:name",
+ ascending: true
+ }],
+ language: "lucene",
+ templates: null,
+ variablePath: true,
+ ignoreTypes: Filters.IGNORED_TYPES
+ };
+
+ optional = optional || {};
+
+ // Sorting parameters specified?
+ var sortAscending = args.sortAsc,
+ sortField = args.sortField;
+
+ if (sortAscending == "false")
+ {
+ filterParams.sort[0].ascending = false;
+ }
+ if (sortField !== null)
+ {
+ filterParams.sort[0].column = (sortField.indexOf(":") != -1 ? "@" : "") + sortField;
+ }
+
+ // Max returned results specified?
+ var argMax = args.max;
+ if ((argMax !== null) && !isNaN(argMax))
+ {
+ filterParams.limitResults = argMax;
+ }
+
+ var favourites = optional.favourites;
+ if (typeof favourites == "undefined")
+ {
+ favourites = [];
+ }
+
+ // Create query based on passed-in arguments
+ var filterData = String(args.filterData),
+ filterQuery = "";
+
+ // Common types and aspects to filter from the UI - known subtypes of cm:content and cm:folder
+ var filterQueryDefaults = ' -TYPE:"' + Filters.IGNORED_TYPES.join('" -TYPE:"') + '"';
+
+ switch (String(filter))
+ {
+ case "all":
+ filterQuery = "+PATH:\"" + parsedArgs.rootNode.qnamePath + "//*\"";
+ filterQuery += " +TYPE:\"cm:content\"";
+ filterParams.query = filterQuery + filterQueryDefaults;
+ break;
+
+ case "recentlyAdded":
+ case "recentlyModified":
+ case "recentlyCreatedByMe":
+ case "recentlyModifiedByMe":
+ var onlySelf = (filter.indexOf("ByMe")) > 0 ? true : false,
+ dateField = (filter.indexOf("Modified") > 0) ? "modified" : "created",
+ ownerField = (dateField == "created") ? "creator" : "modifier";
+
+ // Default to 7 days - can be overridden using "days" argument
+ var dayCount = 7,
+ argDays = args.days;
+ if ((argDays !== null) && !isNaN(argDays))
+ {
+ dayCount = argDays;
+ }
+
+ // Default limit to 50 documents - can be overridden using "max" argument
+ if (filterParams.limitResults === null)
+ {
+ filterParams.limitResults = 50;
+ }
+
+ var date = new Date();
+ var toQuery = date.getFullYear() + "\\-" + (date.getMonth() + 1) + "\\-" + date.getDate();
+ date.setDate(date.getDate() - dayCount);
+ var fromQuery = date.getFullYear() + "\\-" + (date.getMonth() + 1) + "\\-" + date.getDate();
+
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@cm\\:" + dateField + ":[" + fromQuery + "T00\\:00\\:00.000 TO " + toQuery + "T23\\:59\\:59.999]";
+ if (onlySelf)
+ {
+ filterQuery += " +@cm\\:" + ownerField + ":\"" + person.properties.userName + '"';
+ }
+ filterQuery += " +TYPE:\"cm:content\"";
+
+ filterParams.sort = [
+ {
+ column: "@cm:" + dateField,
+ ascending: false
+ }];
+ filterParams.query = filterQuery + filterQueryDefaults;
+ break;
+
+ case "editingMe":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +((+ASPECT:\"workingcopy\"";
+ filterQuery += " +@cm\\:workingCopyOwner:\"" + person.properties.userName + '")';
+ filterQuery += " OR (+@cm\\:lockOwner:\"" + person.properties.userName + '"';
+ filterQuery += " +@cm\\:lockType:\"WRITE_LOCK\"))";
+ filterParams.query = filterQuery;
+ break;
+
+ case "editingOthers":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +((+ASPECT:\"workingcopy\"";
+ filterQuery += " -@cm\\:workingCopyOwner:\"" + person.properties.userName + '")';
+ filterQuery += " OR (-@cm\\:lockOwner:\"" + person.properties.userName + '"';
+ filterQuery += " +@cm\\:lockType:\"WRITE_LOCK\"))";
+ filterParams.query = filterQuery;
+ break;
+
+ //CGQS-77
+ case "userhome":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +(PARENT:\"" + userhome.nodeRef+"\")";
+ filterParams.query = filterQuery;
+ break;
+
+ case "favourites":
+ for (var favourite in favourites)
+ {
+ if (filterQuery)
+ {
+ filterQuery += " OR ";
+ }
+ filterQuery += "ID:\"" + favourite + "\"";
+ }
+
+ if (filterQuery.length !== 0)
+ {
+ filterQuery = "+(" + filterQuery + ")";
+ // no need to specify path here for all sites - IDs are exact matches
+ if (parsedArgs.nodeRef != "alfresco://sites/home")
+ {
+ filterQuery += ' +PATH:"' + parsedArgs.rootNode.qnamePath + '//*"';
+ }
+ }
+ else
+ {
+ // empty favourites query
+ filterQuery = "+ID:\"\"";
+ }
+
+ filterParams.query = filterQuery;
+ break;
+
+ case "node":
+ filterParams.variablePath = false;
+ filterParams.query = "+ID:\"" + parsedArgs.nodeRef + "\"";
+ break;
+
+ case "tag":
+ // Remove any trailing "/" character
+ if (filterData.charAt(filterData.length - 1) == "/")
+ {
+ filterData = filterData.slice(0, -1);
+ }
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterParams.query = filterQuery + " +PATH:\"/cm:taggable/cm:" + search.ISO9075Encode(filterData) + "/member\"";
+ break;
+
+ case "category":
+ // Remove any trailing "/" character
+ if (filterData.charAt(filterData.length - 1) == "/")
+ {
+ filterData = filterData.slice(0, -1);
+ }
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterParams.query = filterQuery + " +PATH:\"/cm:generalclassifiable" + Filters.iso9075EncodePath(filterData) + "/member\"";
+ break;
+
+ case "aspect":
+ filterQuery = "+PATH:\"" + parsedArgs.rootNode.qnamePath + "//*\"";
+ filterQuery += "+ASPECT:\"" + args.filterData + "\"";
+ filterParams.query = filterQuery;
+ break;
+
+ //SAEM-120
+ case "archiveIntermediaire":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@saem\\:archive_state_prop:\"" + "intermediaire\"";
+ filterParams.query = filterQuery;
+ break;
+
+ case "archiveDefinitif":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@saem\\:archive_state_prop:\"" + "definitif\"";
+ filterParams.query = filterQuery;
+ break;
+
+ case "archiveNormale":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@saem\\:archive_state_prop:\"" + "normal\"";
+ filterParams.query = filterQuery;
+ break;
+
+ case "archiveVerser":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@saem\\:archive_state_prop:\"" + "verser\"";
+ filterParams.query = filterQuery;
+ break;
+
+ case "archiveEliminer":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@saem\\:archive_state_prop:\"" + "eliminer\"";
+ filterParams.query = filterQuery;
+ break;
+
+ case "archiveRestituer":
+ filterQuery = this.constructPathQuery(parsedArgs);
+ filterQuery += " +@saem\\:archive_state_prop:\"" + "restituer\"";
+ filterParams.query = filterQuery;
+ break;
+
+ default: // "path"
+ filterParams.variablePath = false;
+ filterQuery = "+PATH:\"" + parsedArgs.pathNode.qnamePath + "/*\"";
+ filterParams.query = filterQuery + filterQueryDefaults;
+ break;
+ }
+
+ // Specialise by passed-in type
+ if (filterParams.query !== "")
+ {
+ filterParams.query += " " + (Filters.TYPE_MAP[parsedArgs.type] || "");
+ }
+
+ return filterParams;
+ },
+
+ constructPathQuery: function constructPathQuery(parsedArgs)
+ {
+ var pathQuery = "";
+ if (parsedArgs.nodeRef != "alfresco://company/home")
+ {
+ pathQuery = '+PATH:"' + parsedArgs.rootNode.qnamePath + '//*"';
+ }
+ return pathQuery;
+ }
+};
--- /dev/null
+
+<webscript>
+ <shortname>elimination-confirmation</shortname>
+ <description>launches the one-step workflow that confirms an elimination</description>
+ <url>/saem/elimination-confirmation?archiveIdentifier={archiveIdentifier}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>expired-dua</shortname>
+ <description>Return Expired DUA</description>
+ <url>/saem/expired-dua</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>Get document path</shortname>
+ <description>Get document path</description>
+ <url>/saem/search?folderId={folderId?}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
\ No newline at end of file
--- /dev/null
+<#include "get-document-path.get.json.ftl">
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/search/search.lib.js">
+function main()
+{
+
+ model.data = processResults([search.findNode(args.folderId)],1,resolveRootNode("alfresco://company/home"));
+}
+
+main();
\ No newline at end of file
--- /dev/null
+<#escape x as jsonUtils.encodeJSONString(x)>
+{
+ "items":
+ [
+ <#list data.items as item>
+ {
+ "nodeRef": "${item.nodeRef}",
+ "type": "${item.type}",
+ "name": "${item.name!''}",
+ "displayName": "${item.displayName!''}",
+ <#if item.title??>
+ "title": "${item.title}",
+ </#if>
+ "description": "${item.description!''}",
+ "modifiedOn": "${xmldate(item.modifiedOn)}",
+ "modifiedByUser": "${item.modifiedByUser}",
+ "modifiedBy": "${item.modifiedBy}",
+ "size": ${item.size?c},
+ "mimetype": "${item.mimetype!''}",
+ <#if item.site??>
+ "site":
+ {
+ "shortName": "${item.site.shortName}",
+ "title": "${item.site.title}"
+ },
+ "container": "${item.container}",
+ </#if>
+ <#if item.path??>
+ "path": "${item.path}",
+ </#if>
+ "tags": [<#list item.tags as tag>"${tag}"<#if tag_has_next>,</#if></#list>]
+ }<#if item_has_next>,</#if>
+ </#list>
+ ]
+}
+</#escape>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>get-elimination-response</shortname>
+ <description>Returns if the one-step workflow has been accepted</description>
+ <url>/saem/get-elimination-response?archiveIdentifier={archiveIdentifier}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>Get profils SEDA</shortname>
+ <description>Get profils SEDA</description>
+ <url>/saem/get-profils-seda</url>
+ <format default="json">argument</format>
+ <transaction>required</transaction>
+ <authentication>user</authentication>
+</webscript>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/search/search.lib.js">
+
+function main(){
+ var siteName = ServiceVersantHelper.getServiceVersantSiteName();
+
+ model.data = [];
+
+ var request = "ASPECT:\"saem:profilable\" AND PATH:\"/app:company_home/st:sites/cm:" + siteName +"/cm:documentLibrary//*\"";
+ var scriptResults = search.luceneSearch(request);
+
+ var scriptNode, profilName, profilNodes;
+
+ for(var i = 0 ; i < scriptResults.length ; i++){
+ scriptNode = scriptResults[i];
+ profilName = scriptNode.properties["saem:profilName"]
+ profilNodes = search.luceneSearch("ASPECT:\"saem:profil\"");
+
+ for (var j=0 ; j < profilNodes.length ; j++){
+ if (profilNodes[j].properties["cm:name"] == profilName)
+ model.data.push({
+ nodeRef: profilNodes[j].nodeRef.toString(),
+ name:((profilNodes[j].properties["cm:title"]===null || profilNodes[j].properties["cm:title"]=="") ? profilNodes[j].name : profilNodes[j].properties["cm:title"])
+ });
+ }
+ }
+};
+
+main();
\ No newline at end of file
--- /dev/null
+<#escape x as jsonUtils.encodeJSONString(x)>
+{
+ "items":
+ [
+ <#list data as item>
+ {
+ "nodeRef": "${item.nodeRef!''}",
+ "name": "${item.name!''}"
+ }<#if item_has_next>,</#if>
+ </#list>
+ ]
+}
+</#escape>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>get-seda-properties</shortname>
+ <description>Récupération des propriétés SEDA</description>
+ <url>/saem/get-seda-properties</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>is-archive-bordereau-viewable</shortname>
+ <description>Evaluates if a archive bordereau is viewable</description>
+ <url>/saem/is-archive-bordereau-viewable</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>is-archive-launchable</shortname>
+ <description>Evaluates if a archive is launchable</description>
+ <url>/saem/is-archive-modifiable</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>is-document-bordereau-viewable</shortname>
+ <description>Evaluates if a document bordereau is viewable</description>
+ <url>/saem/is-document-bordereau-viewable</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>is-elimination-launchable</shortname>
+ <description>Evaluates if an elimination is launchable</description>
+ <url>/saem/is-elimination-launchable</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>is-restitution-launchable</shortname>
+ <description>Evaluates if an restitution is launchable</description>
+ <url>/saem/is-restitution-launchable</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>is-workflow-launchable</shortname>
+ <description>Evaluates if a workflow is launchable</description>
+ <url>/saem/is-workflow-launchable</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>launch-elimination-action</shortname>
+ <description>Launches the elimination action over the noderef in parameter</description>
+ <url>/saem/launch-elimination-action?noderef={noderef}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>my-treatments</shortname>
+ <description>Return treatments</description>
+ <url>/saem/myTreatments</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>preVersementDestination</shortname>
+ <description>Return destination for preVersement</description>
+ <url>/saem/preVersementDestination</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
--- /dev/null
+<webscript>
+ <shortname>Get Service Versant info</shortname>
+ <description>Return informations for New Archive Create Button</description>
+ <url>/saem/serviceversantinfos?siteName={siteName}</url>
+ <authentication>user</authentication>
+ <format default="json">extension</format>
+ <transaction>required</transaction>
+</webscript>
\ No newline at end of file
--- /dev/null
+function main() {
+ var siteName = args.siteName;
+
+ model.isSiteServiceVersant = ServiceVersantHelper.isSiteServiceVersant(siteName).toString();
+ model.siteServiceVersantDocLibNodeRef = ServiceVersantHelper.getDocumentLibraryNodeRef();
+ model.hasAddChildrenPermission = ServiceVersantHelper.hasAddChildrenPermission().toString();
+}
+main();
\ No newline at end of file
--- /dev/null
+{
+ "isSiteServiceVersant": "${isSiteServiceVersant}",
+ "siteServiceVersantDocLibNodeRef": "${siteServiceVersantDocLibNodeRef}",
+ "hasAddChildrenPermission": "${hasAddChildrenPermission}"
+}
--- /dev/null
+<webscript>
+ <shortname>Start-workflow-elimination</shortname>
+ <description>Start workflow elimination</description>
+ <url>/saem/startWorkFlow?nodeRef={nodeRef}</url>
+ <format default="json">argument</format>
+ <authentication>user</authentication>
+</webscript>
\ No newline at end of file
--- /dev/null
+function main()
+{
+
+ var nodeRef = args.nodeRef;
+ var docNode = search.findNode(nodeRef);
+
+ // Start workflow
+ var wfdef = workflow.getDefinitionByName("activiti$wfElimination");
+ if (wfdef) {
+ var wfparams = new Array();
+ wfparams["bpm:workflowDescription"] = "Workflow d'elimination";
+ // wfparams["bpm:candidate_group"] = people.getPerson("admin"); //personne assignée à la tache
+ // wfparams['bpm:workflowPriority'] = 1;
+ wfparams['wf:notifyMe'] = false;
+
+ var wfpackage = workflow.createPackage();
+ wfpackage.addNode(docNode);
+
+ var wfpath = wfdef.startWorkflow(wfpackage, wfparams);
+ }
+
+}
+
+main();
\ No newline at end of file
--- /dev/null
+{
+ "result" : "ok"
+}
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>submit-create-archive-popup</shortname>
+ <description>Create Archive Submit Popup</description>
+ <format default="json" />
+ <url>/saem/submit-create-archive-popup</url>
+</webscript>
--- /dev/null
+{
+ "url":${url?string}
+ "success": ${success?string}
+<#if code?exists>, "code": ${code}</#if>
+<#if error?exists>, "error": "${error}"</#if>
+}
\ No newline at end of file
--- /dev/null
+
+function main(){
+ var destinatioNodeRef, profileNodeRef, response;
+
+ var clientRequest = json.toString();
+ var clientJSON = eval('(' + clientRequest + ')');
+
+ destinationNodeRef = clientJSON.destination.toString();
+ profileNodeRef = clientJSON.profils.toString();
+
+ model.url = "create-archive?" + "path=" + destinationNodeRef + "&profile=" + profileNodeRef;
+ model.success = true;
+};
+
+main();
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>SAEM document archive uploader</shortname>
+ <description>Form pour uploader les fichiers des archives</description>
+ <url>/components/form/upload</url>
+ <authentication>user</authentication>
+</webscript>
\ No newline at end of file
--- /dev/null
+ <form action="/share/proxy/alfresco/components/form/upload" method="post" enctype="multipart/form-data" accept-charset="utf-8">
+ <table>
+ <tr><td></td><td><input type="file" name="file"></td></tr>
+ <tr style="display:none"><td>Destination:</td><td><input name="dest"></td></tr>
+ <tr style="display:none"><td></td><td><input type="submit"></td></tr>
+ </table>
+ </form>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>SAEM document archive uploader</shortname>
+ <description>Form pour uploader les fichiers des archives</description>
+ <url>/components/form/upload</url>
+ <authentication>user</authentication>
+</webscript>
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <title>Upload Web Script Sample</title>
+ <link rel="stylesheet" href="${url.context}/css/main.css" TYPE="text/css">
+ </head>
+ <body>
+ <div id="result">OK</div>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+var filename = null;
+var content = null;
+var destination = null;
+
+// locate file attributes
+for each (field in formdata.fields)
+{
+ if (field.name == "dest")
+ {
+ destination = field.value;
+ }
+ else if (field.name == "file" && field.isFile)
+ {
+ filename = field.filename;
+ content = field.content;
+ }
+}
+
+// ensure mandatory file attributes have been located
+if (filename == undefined || content == undefined || destination == undefined)
+{
+ status.code = 400;
+ status.message = "Uploaded file cannot be located in request";
+ status.redirect = true;
+}
+else
+{
+ // create document in company home for uploaded file
+ upload = search.findNode(destination);
+
+ upload.properties.content.write(content);
+ upload.properties.content.setEncoding("UTF-8");
+ upload.properties.content.guessMimetype(filename);
+ upload.save();
+
+ // setup model for response template
+ model.upload = upload;
+}
\ No newline at end of file
--- /dev/null
+<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0"
+ xmlns:cm="http://www.alfresco.org/model/content/1.0" xmlns:app="http://www.alfresco.org/model/application/1.0"
+ xmlns:emailserver="http://www.alfresco.org/model/emailserver/1.0">
+
+<cm:folder view:childName="cm:saem_email_templates">
+ <app:uifacets />
+ <cm:name>SAEM Email Templates</cm:name>
+ <app:icon>space-icon-default</app:icon>
+ <cm:title>SAEM Email Templates</cm:title>
+ <cm:description></cm:description>
+ <cm:contains>
+ <cm:content view:childName="cm:saemwf-email-versement_fr.html.ftl">
+ <view:aspects>
+ <cm:titled />
+ <cm:author />
+ <app:inlineeditable />
+ </view:aspects>
+ <view:properties>
+ <app:editInline>true</app:editInline>
+ <cm:description>Template d'email pour le workflow de versement SAEM</cm:description>
+ <cm:content>contentUrl=classpath:alfresco/module/eu_akka_alfresco/bootstrap/saemwf-email-versement_fr.html.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=fr_FR_</cm:content>
+ <cm:title>SAEM template mail</cm:title>
+ <cm:author>Me</cm:author>
+ <cm:name>saemwf-email-versement_fr.html.ftl</cm:name>
+ </view:properties>
+ <view:associations></view:associations>
+ </cm:content>
+ <cm:content view:childName="cm:saemwf-email-versement.html.ftl">
+ <view:aspects>
+ <cm:titled />
+ <cm:author />
+ <app:inlineeditable />
+ </view:aspects>
+ <view:properties>
+ <app:editInline>true</app:editInline>
+ <cm:description>Template d'email pour le workflow de versement SAEM</cm:description>
+ <cm:content>contentUrl=classpath:alfresco/module/eu_akka_alfresco/bootstrap/saemwf-email-versement.html.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content>
+ <cm:title>SAEM template mail</cm:title>
+ <cm:author>Me</cm:author>
+ <cm:name>saemwf-email-versement.html.ftl</cm:name>
+ </view:properties>
+ <view:associations></view:associations>
+ </cm:content>
+ </cm:contains>
+ <cm:contains>
+ <cm:content view:childName="cm:saemwf-email-elimination_fr.html.ftl">
+ <view:aspects>
+ <cm:titled />
+ <cm:author />
+ <app:inlineeditable />
+ </view:aspects>
+ <view:properties>
+ <app:editInline>true</app:editInline>
+ <cm:description>Template d'email pour le workflow d'élimination SAEM</cm:description>
+ <cm:content>contentUrl=classpath:alfresco/module/eu_akka_alfresco/bootstrap/saemwf-email-elimination_fr.html.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=fr_FR_</cm:content>
+ <cm:title>SAEM template mail</cm:title>
+ <cm:author>Me</cm:author>
+ <cm:name>saemwf-email-elimination_fr.html.ftl</cm:name>
+ </view:properties>
+ <view:associations></view:associations>
+ </cm:content>
+ <cm:content view:childName="cm:saemwf-email-elimination.html.ftl">
+ <view:aspects>
+ <cm:titled />
+ <cm:author />
+ <app:inlineeditable />
+ </view:aspects>
+ <view:properties>
+ <app:editInline>true</app:editInline>
+ <cm:description>Template d'email pour le workflow d'élimination SAEM</cm:description>
+ <cm:content>contentUrl=classpath:alfresco/module/eu_akka_alfresco/bootstrap/saemwf-email-elimination.html.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content>
+ <cm:title>SAEM template mail</cm:title>
+ <cm:author>Me</cm:author>
+ <cm:name>saemwf-email-elimination.html.ftl</cm:name>
+ </view:properties>
+ <view:associations></view:associations>
+ </cm:content>
+ </cm:contains>
+ </cm:folder>
+</view:view>
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <style type="text/css"><!--
+ body
+ {
+ font-family: Arial, sans-serif;
+ font-size: 14px;
+ color: #4c4c4c;
+ }
+
+ a, a:visited
+ {
+ color: #0072cf;
+ }
+ --></style>
+ </head>
+
+ <body bgcolor="#dddddd">
+ <table width="100%" cellpadding="20" cellspacing="0" border="0" bgcolor="#dddddd">
+ <tr>
+ <td width="100%" align="center">
+ <table width="70%" cellpadding="0" cellspacing="0" bgcolor="white" style="background-color: white; border: 1px solid #aaaaaa;">
+ <tr>
+ <td width="100%">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td style="padding: 10px 30px 0px;">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <img src="${shareUrl}/res/components/images/task-64.png" alt="" width="64" height="64" border="0" style="padding-right: 20px;" />
+ </td>
+ <td>
+ <div style="font-size: 22px; padding-bottom: 4px;">
+ <#if args.svValidation == true>
+ Confirmation d'élimination : archive ${args.archiveName}
+ <#else>
+ Refus d'élimination : archive ${args.archiveName}
+ </#if>
+ </div>
+ <div style="font-size: 13px;">
+ ${date?datetime?string.full}
+ </div>
+ </td>
+ </tr>
+ </table>
+ <div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
+ <p>Bonjour,</p>
+
+ <p>
+ <#if args.svValidation == true>
+ L'élimination de l'archive <b>${args.archiveName}</b> a été validée par le service d'archives et est en attente de confirmation.
+ <#else>
+ L'élimination de l'archive <b>${args.archiveName}</b> a été rejetée par le service d'archives.
+ </#if>
+ </p>
+
+ <p>
+
+ <#if (args.workflowDocuments)??>
+ <table cellpadding="0" callspacing="0" border="0" bgcolor="#eeeeee" style="padding:10px; border: 1px solid #aaaaaa;">
+ <#list args.workflowDocuments as doc>
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td valign="top">
+ <img src="${shareUrl}/res/components/images/generic-file.png" alt="" width="64" height="64" border="0" style="padding-right: 10px;" />
+ </td>
+ <td>
+ <table cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td><b>${doc.name}</b></td>
+ </tr>
+ <tr>
+ <td>Cliquez sur ce lien pour accéder aux détails de l'archive :</td>
+ </tr>
+ <tr>
+ <td>
+ <a href="${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id}">
+ ${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id} </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <#if doc_has_next>
+ <tr><td><div style="border-top: 1px solid #aaaaaa; margin:12px;"></div></td></tr>
+ </#if>
+ </#list>
+ </table>
+ </#if>
+
+ <p>Cordialement,<br/>
+ Alfresco</p>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div style="border-top: 1px solid #aaaaaa;"> </div>
+ </td>
+ </tr>
+ <tr>
+ <td style="padding: 10px 30px;">
+ <img src="${shareUrl}/themes/default/images/app-logo.png" alt="" width="117" height="48" border="0" />
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <style type="text/css"><!--
+ body
+ {
+ font-family: Arial, sans-serif;
+ font-size: 14px;
+ color: #4c4c4c;
+ }
+
+ a, a:visited
+ {
+ color: #0072cf;
+ }
+ --></style>
+ </head>
+
+ <body bgcolor="#dddddd">
+ <table width="100%" cellpadding="20" cellspacing="0" border="0" bgcolor="#dddddd">
+ <tr>
+ <td width="100%" align="center">
+ <table width="70%" cellpadding="0" cellspacing="0" bgcolor="white" style="background-color: white; border: 1px solid #aaaaaa;">
+ <tr>
+ <td width="100%">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td style="padding: 10px 30px 0px;">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <img src="${shareUrl}/res/components/images/task-64.png" alt="" width="64" height="64" border="0" style="padding-right: 20px;" />
+ </td>
+ <td>
+ <div style="font-size: 22px; padding-bottom: 4px;">
+ <#if args.svValidation == true>
+ Confirmation d'élimination : archive ${args.archiveName}
+ <#else>
+ Refus d'élimination : archive ${args.archiveName}
+ </#if>
+ </div>
+ <div style="font-size: 13px;">
+ ${date?datetime?string.full}
+ </div>
+ </td>
+ </tr>
+ </table>
+ <div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
+ <p>Bonjour,</p>
+
+ <p>
+ <#if args.svValidation == true>
+ L'élimination de l'archive <b>${args.archiveName}</b> a été validée par le service d'archives et est en attente de confirmation.
+ <#else>
+ L'élimination de l'archive <b>${args.archiveName}</b> a été rejetée par le service d'archives.
+ </#if>
+ </p>
+
+ <p>
+
+ <#if (args.workflowDocuments)??>
+ <table cellpadding="0" callspacing="0" border="0" bgcolor="#eeeeee" style="padding:10px; border: 1px solid #aaaaaa;">
+ <#list args.workflowDocuments as doc>
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td valign="top">
+ <img src="${shareUrl}/res/components/images/generic-file.png" alt="" width="64" height="64" border="0" style="padding-right: 10px;" />
+ </td>
+ <td>
+ <table cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td><b>${doc.name}</b></td>
+ </tr>
+ <tr>
+ <td>Cliquez sur ce lien pour accéder aux détails de l'archive :</td>
+ </tr>
+ <tr>
+ <td>
+ <a href="${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id}">
+ ${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id} </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <#if doc_has_next>
+ <tr><td><div style="border-top: 1px solid #aaaaaa; margin:12px;"></div></td></tr>
+ </#if>
+ </#list>
+ </table>
+ </#if>
+
+ <p>Cordialement,<br/>
+ Alfresco</p>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div style="border-top: 1px solid #aaaaaa;"> </div>
+ </td>
+ </tr>
+ <tr>
+ <td style="padding: 10px 30px;">
+ <img src="${shareUrl}/themes/default/images/app-logo.png" alt="" width="117" height="48" border="0" />
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <style type="text/css"><!--
+ body
+ {
+ font-family: Arial, sans-serif;
+ font-size: 14px;
+ color: #4c4c4c;
+ }
+
+ a, a:visited
+ {
+ color: #0072cf;
+ }
+ --></style>
+ </head>
+
+ <body bgcolor="#dddddd">
+ <table width="100%" cellpadding="20" cellspacing="0" border="0" bgcolor="#dddddd">
+ <tr>
+ <td width="100%" align="center">
+ <table width="70%" cellpadding="0" cellspacing="0" bgcolor="white" style="background-color: white; border: 1px solid #aaaaaa;">
+ <tr>
+ <td width="100%">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td style="padding: 10px 30px 0px;">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <img src="${shareUrl}/res/components/images/task-64.png" alt="" width="64" height="64" border="0" style="padding-right: 20px;" />
+ </td>
+ <td>
+ <div style="font-size: 22px; padding-bottom: 4px;">
+ <#if args.workflowTerminated == true>
+ Confirmation de versement : archive ${args.archiveName}
+ <#else>
+ Correction de versement : archive ${args.archiveName}
+ </#if>
+ </div>
+ <div style="font-size: 13px;">
+ ${date?datetime?string.full}
+ </div>
+ </td>
+ </tr>
+ </table>
+ <div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
+ <p>Bonjour,</p>
+
+ <p>
+ <#if args.workflowTerminated == true>
+ Le versement de l'archive <b>${args.archiveName}</b> a été validée par le service d'archives et est en attente de confirmation.
+ <#else>
+ Le versement de l'archive <b>${args.archiveName}</b> a été rejeté par la service d'archives et est en attente de correction.
+ </#if>
+ </p>
+
+ <p>
+
+ <#if (args.workflowDocuments)??>
+ <table cellpadding="0" callspacing="0" border="0" bgcolor="#eeeeee" style="padding:10px; border: 1px solid #aaaaaa;">
+ <#list args.workflowDocuments as doc>
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td valign="top">
+ <img src="${shareUrl}/res/components/images/generic-file.png" alt="" width="64" height="64" border="0" style="padding-right: 10px;" />
+ </td>
+ <td>
+ <table cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td><b>${doc.name}</b></td>
+ </tr>
+ <tr>
+ <td>Cliquez sur ce lien pour accéder aux détails de l'archive :</td>
+ </tr>
+ <tr>
+ <td>
+ <a href="${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id}">
+ ${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id} </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <#if doc_has_next>
+ <tr><td><div style="border-top: 1px solid #aaaaaa; margin:12px;"></div></td></tr>
+ </#if>
+ </#list>
+ </table>
+ </#if>
+
+ <p>Cliquez sur ce lien pour voir la tâche :</p>
+ <p><a href="${shareUrl}/page/task-details?taskId=${args.taskId}">${shareUrl}/page/task-details?taskId=${args.taskId}</a>
+
+ <p>Cordialement,<br/>
+ Alfresco</p>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div style="border-top: 1px solid #aaaaaa;"> </div>
+ </td>
+ </tr>
+ <tr>
+ <td style="padding: 10px 30px;">
+ <img src="${shareUrl}/themes/default/images/app-logo.png" alt="" width="117" height="48" border="0" />
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<html>
+ <head>
+ <style type="text/css"><!--
+ body
+ {
+ font-family: Arial, sans-serif;
+ font-size: 14px;
+ color: #4c4c4c;
+ }
+
+ a, a:visited
+ {
+ color: #0072cf;
+ }
+ --></style>
+ </head>
+
+ <body bgcolor="#dddddd">
+ <table width="100%" cellpadding="20" cellspacing="0" border="0" bgcolor="#dddddd">
+ <tr>
+ <td width="100%" align="center">
+ <table width="70%" cellpadding="0" cellspacing="0" bgcolor="white" style="background-color: white; border: 1px solid #aaaaaa;">
+ <tr>
+ <td width="100%">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td style="padding: 10px 30px 0px;">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td>
+ <img src="${shareUrl}/res/components/images/task-64.png" alt="" width="64" height="64" border="0" style="padding-right: 20px;" />
+ </td>
+ <td>
+ <div style="font-size: 22px; padding-bottom: 4px;">
+ <#if args.workflowTerminated == true>
+ Confirmation de versement : archive ${args.archiveName}
+ <#else>
+ Correction de versement : archive ${args.archiveName}
+ </#if>
+ </div>
+ <div style="font-size: 13px;">
+ ${date?datetime?string.full}
+ </div>
+ </td>
+ </tr>
+ </table>
+ <div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
+ <p>Bonjour,</p>
+
+ <p>
+ <#if args.workflowTerminated == true>
+ Le versement de l'archive <b>${args.archiveName}</b> a été validée par le service d'archives et est en attente de confirmation.
+ <#else>
+ Le versement de l'archive <b>${args.archiveName}</b> a été rejeté par la service d'archives et est en attente de correction.
+ </#if>
+ </p>
+
+ <p>
+
+ <#if (args.workflowDocuments)??>
+ <table cellpadding="0" callspacing="0" border="0" bgcolor="#eeeeee" style="padding:10px; border: 1px solid #aaaaaa;">
+ <#list args.workflowDocuments as doc>
+ <tr>
+ <td>
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td valign="top">
+ <img src="${shareUrl}/res/components/images/generic-file.png" alt="" width="64" height="64" border="0" style="padding-right: 10px;" />
+ </td>
+ <td>
+ <table cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td><b>${doc.name}</b></td>
+ </tr>
+ <tr>
+ <td>Cliquez sur ce lien pour accéder aux détails de l'archive :</td>
+ </tr>
+ <tr>
+ <td>
+ <a href="${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id}">
+ ${shareUrl}/page/site/${args.siteName}/folder-details?nodeRef=workspace://SpacesStore/${doc.id} </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <#if doc_has_next>
+ <tr><td><div style="border-top: 1px solid #aaaaaa; margin:12px;"></div></td></tr>
+ </#if>
+ </#list>
+ </table>
+ </#if>
+
+ <p>Cliquez sur ce lien pour voir la tâche :</p>
+ <p><a href="${shareUrl}/page/task-details?taskId=${args.taskId}">${shareUrl}/page/task-details?taskId=${args.taskId}</a>
+
+ <p>Cordialement,<br/>
+ Alfresco</p>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div style="border-top: 1px solid #aaaaaa;"> </div>
+ </td>
+ </tr>
+ <tr>
+ <td style="padding: 10px 30px;">
+ <img src="${shareUrl}/themes/default/images/app-logo.png" alt="" width="117" height="48" border="0" />
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ http://www.springframework.org/schema/aop
+ http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
+
+ <bean id="uploadToAsalaeTask" parent="baseJavaScriptExtension"
+ class="eu.akka.saem.alfresco.actions.TransfertBigFileToAsalae">
+ <property name="extensionName">
+ <value>uploadToAsalaeTask</value>
+ </property>
+ <property name="serviceRegistry" ref="ServiceRegistry" />
+ <property name="nodeService" ref="NodeService" />
+ <property name="searchService" ref="SearchService" />
+ <property name="fileFolderService" ref="FileFolderService" />
+ <property name="contentService" ref="ContentService" />
+ <property name="propertyReader" ref="propertyReader" />
+ </bean>
+
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN'
+'http://www.springframework.org/dtd/spring-beans.dtd'>
+<beans>
+ <bean id="asalae-elimination" class="eu.akka.saem.alfresco.action.AsalaeEliminationAction"
+ parent="action-executer">
+ <property name="nodeService" ref="nodeService" />
+ <property name="profilSEDAUtils" ref="profilSEDAUtils" />
+ <property name="propertyReader" ref="propertyReader" />
+ <property name="authenticationService" ref="authenticationService" />
+ </bean>
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
+
+<beans>
+
+ <bean id="akka.dictionaryBootstrap" parent="dictionaryModelBootstrap"
+ depends-on="dictionaryBootstrap">
+ <property name="models">
+ <list>
+ <value>alfresco/module/eu_akka_alfresco/model/saemContentModel.xml</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean id="propertyReader" class="eu.akka.saem.alfresco.helper.PropertyReader" />
+
+ <bean id="profilSEDAUtils" class="eu.akka.saem.alfresco.utils.ProfilSEDAUtils">
+ <property name="namespaceService" ref="namespaceService" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="searchService" ref="searchService" />
+ </bean>
+
+ <bean id="profilArchivageFormFilterType" class="eu.akka.saem.alfresco.form.ProfilArchivageFormFilter"
+ parent="baseFormFilter">
+ <property name="filterRegistry" ref="typeFilterRegistry" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="namespaceService" ref="namespaceService" />
+ <property name="profilSEDAUtils" ref="profilSEDAUtils" />
+ </bean>
+
+ <bean id="profilArchivageFormFilterNode" class="eu.akka.saem.alfresco.form.ProfilArchivageFormFilter"
+ parent="baseFormFilter">
+ <property name="filterRegistry" ref="nodeFilterRegistry" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="namespaceService" ref="namespaceService" />
+ <property name="profilSEDAUtils" ref="profilSEDAUtils" />
+ </bean>
+
+ <bean id="webscript.saem.create-archive.get" class="eu.akka.saem.alfresco.webscript.CreateArchiveBean"
+ parent="webscript">
+ <property name="contentService" ref="contentService" />
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+ <bean id="webscript.saem.archivemanagement.get" class="eu.akka.saem.alfresco.webscript.ArchiveManagementForm"
+ parent="webscript">
+ <property name="contentService" ref="contentService" />
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+ <bean id="webscript.saem.archivemanagement.post" class="eu.akka.saem.alfresco.webscript.ArchiveManagementFormPost"
+ parent="webscript">
+ <property name="contentService" ref="contentService" />
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+ <bean id="webscript.saem.asalaereponse.get" class="eu.akka.saem.alfresco.webscript.AsalaeReponseBean"
+ parent="webscript">
+ <property name="contentService" ref="contentService" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="searchService" ref="searchService" />
+ <property name="siteService" ref="siteService" />
+ <property name="serviceRegistry" ref="ServiceRegistry" />
+ <property name="profilSEDAUtils" ref="profilSEDAUtils"/>
+ <property name="fileFolderService" ref="fileFolderService" />
+ <property name="propertyReader" ref="propertyReader" />
+ </bean>
+
+ <bean id="webscript.saem.launch-elimination-action.get" class="eu.akka.saem.alfresco.webscript.LaunchEliminationAction"
+ parent="webscript">
+ <property name="actionService" ref="actionService" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="workflowService" ref="WorkflowService" />
+ </bean>
+
+ <bean id="webscript.saem.get-seda-properties.get" class="eu.akka.saem.alfresco.webscript.GetSedaPropertiesBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="profilSEDAUtils" ref="profilSEDAUtils" />
+ <property name="contentService" ref="contentService" />
+ </bean>
+
+ <bean id="webscript.saem.create-archive.post" class="eu.akka.saem.alfresco.webscript.CreateArchiveBeanPost"
+ parent="webscript">
+ <property name="fileFolderService" ref="fileFolderService" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="contentService" ref="contentService" />
+ <property name="searchService" ref="searchService" />
+ <property name="propertyReader" ref="propertyReader" />
+ <property name="namespaceService" ref="namespaceService" />
+ <property name="serviceVersantHelper" ref="ServiceVersantHelper" />
+ </bean>
+
+ <bean id="webscript.saem.is-workflow-launchable.get"
+ class="eu.akka.saem.alfresco.webscript.IsWorkflowLaunchableBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="workflowService" ref="WorkflowService" />
+ </bean>
+
+ <bean id="webscript.saem.is-archive-modifiable.get"
+ class="eu.akka.saem.alfresco.webscript.IsArchiveModifiableBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="permissionService" ref="permissionService" />
+ </bean>
+
+ <bean id="webscript.saem.is-archive-bordereau-viewable.get"
+ class="eu.akka.saem.alfresco.webscript.IsArchiveBordereauViewableBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="permissionService" ref="permissionService" />
+ </bean>
+
+ <bean id="webscript.saem.is-document-bordereau-viewable.get"
+ class="eu.akka.saem.alfresco.webscript.IsDocumentBordereauViewableBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="permissionService" ref="permissionService" />
+ </bean>
+
+ <bean id="webscript.saem.is-restitution-launchable.get"
+ class="eu.akka.saem.alfresco.webscript.IsRestitutionLaunchableBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+ <bean id="webscript.saem.is-elimination-launchable.get"
+ class="eu.akka.saem.alfresco.webscript.IsEliminationLaunchableBean"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+ <bean id="webscript.saem.elimination-confirmation.get"
+ class="eu.akka.saem.alfresco.webscript.EliminationConfirmation"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="workflowService" ref="WorkflowService" />
+ <property name="searchService" ref="searchService" />
+ </bean>
+
+ <bean id="webscript.saem.get-elimination-response.get"
+ class="eu.akka.saem.alfresco.webscript.GetEliminationResponse"
+ parent="webscript">
+ <property name="nodeService" ref="nodeService" />
+ <property name="searchService" ref="searchService" />
+ </bean>
+
+ <bean id="webscript.saem.expired-dua.get" class="eu.akka.saem.alfresco.webscript.GetDuaExpireesBean"
+ parent="webscript">
+ <property name="searchService" ref="searchService" />
+ <property name="propertyReader" ref="propertyReader" />
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+ <bean id="webscript.saem.myTreatments.get" class="eu.akka.saem.alfresco.webscript.GetTreatmentsBean"
+ parent="webscript">
+ <property name="searchService" ref="searchService" />
+ <property name="propertyReader" ref="propertyReader" />
+ <property name="nodeService" ref="nodeService" />
+ <property name="authenticationService" ref="authenticationService" />
+ <property name="personService" ref="personService" />
+ <property name="authorityService" ref="authorityService" />
+ </bean>
+
+ <bean id="webscript.saem.preVersementDestination.get" class="eu.akka.saem.alfresco.webscript.GetDestinationPreVersement"
+ parent="webscript">
+ <property name="searchService" ref="searchService" />
+ <property name="nodeService" ref="nodeService" />
+ </bean>
+
+
+ <bean id="ServiceVersantHelper" parent="baseJavaScriptExtension"
+ class=" eu.akka.saem.alfresco.helper.ServiceVersantHelper">
+ <property name="extensionName">
+ <value>ServiceVersantHelper</value>
+ </property>
+ <property name="siteService" ref="siteService" />
+ <property name="permissionService" ref="permissionService" />
+ <property name="propertyReader" ref="propertyReader" />
+ </bean>
+
+ <bean id="asalaeUtils" class="eu.akka.saem.alfresco.connector.asalae.util.AsalaeUtils" />
+
+ <bean id="zipUtils" class="eu.akka.saem.alfresco.utils.ZipUtils">
+ <property name="nodeService" ref="nodeService" />
+ <property name="contentService" ref="contentService" />
+ <property name="dictionaryService" ref="dictionaryService" />
+ </bean>
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
+<beans>
+
+ <!-- Ajout du fichier saem.properties dans les fichiers de propriétés pris en compte -->
+ <!-- Global properties used in property expansion throughout the container, overridable
+ via JNDI or System properties -->
+ <bean id="global-properties" class="org.alfresco.config.JndiPropertiesFactoryBean">
+ <property name="locations">
+ <list>
+ <value>classpath:alfresco/repository.properties</value>
+ <value>classpath:alfresco/domain/transaction.properties</value>
+ <!-- Enterprise defaults -->
+ <!-- Overrides supplied if this is an enterprise install (none exist for community) -->
+ <value>classpath*:alfresco/enterprise/repository.properties</value>
+ <!-- <value>classpath:alfresco/jndi.properties</value> -->
+ <!-- Overrides supplied by modules -->
+ <value>classpath*:alfresco/module/*/alfresco-global.properties</value>
+ <!-- Installer or user-provided defaults -->
+ <value>classpath*:alfresco-global.properties</value>
+ <value>classpath*:saem.properties</value>
+ </list>
+ </property>
+ <property name="systemPropertiesModeName">
+ <value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value>
+ </property>
+ <!-- Extra properties that have no defaults that we allow to be defined through JNDI
+ or System properties -->
+ <property name="systemProperties">
+ <list>
+ <value>hibernate.dialect</value>
+ <value>hibernate.query.substitutions</value>
+ <value>hibernate.jdbc.use_get_generated_keys</value>
+ <value>hibernate.default_schema</value>
+ </list>
+ </property>
+ <property name="propertiesPersister">
+ <bean class="org.alfresco.config.AlfrescoPropertiesPersister" />
+ </property>
+ </bean>
+
+ <!-- Ce bean va permettre la création automatique du dossier systeme profil SEDA -->
+ <bean id="createProfilSedaSystemFolderOnBootStrap"
+ class="eu.akka.saem.alfresco.bootstrap.CreateProfilSedaSystemFolderOnBootStrap"
+ init-method="init">
+ <property name="nodeService" ref="nodeService" />
+ <property name="ruleService" ref="ruleService" />
+ <property name="fileFolderService" ref="fileFolderService" />
+ <property name="propertyReader" ref="propertyReader" />
+ <property name="actionService" ref="actionService" />
+ <property name="retryingTransactionHelper" ref="retryingTransactionHelper" />
+ </bean>
+
+ <bean id="emailTemplatesBootstrap" parent="spacesStoreImporter" singleton="true">
+ <property name="useExistingStore">
+ <value>${deploy.custom.content}</value>
+ </property>
+ <property name="bootstrapViews">
+ <list>
+ <props>
+ <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}</prop>
+ <prop key="location">alfresco/module/eu_akka_alfresco/bootstrap/config_email_templates.xml</prop>
+ </props>
+ </list>
+ </property>
+ </bean>
+
+ <!-- Extend timeout to 6 hours -->
+ <bean id="ticketComponent" class="org.alfresco.repo.security.authentication.InMemoryTicketComponentImpl">
+ <property name="ticketsCache">
+ <ref bean="ticketsCache" />
+ </property>
+ <!-- The period for which tickets are valid in XML duration format. -->
+ <!-- The default is P1H for one hour. or PT1H -->
+ <property name="validDuration">
+ <value>P6H</value>
+ </property>
+ <!-- Do tickets expire or live for ever? -->
+ <property name="ticketsExpire">
+ <value>true</value>
+ </property>
+ <!-- Are tickets only valid for a single use? -->
+ <property name="oneOff">
+ <value>false</value>
+ </property>
+ <!-- If ticketsEpire is true then how they should expire -->
+ <!-- AFTER_INACTIVITY, AFTER_FIXED_TIME, DO_NOT_EXPIRE -->
+ <!-- The default is AFTER_FIXED_TIME -->
+ <property name="expiryMode">
+ <value>AFTER_FIXED_TIME</value>
+ </property>
+ </bean>
+
+</beans>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
+
+<beans>
+ <bean id="saem.workflowBootstrap" parent="workflowDeployer">
+ <property name="workflowDefinitions">
+ <list>
+ <props>
+ <prop key="engineId">activiti</prop>
+ <prop key="location">alfresco/module/eu_akka_alfresco/workflows/Versement.bpmn</prop>
+ <prop key="mimetype">text/xml</prop>
+ <prop key="redeploy">true</prop>
+ </props>
+ <props>
+ <prop key="engineId">activiti</prop>
+ <prop key="location">alfresco/module/eu_akka_alfresco/workflows/Elimination.bpmn</prop>
+ <prop key="mimetype">text/xml</prop>
+ <prop key="redeploy">true</prop>
+ </props>
+ <props>
+ <prop key="engineId">activiti</prop>
+ <prop key="location">alfresco/module/eu_akka_alfresco/workflows/Restitution.bpmn</prop>
+ <prop key="mimetype">text/xml</prop>
+ <prop key="redeploy">true</prop>
+ </props>
+ </list>
+ </property>
+ <property name="models">
+ <list>
+ <value>alfresco/module/eu_akka_alfresco/model/saemWorkflowModel.xml</value>
+ </list>
+ </property>
+ <property name="labels">
+ <list>
+ <value>alfresco.module.eu_akka_alfresco.message.saemWorkflow</value>
+ </list>
+ </property>
+ </bean>
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
+
+<beans>
+
+ <bean id="scheduledTransferBigFile" class="org.springframework.scheduling.quartz.JobDetailBean">
+ <property name="jobClass">
+ <value>org.alfresco.repo.jscript.ExecuteScriptJob</value>
+ </property>
+ <property name="jobDataAsMap">
+ <map>
+ <entry key="scriptLocation">
+ <bean class="org.alfresco.repo.jscript.ClasspathScriptLocation">
+ <constructor-arg>
+ <value>alfresco/module/eu_akka_alfresco/script/updateToAsalaeCaller.js</value>
+ </constructor-arg>
+ </bean>
+ </entry>
+
+ <entry key="scriptService">
+ <ref bean="ScriptService"/>
+ </entry>
+
+ <entry key="authenticationComponent">
+ <ref bean="authenticationComponent"/>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean id="scheduledTransferBigFileTrigger" class="org.alfresco.util.CronTriggerBean">
+ <property name="jobDetail">
+ <ref bean="scheduledTransferBigFile" />
+ </property>
+ <property name="scheduler">
+ <ref bean="schedulerFactory" />
+ </property>
+ <property name="cronExpression">
+ <value>0 0/2 * * * ?</value>
+ </property>
+ </bean>
+
+</beans>
\ No newline at end of file
--- /dev/null
+include.default=true
+/config/WEB-INF=/WEB-INF
+/config/axis2-web=/axis2-web
\ No newline at end of file
--- /dev/null
+#Workflow related strings
+wfVersement.workflow.title=Versement
+wfVersement.workflow.description=Verser une archive dans As@lae
+
+wfElimination.workflow.title=Elimination
+wfElimination.workflow.description=Eliminer une archive (ou un sous-objet d'archive) préalablement versée dans As@lae
+
+wfRestitution.workflow.title=Restitution
+wfRestitution.workflow.description=Restituter une archive préalablement versée dans As@lae
+
+#Workflow model related strings
+saemwf_approveRejectOutcome.title= Réponse
+saemwf_items.title=Dossier à traiter
+saemwf_commentary.title=Commentaire
+
+wfVersement.transition.title=Valider le versement
+wfVersement.transition.description=Valider le versement
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<model name="saem:contentmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
+
+ <description>SAEM Content Model</description>
+ <author>AKKA</author>
+ <version>1.0</version>
+
+ <imports>
+ <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
+ <import uri="http://www.alfresco.org/model/dictionary/1.0"
+ prefix="d" />
+ </imports>
+
+ <namespaces>
+ <namespace uri="http://www.akka.com/model/content/1.0"
+ prefix="saem" />
+ </namespaces>
+
+ <aspects>
+ <aspect name="saem:transfert_en_cours">
+ <title>Transfert en cours</title>
+ <properties>
+ <property name="saem:taille_telecharge">
+ <type>d:long</type>
+ </property>
+ <property name="saem:pourcentage_d_avancement">
+ <type>d:int</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:profilable">
+ <title>profilable</title>
+ <properties>
+ <property name="saem:profilName">
+ <type>d:text</type>
+ </property>
+ </properties>
+ <associations>
+ <association name="saem:serviceVersant">
+ <source>
+ <mandatory>false</mandatory>
+ <many>true</many>
+ </source>
+ <target>
+ <class>cm:authorityContainer</class>
+ <mandatory>false</mandatory>
+ <many>true</many>
+ </target>
+ </association>
+ </associations>
+ </aspect>
+
+ <aspect name="saem:profil">
+ <title>Profil SEDA</title>
+ <properties>
+ <property name="saem:isprofil">
+ <type>d:boolean</type>
+ <mandatory>true</mandatory>
+ <default>true</default>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:restituable">
+ <title>Archive restituable</title>
+ <properties>
+ <property name="saem:is_restituable">
+ <type>d:boolean</type>
+ <default>true</default>
+ </property>
+ <property name="saem:restitution_request_identifier">
+ <type>d:text</type>
+ </property>
+ <property name="saem:restitution_request_reply_identifier">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:archivable">
+ <title>Archivable</title>
+ <properties>
+ <property name="saem:isarchive">
+ <type>d:boolean</type>
+ <mandatory>true</mandatory>
+ <default>true</default>
+ </property>
+ <property name="saem:seda_object_model">
+ <type>d:any</type>
+ </property>
+ <property name="saem:seda_archive_profil_use_noderef">
+ <type>d:any</type>
+ </property>
+ <property name="saem:seda_archive">
+ <type>d:any</type>
+ </property>
+ <property name="saem:seda_archive_xml">
+ <type>d:text</type>
+ </property>
+ <property name="saem:seda_archive_xml_full">
+ <type>d:text</type>
+ </property>
+ <property name="saem:seda_versement_acknowledgment">
+ <type>d:text</type>
+ </property>
+ <property name="saem:seda_elimination_acknowledgment">
+ <type>d:text</type>
+ </property>
+ <property name="saem:seda_restitution_acknowledgment">
+ <type>d:text</type>
+ </property>
+ <property name="saem:seda_archive_ArchivalAgencyArchiveIdentifier">
+ <type>d:text</type>
+ </property>
+ <property name="saem:seda_archive_profil_model">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:searchable_after_versement">
+ <title>document dont le contenu a ete supprime suite a un versement
+ </title>
+ <properties>
+ <property name="saem:is_hidden">
+ <type>d:boolean</type>
+ <default>true</default>
+ </property>
+ <property name="saem:hidden_content">
+ <type>d:content</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:eliminable">
+ <title>Archive éliminable</title>
+ <properties>
+ <property name="saem:is_eliminable">
+ <type>d:boolean</type>
+ <default>true</default>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:verse">
+ <title>Archive versée</title>
+ <properties>
+ <property name="saem:is_verse">
+ <type>d:boolean</type>
+ <default>true</default>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:not_verse">
+ <title>Archive pas encore versée</title>
+ <properties>
+ <property name="saem:is_not_verse">
+ <type>d:boolean</type>
+ <default>true</default>
+ </property>
+ <property name="saem:elimination_initiator">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:sous_objet_archive">
+ <title>Sous objet d'archive</title>
+ <properties>
+ <property name="saem:seda_sous_objet_archive">
+ <type>d:any</type>
+ </property>
+ <property name="saem:seda_sous_objet_archive_xml">
+ <type>d:text</type>
+ </property>
+ <property
+ name="saem:seda_sous_objet_archive_ArchivalAgencyObjectIdentifier">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:document_archive">
+ <title>Document d'archive</title>
+ <properties>
+ <property name="saem:seda_document">
+ <type>d:any</type>
+ </property>
+ <property name="saem:seda_document_xml">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:is_accuse">
+ <title>Caracterise un accuse</title>
+ <properties>
+ <property name="saem:type_accuse">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:elimination_state">
+ <title>Etat de l'elimination d'une archive</title>
+ <properties>
+ <property name="saem:state">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:archive_state">
+ <title>Etat d'une archive</title>
+ <properties>
+ <property name="saem:archive_state_prop">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+
+ <aspect name="saem:profil_name">
+ <title>Etat d'une archive</title>
+ <properties>
+ <property name="saem:archive_profil_name">
+ <type>d:text</type>
+ </property>
+ </properties>
+ </aspect>
+ </aspects>
+
+</model>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<model name="saemwf:saemwfmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <description>SAEM Worflow Model</description>
+ <author>AKKA</author>
+ <version>1.0</version>
+
+ <!-- Imports are required to allow references to definitions in other models -->
+ <imports>
+ <!-- Import Alfresco Dictionary Definitions -->
+ <import uri="http://www.alfresco.org/model/dictionary/1.0"
+ prefix="d" />
+ <!-- Import Alfresco Content Domain Model Definitions -->
+ <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm" />
+ <!-- Import Alfresco Content Domain Model Definitions -->
+ <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
+ <!-- Import Alfresco Content Domain Model Definitions -->
+ <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="wf" />
+ </imports>
+
+ <namespaces>
+ <namespace uri="http://www.akka.com/model/workflows/1.0"
+ prefix="saemwf" />
+ </namespaces>
+
+ <types>
+ <type name="saemwf:activitiSAValidation">
+ <parent>bpm:activitiOutcomeTask</parent>
+ <properties>
+ <property name="saemwf:SAValidationApproveRejectOutcome">
+ <type>d:text</type>
+ <default>Rejeter</default>
+ <constraints>
+ <constraint type="LIST">
+ <parameter name="allowedValues">
+ <list>
+ <value>Accepter</value>
+ <value>Rejeter</value>
+ </list>
+ </parameter>
+ </constraint>
+ </constraints>
+ </property>
+ </properties>
+ <overrides>
+ <property name="bpm:packageItemActionGroup">
+ <default>read_package_item_actions</default>
+ </property>
+ <property name="bpm:outcomePropertyName">
+ <default>{http://www.akka.eu/model/workflows/1.0}SAValidationApproveRejectOutcome
+ </default>
+ </property>
+ </overrides>
+ <mandatory-aspects>
+ <aspect>saemwf:VersementVariables</aspect>
+ </mandatory-aspects>
+ </type>
+ <type name="saemwf:activitiSVValidation">
+ <parent>bpm:activitiOutcomeTask</parent>
+ <properties>
+ <property name="saemwf:SVValidationApproveRejectOutcome">
+ <type>d:text</type>
+ <default>Rejeter</default>
+ <constraints>
+ <constraint type="LIST">
+ <parameter name="allowedValues">
+ <list>
+ <value>Accepter</value>
+ <value>Rejeter</value>
+ </list>
+ </parameter>
+ </constraint>
+ </constraints>
+ </property>
+ </properties>
+ <overrides>
+ <property name="bpm:packageItemActionGroup">
+ <default>read_package_item_actions</default>
+ </property>
+ <property name="bpm:outcomePropertyName">
+ <default>{http://www.akka.eu/model/workflows/1.0}SVValidationApproveRejectOutcome
+ </default>
+ </property>
+ </overrides>
+ <mandatory-aspects>
+ <aspect>saemwf:VersementVariables</aspect>
+ </mandatory-aspects>
+ </type>
+ <type name="saemwf:activitiSVConfirmation">
+ <parent>bpm:activitiOutcomeTask</parent>
+ <mandatory-aspects>
+ <aspect>saemwf:VersementVariables</aspect>
+ </mandatory-aspects>
+ </type>
+ <type name="saemwf:activitiSVCorrection">
+ <parent>bpm:activitiOutcomeTask</parent>
+ <mandatory-aspects>
+ <aspect>saemwf:VersementVariables</aspect>
+ </mandatory-aspects>
+ </type>
+ </types>
+
+ <aspects>
+ <!-- SAEM-77 : Versement : Variables -->
+ <aspect name="saemwf:VersementVariables">
+ <title>Variables du workflow de versement</title>
+ <properties>
+ <property name="saemwf:SAValidation">
+ <type>d:boolean</type>
+ <protected>false</protected>
+ </property>
+ <property name="saemwf:comment">
+ <type>d:text</type>
+ <mandatory>false</mandatory>
+ <multiple>false</multiple>
+ </property>
+ </properties>
+ </aspect>
+ </aspects>
+</model>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
+
+ <import resource="classpath:alfresco/module/eu_akka_alfresco/context/saem-application-context.xml" />
+ <import resource="classpath:alfresco/module/eu_akka_alfresco/context/saem-bootstrap-context.xml" />
+ <import resource="classpath:alfresco/module/eu_akka_alfresco/context/saem-workflow-context.xml" />
+ <import resource="classpath:alfresco/module/eu_akka_alfresco/context/saem-action-context.xml" />
+ <import resource="classpath:alfresco/module/eu_akka_alfresco/context/custom-workflow-context.xml" />
+ <import resource="classpath:alfresco/module/eu_akka_alfresco/context/scheduled-action-services-context.xml" />
+
+</beans>
--- /dev/null
+# AKKA Code Alfresco Share Extension AMP Project
+module.id=eu_akka_alfresco
+module.title=Personnalisation de alfresco pour le projet SAEM
+module.description=Personnalisation de alfresco pour le projet SAEM
+module.version=1.0
+
+# The following optional properties can be used to prevent the module from being added
+# to inappropriate versions of the WAR file.
+module.repo.version.min=4.2
\ No newline at end of file
--- /dev/null
+
+function uploadBigFileToAsalae()
+{
+ if (logger.isLoggingEnabled()){
+ logger.log('Appel du fichier java');
+ }
+
+ uploadToAsalaeTask.uploadBigFile();
+
+
+}
+
+uploadBigFileToAsalae();
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="wfElimination" name="Elimination" isExecutable="true">
+ <startEvent id="start" name="Start" activiti:formKey="bpm:startTask"></startEvent>
+ <userTask id="SVValidation" name="Validation du service Versant" activiti:candidateGroups="GROUP_GG_APP_GED_VERSANT" activiti:formKey="saemwf:activitiSVValidation">
+ <extensionElements>
+ <activiti:taskListener event="complete" class="eu.akka.saem.alfresco.workflow.eliminitation.SVValidation"></activiti:taskListener>
+ </extensionElements>
+ </userTask>
+ <endEvent id="endevent1" name="End"></endEvent>
+ <sequenceFlow id="flow1" sourceRef="start" targetRef="SVValidation"></sequenceFlow>
+ <sequenceFlow id="flow2" sourceRef="SVValidation" targetRef="endevent1"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_wfElimination">
+ <bpmndi:BPMNPlane bpmnElement="wfElimination" id="BPMNPlane_wfElimination">
+ <bpmndi:BPMNShape bpmnElement="start" id="BPMNShape_start">
+ <omgdc:Bounds height="35.0" width="35.0" x="20.0" y="230.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="900.0" y="230.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="SVValidation" id="BPMNShape_SVValidation">
+ <omgdc:Bounds height="55.0" width="105.0" x="390.0" y="220.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="55.0" y="247.0"></omgdi:waypoint>
+ <omgdi:waypoint x="390.0" y="247.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
+ <omgdi:waypoint x="495.0" y="247.0"></omgdi:waypoint>
+ <omgdi:waypoint x="900.0" y="247.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://alfresco.org">
+ <process id="wfRestitution" name="Restitution" isExecutable="true">
+ <documentation>Workflow de restitution d'une archive</documentation>
+ <startEvent id="startevent1" name="Start"></startEvent>
+ <endEvent id="endevent1" name="End"></endEvent>
+ <userTask id="usertask1" name="User Task">
+ <extensionElements>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.restitution.AsalaeBordereauSender"></activiti:taskListener>
+ </extensionElements>
+ </userTask>
+ <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
+ <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="endevent1"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_wfRestitution">
+ <bpmndi:BPMNPlane bpmnElement="wfRestitution" id="BPMNPlane_wfRestitution">
+ <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="440.0" y="260.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
+ <omgdc:Bounds height="55.0" width="105.0" x="310.0" y="250.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="240.0" y="260.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="275.0" y="277.0"></omgdi:waypoint>
+ <omgdi:waypoint x="310.0" y="277.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
+ <omgdi:waypoint x="415.0" y="277.0"></omgdi:waypoint>
+ <omgdi:waypoint x="440.0" y="277.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://alfresco.org">
+ <process id="wfVersement" name="Versement" isExecutable="true">
+ <documentation>Workflow de versement d'une archive</documentation>
+ <startEvent id="start" name="start" activiti:formKey="bpm:startTask"></startEvent>
+ <userTask id="saValidation" name="Validation d'un versement" activiti:candidateGroups="GROUP_GG_APP_GED_ARCHIVE" activiti:formKey="saemwf:activitiSAValidation">
+ <extensionElements>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.SAValidation"></activiti:taskListener>
+ <activiti:taskListener event="complete" class="eu.akka.saem.alfresco.workflow.SAValidation"></activiti:taskListener>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.versement.SetCommentaries"></activiti:taskListener>
+ <activiti:taskListener event="complete" class="eu.akka.saem.alfresco.workflow.versement.SetCommentaries"></activiti:taskListener>
+ </extensionElements>
+ </userTask>
+ <userTask id="svCorrection" name="Correction d'un versement" activiti:candidateGroups="GROUP_GG_APP_GED_VERSANT" activiti:formKey="saemwf:activitiSVCorrection">
+ <extensionElements>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.SVCandidateGroupsSetter"></activiti:taskListener>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.SendMail"></activiti:taskListener>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.versement.SetCommentaries"></activiti:taskListener>
+ <activiti:taskListener event="complete" class="eu.akka.saem.alfresco.workflow.versement.SetCommentaries"></activiti:taskListener>
+ </extensionElements>
+ </userTask>
+ <userTask id="SVConfirmation" name="Confirmation du versement" activiti:candidateGroups="GROUP_GG_APP_GED_VERSANT" activiti:formKey="saemwf:activitiSVConfirmation">
+ <extensionElements>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.SVCandidateGroupsSetter"></activiti:taskListener>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.SendMail"></activiti:taskListener>
+ <activiti:taskListener event="create" class="eu.akka.saem.alfresco.workflow.versement.SetCommentaries"></activiti:taskListener>
+ <activiti:taskListener event="complete" class="eu.akka.saem.alfresco.workflow.versement.SetCommentaries"></activiti:taskListener>
+ </extensionElements>
+ </userTask>
+ <endEvent id="endevent1" name="End"></endEvent>
+ <serviceTask id="startTask" name="Start Task" activiti:class="eu.akka.saem.alfresco.workflow.versement.Start">
+ <extensionElements>
+ <activiti:executionListener event="start" class="eu.akka.saem.alfresco.workflow.versement.SuppressPermissionSV"></activiti:executionListener>
+ </extensionElements>
+ </serviceTask>
+ <serviceTask id="asalaeConnexion" name="Asalae connexion" activiti:class="eu.akka.saem.alfresco.workflow.versement.AsalaeConnexion"></serviceTask>
+ <serviceTask id="allowPermissionForCorrection" name="Allows to modify the archive" activiti:class="eu.akka.saem.alfresco.workflow.versement.AllowPermissionSV"></serviceTask>
+ <serviceTask id="suppressPermissionForCorrection" name="Suppresses the permission to modify the archive" activiti:class="eu.akka.saem.alfresco.workflow.versement.SuppressPermissionSV"></serviceTask>
+ <sequenceFlow id="flow1" sourceRef="start" targetRef="startTask"></sequenceFlow>
+ <sequenceFlow id="flow2" sourceRef="startTask" targetRef="saValidation"></sequenceFlow>
+ <sequenceFlow id="flow4" sourceRef="SVConfirmation" targetRef="asalaeConnexion"></sequenceFlow>
+ <sequenceFlow id="flow6" sourceRef="allowPermissionForCorrection" targetRef="svCorrection"></sequenceFlow>
+ <sequenceFlow id="flow7" sourceRef="svCorrection" targetRef="suppressPermissionForCorrection"></sequenceFlow>
+ <sequenceFlow id="flow8" sourceRef="suppressPermissionForCorrection" targetRef="saValidation"></sequenceFlow>
+ <sequenceFlow id="flow9" sourceRef="asalaeConnexion" targetRef="endevent1"></sequenceFlow>
+ <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
+ <sequenceFlow id="flow10" sourceRef="exclusivegateway1" targetRef="SVConfirmation">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${saemwf_SAValidation == true}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow11" sourceRef="saValidation" targetRef="exclusivegateway1"></sequenceFlow>
+ <sequenceFlow id="flow12" sourceRef="exclusivegateway1" targetRef="allowPermissionForCorrection">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${saemwf_SAValidation == false}]]></conditionExpression>
+ </sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_wfVersement">
+ <bpmndi:BPMNPlane bpmnElement="wfVersement" id="BPMNPlane_wfVersement">
+ <bpmndi:BPMNShape bpmnElement="start" id="BPMNShape_start">
+ <omgdc:Bounds height="35.0" width="35.0" x="-44.0" y="347.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="saValidation" id="BPMNShape_saValidation">
+ <omgdc:Bounds height="55.0" width="105.0" x="249.0" y="337.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="svCorrection" id="BPMNShape_svCorrection">
+ <omgdc:Bounds height="55.0" width="105.0" x="259.0" y="142.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="SVConfirmation" id="BPMNShape_SVConfirmation">
+ <omgdc:Bounds height="55.0" width="105.0" x="496.0" y="337.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="803.0" y="347.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="startTask" id="BPMNShape_startTask">
+ <omgdc:Bounds height="55.0" width="105.0" x="46.0" y="337.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="asalaeConnexion" id="BPMNShape_asalaeConnexion">
+ <omgdc:Bounds height="55.0" width="105.0" x="656.0" y="337.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="allowPermissionForCorrection" id="BPMNShape_allowPermissionForCorrection">
+ <omgdc:Bounds height="55.0" width="105.0" x="374.0" y="236.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="suppressPermissionForCorrection" id="BPMNShape_suppressPermissionForCorrection">
+ <omgdc:Bounds height="55.0" width="105.0" x="116.0" y="236.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
+ <omgdc:Bounds height="40.0" width="40.0" x="406.0" y="344.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
+ <omgdi:waypoint x="601.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="656.0" y="364.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
+ <omgdi:waypoint x="426.0" y="236.0"></omgdi:waypoint>
+ <omgdi:waypoint x="311.0" y="197.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
+ <omgdi:waypoint x="168.0" y="291.0"></omgdi:waypoint>
+ <omgdi:waypoint x="301.0" y="337.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
+ <omgdi:waypoint x="761.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="803.0" y="364.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="-9.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="46.0" y="364.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
+ <omgdi:waypoint x="151.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="249.0" y="364.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
+ <omgdi:waypoint x="311.0" y="197.0"></omgdi:waypoint>
+ <omgdi:waypoint x="168.0" y="236.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
+ <omgdi:waypoint x="446.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="496.0" y="364.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
+ <omgdi:waypoint x="354.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="396.0" y="364.0"></omgdi:waypoint>
+ <omgdi:waypoint x="406.0" y="364.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
+ <omgdi:waypoint x="426.0" y="344.0"></omgdi:waypoint>
+ <omgdi:waypoint x="426.0" y="291.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.action;
+
+import java.io.ByteArrayInputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.action.executer.ActionExecuterAbstractBase;
+import org.alfresco.service.cmr.action.Action;
+import org.alfresco.service.cmr.action.ParameterDefinition;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.AuthenticationService;
+import org.apache.axis.encoding.Base64;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe déclanchant le lancement du workflow d'élimination côté Asalae
+ *
+ * @Class : AsalaeEliminationAction.java
+ * @Package : eu.akka.saem.alfresco.action
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AsalaeEliminationAction.java $
+ *
+ */
+public class AsalaeEliminationAction extends ActionExecuterAbstractBase{
+
+ private NodeService nodeService;
+ private ProfilSEDAUtils profilSEDAUtils;
+ private PropertyReader propertyReader;
+ private AuthenticationService authenticationService;
+
+ private static final Log LOG = LogFactory.getLog(AsalaeEliminationAction.class);
+
+ /**
+ * @param ruleAction pas utilisé dans cette fonction
+ * @param actionedUpondNodeRef: noderef sur lequel l'action est executée. Ici une archive qui a déjà été versée et acceptée dans Asalae, dont la DUA est expirée et le sort final à détruire
+ */
+ public void executeImpl(Action ruleAction, NodeRef actionedUponNodeRef){
+
+ try {
+ // Récupération des identifiants de connexion à asalae
+ String asalaeLogin = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+ WebServicePortType test;
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ test = ssl.getWebServicePort(new URL(propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_URL) + "/webservices/service"));
+
+ ArchiveDestructionRequestType adrt = new ArchiveDestructionRequestType();
+ adrt.setDestructionRequestIdentifier(new ArchivesIDType());
+ String bordereau = SEDAWriter.transformSEDAObjectToXML(adrt);
+
+ String bordereauSEDA = new String(Base64.decode(new String(test.wsCompleterBordereau(Base64
+ .encode(bordereau.getBytes("UTF8")).getBytes(), asalaeLogin, asalaePassword))), "UTF8");
+ ArchiveDestructionRequestType adrtresult = (ArchiveDestructionRequestType) XMLLoader
+ .SEDALoader(new ByteArrayInputStream(bordereauSEDA.getBytes()));
+
+ nodeService.setProperty(actionedUponNodeRef, SAEMModelConstants.PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT,
+ adrtresult.getDestructionRequestIdentifier().getValue());
+
+ String archiveName;
+
+ // creation d'une copie temporaire afin de recuperer -dans le cas ou on elimine un sous-objet d'archive- les informations presentes a la racine de l'archive
+ NodeRef tmpArchiveFolder = actionedUponNodeRef;
+ ArchiveTransferType archiveSedaObject;
+
+ List<ArchiveType> archives = new ArrayList<ArchiveType>();
+
+ ArchiveType archive = new ArchiveType();
+ archive.setArchivalAgencyArchiveIdentifier(new ArchivesIDType());
+
+ // Récupération du bordereau de versement
+ if (nodeService.hasAspect(actionedUponNodeRef, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)) {
+ while (tmpArchiveFolder != null
+ && (!nodeService.hasAspect(tmpArchiveFolder, SAEMModelConstants.ASPECT_ARCHIVABLE)
+ || nodeService.hasAspect(tmpArchiveFolder, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)))
+ tmpArchiveFolder = nodeService.getPrimaryParent(tmpArchiveFolder).getParentRef();
+ ArchiveObjectType aot = new ArchiveObjectType();
+ aot.setArchivalAgencyObjectIdentifier(new ArchivesIDType());
+ aot.getArchivalAgencyObjectIdentifier().setValue((String) nodeService.getProperty(actionedUponNodeRef,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER));
+ archive.addContains(aot);
+ archiveName = nodeService.getProperty(tmpArchiveFolder, ContentModel.PROP_NAME) + "." + nodeService.getProperty( actionedUponNodeRef, ContentModel.PROP_NAME);
+ } else {
+ archive.getArchivalAgencyArchiveIdentifier().setValue(
+ (String) nodeService.getProperty(tmpArchiveFolder,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER));
+ archiveName = (String) nodeService.getProperty(tmpArchiveFolder, ContentModel.PROP_NAME);
+ }
+
+ archives.add(archive);
+
+ archiveSedaObject = (ArchiveTransferType) profilSEDAUtils.getSedaObject(tmpArchiveFolder,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+ archiveSedaObject = fillSedaBlankFields(archiveSedaObject);
+
+ String dri = (String) nodeService.getProperty(actionedUponNodeRef, SAEMModelConstants.PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT);
+
+ adrt = (ArchiveDestructionRequestType) new ArchiveDestructionRequestType();
+ adrt.setDestructionRequestIdentifier(new ArchivesIDType());
+ adrt.getDestructionRequestIdentifier().setValue(dri);
+ adrt.setArchivalAgency(new OrganizationType());
+ adrt.getArchivalAgency().setIdentification(new ArchivesIDType());
+ adrt.getArchivalAgency().getIdentification()
+ .setValue(archiveSedaObject.getArchivalAgency().getIdentification().getValue());
+
+ adrt.setComment("Demande d’élimination règlementaire portant sur " + archiveName);
+
+ adrt.setOriginatingAgency(new OrganizationType());
+ adrt.getOriginatingAgency().setIdentification(new ArchivesIDType());
+ adrt.getOriginatingAgency()
+ .getIdentification()
+ .setValue(
+ archiveSedaObject.getContains().get(0).getContentDescription()
+ .getOriginatingAgency().get(0).getIdentification().getValue());
+
+
+ adrt.setArchive(archives);
+
+ nodeService.setProperty(actionedUponNodeRef, SAEMModelConstants.PROP_ELIMINATION_INITIATOR, authenticationService.getCurrentUserName());
+
+ if (!test.wsElimination("bordereau.xml", Base64.encode(SEDAWriter.transformSEDAObjectToXML(adrt).getBytes("UTF8")).getBytes(), asalaeLogin, asalaePassword).equals("0"))
+ LOG.error("Processus d'elimination de l'archive avorte");
+ else
+ nodeService.removeAspect(actionedUponNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ @Override
+ protected void addParameterDefinitions(List<ParameterDefinition> paramList) {
+
+ }
+
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setProfilSEDAUtils(ProfilSEDAUtils profilSEDAUtils) {
+ this.profilSEDAUtils = profilSEDAUtils;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+
+ public void setAuthenticationService(AuthenticationService authenticationService) {
+ this.authenticationService = authenticationService;
+ }
+
+ private ArchiveTransferType fillSedaBlankFields(ArchiveTransferType archiveSedaObject) {
+
+ // Insertion de la date du transfert
+ archiveSedaObject.getDate().setDate(new Date());
+
+ return archiveSedaObject;
+ }
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.actions;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.ConnectException;
+import java.net.Socket;
+import java.security.NoSuchAlgorithmException;
+import java.util.List;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.jscript.BaseScopableProcessorExtension;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.mozilla.javascript.Scriptable;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+
+/**
+ *
+ * Classe permettant le transfert de fichier volumineux d'alfresco
+ * vers Asalae
+ *
+ * @Class : TransfertBigFileToAsalae.java
+ * @Package : eu.akka.saem.alfresco.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: TransfertBigFileToAsalae.java $
+ *
+ */
+public class TransfertBigFileToAsalae extends BaseScopableProcessorExtension {
+
+ private Scriptable scope;
+ private ServiceRegistry serviceRegistry;
+
+ private NodeService nodeService;
+ private SearchService searchService;
+ private FileFolderService fileFolderService;
+ private ContentService contentService;
+ private static boolean enCours;
+ private PropertyReader propertyReader;
+
+ private String host;
+ private int port;
+ private int nbbyte;
+
+ private static final Log LOG = LogFactory.getLog(TransfertBigFileToAsalae.class);
+
+ /**
+ * Method : uploadBigFile() void
+ */
+ public void uploadBigFile(){
+
+ if (!enCours && propertyReader!=null && searchService!=null){
+ enCours = true;
+
+ try{
+ List<NodeRef> nodesSearchCopy = getNodeRefToCopyIfExist();
+
+ if (nodesSearchCopy.size() > 0){
+
+ host = propertyReader.getProperty(SAEMPropertiesConstants.HOST_TRANSFERT_BIG_FILE);
+ port = Integer.valueOf(propertyReader.getProperty(SAEMPropertiesConstants.PORT_TRANSFERT_BIG_FILE));
+ nbbyte = Integer.valueOf(propertyReader.getProperty(SAEMPropertiesConstants.NBBYTES_TRANSFERT_BIG_FILE));
+
+ if(send("RESET").equals("FAILED")){
+ throw new Exception("Echec de connection socket");
+ }
+
+ sendFolder(nodesSearchCopy.get(0));
+
+ //Une fois fini on supprime le repertoire
+ nodeService.deleteNode(nodesSearchCopy.get(0));
+ }
+
+ enCours = false;
+ }
+ catch (ConnectException ce){
+ LOG.error("Impossible de se connecter au socket");
+ enCours = false;
+ }
+ catch(Exception e){
+ LOG.error(e);
+ enCours = false;
+ }
+ }
+ }
+
+ /**
+ * Récupération de l'élément à copier s'il y en a un
+ * Method : getNodeRefToCopyIfExist()
+ * @return List<NodeRef>
+ */
+ private List<NodeRef> getNodeRefToCopyIfExist() {
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\"/app:company_home/app:dictionary\" +@cm\\:name:\"Copy\"");
+ ResultSet rs = searchService.query(sp);
+ List<NodeRef> nodesSearchCopy = rs.getNodeRefs();
+ return nodesSearchCopy;
+ }
+
+ /**
+ * Method : sendFolder()
+ * @param nodeRef
+ * @throws Exception void
+ */
+ private void sendFolder(NodeRef nodeRef) throws Exception
+ {
+ for(ChildAssociationRef car: nodeService.getChildAssocs(nodeRef)){
+ if(fileFolderService.getFileInfo(car.getChildRef()).isFolder()){
+ //On envoie le nom du repertoire
+ if(send("FOLDERNAME;"+ getName(car.getChildRef())).equals("FAILED"))
+ break;
+
+ //On envoi le repertoire
+ sendFolder(car.getChildRef());
+ }
+ else{
+ //On envoi le fichier
+ if(sendFile(car.getChildRef()).equals("FAILED"))
+ break;
+ }
+ }
+
+ if(send("ENDFOLDER").equals("FAILED")){
+ }
+ }
+
+ /**
+ * Method : sendFile()
+ * @param nodeRef
+ * @return
+ * @throws Exception String
+ */
+ private String sendFile(NodeRef nodeRef) throws Exception{
+ String result = "FAILED";
+
+ int pos = getFilePos(nodeRef);
+
+ Boolean EOF = false;
+ ByteArrayOutputStream ous = new ByteArrayOutputStream();
+ ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT);
+ InputStream ios = reader.getContentInputStream();
+ int nb = nbbyte;
+ byte[] buffer = null;
+ if( getSize(nodeRef) - pos < nbbyte){
+ buffer = new byte[(int) (getSize(nodeRef) - pos)];
+ nb = (int) (getSize(nodeRef) - pos);
+ }
+ else{
+ buffer = new byte[nbbyte];
+ nb = nbbyte;
+ }
+
+ int read = 0;
+ while ( (read = ios.read(buffer, 0, nb)) != -1 ) {
+ Base64 base64 = new Base64();
+ String req = new String(base64.encode(buffer));
+ String empreinte = MD5(req);
+ String response = send("FILE;" + getName(nodeRef) + ";" + empreinte + ";" + req);
+ if(response.equals("FAILED"))
+ throw new Exception("Echec");
+ else if(response.equals("BADMD5")){
+ continue;
+ }
+ else{
+ pos += nb;
+ setFilePos(nodeRef, pos);
+
+ if(getSize(nodeRef) - pos < nbbyte){
+ buffer = new byte[(int) (getSize(nodeRef) - pos)];
+ nb = (int) (getSize(nodeRef) - pos);
+ }
+ else{
+ buffer = new byte[nbbyte];
+ nb = nbbyte;
+ }
+ }
+
+ if(read < nbbyte){
+ break;
+ }
+ }
+
+ ous.close();
+ ios.close();
+
+ result = "SUCCESS";
+
+ return result;
+ }
+
+ /**
+ * Method : MD5()
+ * @param md5
+ * @return
+ * @throws NoSuchAlgorithmException String
+ */
+ public String MD5(String md5) throws NoSuchAlgorithmException {
+
+ java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
+ byte[] array = md.digest(md5.getBytes());
+
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < array.length; ++i) {
+ sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1,3));
+ }
+
+ return sb.toString();
+ }
+
+ /**
+ * Method : send()
+ * @param str
+ * @return
+ * @throws IOException String
+ */
+ public String send(String str) throws IOException{
+ String result = "FAILED";
+
+ //On envoi l'action
+ Socket socket;
+ PrintWriter out;
+ socket = new Socket(host, port);
+ out = new PrintWriter(socket.getOutputStream());
+ out.println(str);
+ out.flush();
+ BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+ result=in.readLine();
+ socket.close();
+
+ return result;
+ }
+
+ /**
+ * Method : getFilePos()
+ * @param nodeRef
+ * @return
+ * @throws Exception int
+ */
+ private int getFilePos(NodeRef nodeRef) throws Exception {
+ int result = 0;
+ if(nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_TRANSFERT_EN_COURS)){
+ //Le transfer a deja ete commence
+ result = safeLongToInt((Long) nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_TAILLE_TELECHARGE));
+ }
+ else{
+ //le transfer commence
+ setFilePos(nodeRef, result);
+ }
+
+ return result;
+ }
+
+ /**
+ * Method : setFilePos()
+ * @param nodeRef
+ * @param pos
+ * @throws Exception void
+ */
+ private void setFilePos(NodeRef nodeRef, int pos) throws Exception{
+ if(!nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_TRANSFERT_EN_COURS)){
+ nodeService.addAspect(nodeRef, SAEMModelConstants.ASPECT_TRANSFERT_EN_COURS, null);
+ }
+
+ nodeService.setProperty(nodeRef, SAEMModelConstants.PROP_TAILLE_TELECHARGE, pos);
+ nodeService.setProperty(nodeRef, SAEMModelConstants.PROP_POURCENTAGE_D_AVANCEMENT, (pos * 100) / getSize(nodeRef));
+ }
+
+ /**
+ * Method : getName()
+ * @param nodeRef
+ * @return String
+ */
+ private String getName(NodeRef nodeRef) {
+ return (String)nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
+ }
+
+ /**
+ * Method : getSize()
+ * @param nodeRef
+ * @return int
+ */
+ private int getSize(NodeRef nodeRef) {
+ return safeLongToInt(contentService.getReader(nodeRef, ContentModel.PROP_CONTENT).getSize());
+ }
+
+ /**
+ * Method : safeLongToInt()
+ * @param l
+ * @return int
+ */
+ private int safeLongToInt(long l) {
+ if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
+ throw new IllegalArgumentException
+ (l + " cannot be cast to int without changing its value.");
+ }
+ return (int) l;
+ }
+
+ public ContentService getContentService() {
+ return contentService;
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public FileFolderService getFileFolderService() {
+ return fileFolderService;
+ }
+
+ public void setFileFolderService(FileFolderService fileFolderService) {
+ this.fileFolderService = fileFolderService;
+ }
+
+ public ServiceRegistry getServiceRegistry() {
+ return serviceRegistry;
+ }
+
+ public NodeService getNodeService() {
+ return nodeService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public SearchService getSearchService() {
+ return searchService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setServiceRegistry(ServiceRegistry serviceRegistry) {
+ this.serviceRegistry = serviceRegistry;
+ }
+
+ public PropertyReader getPropertyReader() {
+ return propertyReader;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.bootstrap;
+
+import java.io.InputStream;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.transaction.RetryingTransactionHelper;
+import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.ContentWriter;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+
+/**
+ *
+ * Classe permettant de créer les adresses email
+ * suivant des templates prédéfinis au lancement de l'application
+ *
+ * @Class : CreateEmailTemplatesOnBootStrap.java
+ * @Package : eu.akka.saem.alfresco.bootstrap
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: CreateEmailTemplatesOnBootStrap.java $
+ *
+ */
+@Deprecated
+public class CreateEmailTemplatesOnBootStrap {
+
+ public static final String EMAIL_TEMPLATES_FOLDER = "Modèles d'e-mail";
+ public static final String WORKFLOW_NOTIFICATION_TEMPLATES_FOLDER = "Notification de workflow";
+ public static final String SAEM_EMAIL = "saemwf-email.html.ftl";
+
+ private RetryingTransactionHelper retryingTransactionHelper;
+ private PropertyReader propertyReader;
+ private ContentService contentService;
+ private ContentWriter contentWriter;
+ private NodeService nodeService;
+
+ private static Logger LOG = Logger.getLogger(CreateEmailTemplatesOnBootStrap.class);
+
+ public void init() {
+
+ AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
+
+ @Override
+ public Void doWork() throws Exception {
+ return retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback<Void>() {
+ @Override
+ public Void execute() throws Throwable {
+ runInit();
+ return null;
+ }
+ }, false, true);
+ }
+ });
+
+ }
+
+ private void runInit() {
+ String dataDictionnaryFolderNodeRefProperty = propertyReader
+ .getProperty(SAEMPropertiesConstants.FOLDER_SYSTEM_DATA_DICTIONNARY_NODEREF);
+
+ NodeRef dataDictionnaryFolderNodeRef = new NodeRef(dataDictionnaryFolderNodeRefProperty);
+ if (!nodeService.exists(dataDictionnaryFolderNodeRef)) {
+ LOG.error("Le dossier \"/Dictionnaire de donnee\" n'existe pas, le deploiement des modeles d'e-mail ne pourra se faire. Merci de creer ce dossier");
+ return;
+ }
+
+ final NodeRef emailTemplatesFolderNoderef = nodeService.getChildByName(dataDictionnaryFolderNodeRef,
+ ContentModel.ASSOC_CONTAINS, EMAIL_TEMPLATES_FOLDER);
+ if (emailTemplatesFolderNoderef == null) {
+ LOG.error("Le dossier \"/Dictionnaire de donnee/Modeles d'e-mail\" n'existe pas, le deploiement des modeles d'e-mail ne pourra se faire. Merci de creer ce dossier");
+ return;
+ }
+
+ final NodeRef workflowEmailTemplatesFolderNoderef = nodeService.getChildByName(
+ emailTemplatesFolderNoderef, ContentModel.ASSOC_CONTAINS,
+ WORKFLOW_NOTIFICATION_TEMPLATES_FOLDER);
+ if (workflowEmailTemplatesFolderNoderef == null) {
+ LOG.error("Le dossier \"/Dictionnaire de donnee/Modeles d'e-mail/Notification de workflow\" n'existe pas, le deploiement des modeles d'e-mail ne pourra se faire. Merci de creer ce dossier");
+ return;
+ }
+
+ NodeRef saemwfEmailTemplateNodeRef = nodeService.getChildByName(workflowEmailTemplatesFolderNoderef,
+ ContentModel.ASSOC_CONTAINS, SAEM_EMAIL);
+ if (saemwfEmailTemplateNodeRef == null) {
+ Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
+ props.put(ContentModel.PROP_NAME, SAEM_EMAIL);
+
+ NodeRef newEmailTemplate = nodeService.createNode(workflowEmailTemplatesFolderNoderef,
+ ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, SAEM_EMAIL),
+ ContentModel.TYPE_CONTENT, props).getChildRef();
+
+ contentWriter = contentService.getWriter(newEmailTemplate, ContentModel.TYPE_CONTENT, true);
+ InputStream templateInputStream = Thread.currentThread().getContextClassLoader()
+ .getResourceAsStream("/alfresco/module/eu_akka_alfresco/bootstrap/saemwf-email.html.ftl");
+ contentWriter.putContent(templateInputStream);
+ }
+
+ return;
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setRetryingTransactionHelper(RetryingTransactionHelper retryingTransactionHelper) {
+ this.retryingTransactionHelper = retryingTransactionHelper;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.bootstrap;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.action.evaluator.IsSubTypeEvaluator;
+import org.alfresco.repo.action.executer.AddFeaturesActionExecuter;
+import org.alfresco.repo.action.executer.LinkCategoryActionExecuter;
+import org.alfresco.repo.action.executer.RemoveFeaturesActionExecuter;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.transaction.RetryingTransactionHelper;
+import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
+import org.alfresco.service.cmr.action.Action;
+import org.alfresco.service.cmr.action.ActionService;
+import org.alfresco.service.cmr.action.CompositeAction;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.rule.Rule;
+import org.alfresco.service.cmr.rule.RuleService;
+import org.alfresco.service.cmr.rule.RuleType;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+
+/**
+ *
+ * Classe permettant de générer les profils SEDA
+ * au lancement de l'application
+ *
+ * @Class : CreateProfilSedaSystemFolderOnBootStrap.java
+ * @Package : eu.akka.saem.alfresco.bootstrap
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: CreateProfilSedaSystemFolderOnBootStrap.java $
+ *
+ */
+public class CreateProfilSedaSystemFolderOnBootStrap {
+
+ private final String ADD_SEDA_ASPECT = "Add Profil SEDA aspect";
+ private final String REMOVE_SEDA_ASPECT = "Remove Profil SEDA aspect";
+ private final String ADD_SEDA_CATEGORY = "Add SEDA category aspect";
+
+ private NodeService nodeService;
+ private RuleService ruleService;
+ private FileFolderService fileFolderService;
+ private PropertyReader propertyReader;
+ private ActionService actionService;
+
+ private RetryingTransactionHelper retryingTransactionHelper;
+
+ private String profilFolderName;
+ private NodeRef categoryProfilNodeRef;
+ private String categoryProfilNodeRefProperty;
+ private String dataDictionnaryFolderNodeRefProperty;
+ private NodeRef dataDictionnaryNodeRef;
+
+ private static Logger LOG = Logger.getLogger(CreateProfilSedaSystemFolderOnBootStrap.class);
+
+ public void init() {
+
+ // Récupération des propriétés
+ profilFolderName = propertyReader.getProperty(SAEMPropertiesConstants.FOLDER_SYSTEM_PROFILS_NAME);
+ categoryProfilNodeRefProperty = propertyReader
+ .getProperty(SAEMPropertiesConstants.CATEGORY_PROFIL_NODEREF);
+ // TODO Trouver un autre moyen de récupérer ce dossier, on economiserait
+ // une propriété et donc une configuration
+ // Voir pour l'utilisation de companyHomePath, storeRef ou passer par
+ // une recherche avec le searchService
+ dataDictionnaryFolderNodeRefProperty = propertyReader
+ .getProperty(SAEMPropertiesConstants.FOLDER_SYSTEM_DATA_DICTIONNARY_NODEREF);
+
+ if (profilFolderName == null || categoryProfilNodeRefProperty == null
+ || dataDictionnaryFolderNodeRefProperty == null || profilFolderName.isEmpty()
+ || categoryProfilNodeRefProperty.isEmpty() || dataDictionnaryFolderNodeRefProperty.isEmpty()) {
+ LOG.error("Les propriétés " + SAEMPropertiesConstants.FOLDER_SYSTEM_PROFILS_NAME + " et / ou "
+ + SAEMPropertiesConstants.CATEGORY_PROFIL_NODEREF + " et / ou "
+ + SAEMPropertiesConstants.FOLDER_SYSTEM_DATA_DICTIONNARY_NODEREF
+ + " ne sont pas correctement renseignés, le déploiement du dossier systeme"
+ + " \"Profils SEDA\" ne pourra se faire, veuillez renseigner "
+ + "cette propriété et redémarrer le serveur");
+ return;
+ }
+ categoryProfilNodeRef = new NodeRef(categoryProfilNodeRefProperty);
+ if (categoryProfilNodeRef == null) {
+ LOG.error("La categorie Profil SEDA n'existe pas, veuillez la creer et la renseigner"
+ + " dans le fichier de propriete approprie");
+ return;
+ }
+
+ dataDictionnaryNodeRef = new NodeRef(dataDictionnaryFolderNodeRefProperty);
+ if (dataDictionnaryNodeRef == null) {
+ LOG.error("Le dossier systeme dictionnaire de données renseigné dans les propriétés"
+ + " n'est pas le bon, veuillez le mettre à jour et redémarrer le serveur");
+ return;
+ }
+ NodeRef profilFolderNodeRef = nodeService.getChildByName(dataDictionnaryNodeRef,
+ ContentModel.ASSOC_CONTAINS, profilFolderName);
+ if (profilFolderNodeRef == null) {
+ profilFolderNodeRef = AuthenticationUtil.runAsSystem(new RunAsWork<NodeRef>() {
+
+ @Override
+ public NodeRef doWork() throws Exception {
+ return retryingTransactionHelper.doInTransaction(
+ new RetryingTransactionCallback<NodeRef>() {
+ @Override
+ public NodeRef execute() throws Throwable {
+ return createProfilFolder(dataDictionnaryNodeRef);
+ }
+ }, false, true);
+ }
+ });
+
+ }
+
+ final NodeRef profilFolderNodeRefFinal = profilFolderNodeRef;
+ AuthenticationUtil.runAsSystem(new RunAsWork<NodeRef>() {
+ @Override
+ public NodeRef doWork() throws Exception {
+ return retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback<NodeRef>() {
+ @Override
+ public NodeRef execute() throws Throwable {
+ addRulesOnProfilFolder(profilFolderNodeRefFinal);
+ return null;
+ }
+ }, false, true);
+ }
+ });
+
+ }
+
+ private void addRulesOnProfilFolder(NodeRef profilFolderNodeRef) {
+ List<Rule> existingRules = ruleService.getRules(profilFolderNodeRef);
+
+ Rule ruleAddAspect = null;
+ Rule ruleRemoveAspect = null;
+ Rule ruleAddCategory = null;
+
+ for (Rule rule : existingRules) {
+ if (rule.getTitle().equals(ADD_SEDA_ASPECT)
+ || rule.getTitle().equals(REMOVE_SEDA_ASPECT)
+ || rule.getTitle().equals(ADD_SEDA_CATEGORY)){
+ ruleService.removeRule(profilFolderNodeRef, rule);
+ }
+ }
+
+ ruleAddAspect = new Rule();
+ ruleAddAspect.setTitle(ADD_SEDA_ASPECT);
+ ruleAddAspect
+ .setDescription("Ajoute l'aspect \"profil SEDA\" à tous les éléments nouvellement créés dans le dossier");
+ ruleAddAspect.applyToChildren(false);
+ ruleAddAspect.setExecuteAsynchronously(false);
+ ruleAddAspect.setRuleDisabled(false);
+ ruleAddAspect.setRuleType(RuleType.INBOUND);
+ CompositeAction compositeActionAddAspect = actionService.createCompositeAction();
+ ruleAddAspect.setAction(compositeActionAddAspect);
+
+ // Conditions for the Rule
+ Map<String, Serializable> actionAddAspectMap = new HashMap<String, Serializable>();
+ actionAddAspectMap.put(IsSubTypeEvaluator.PARAM_TYPE, ContentModel.TYPE_CONTENT);
+ compositeActionAddAspect.addActionCondition(actionService.createActionCondition(
+ IsSubTypeEvaluator.NAME, actionAddAspectMap));
+
+ // Action
+ Action actionAddAspect = actionService.createAction(AddFeaturesActionExecuter.NAME);
+ compositeActionAddAspect.addAction(actionAddAspect);
+
+ // Parameters for the action
+ Map<String, Serializable> actionAddAspectProps = compositeActionAddAspect.getParameterValues();
+ actionAddAspectProps.put(AddFeaturesActionExecuter.PARAM_ASPECT_NAME,
+ SAEMModelConstants.ASPECT_PROFIL);
+ actionAddAspect.setParameterValues(actionAddAspectProps);
+
+ ruleService.saveRule(profilFolderNodeRef, ruleAddAspect);
+
+
+ // Ajout d'une règle retrait de l'aspect profil SEDA
+ ruleRemoveAspect = new Rule();
+ ruleRemoveAspect.setTitle(REMOVE_SEDA_ASPECT);
+ ruleRemoveAspect
+ .setDescription("Retire l'aspect \"profil SEDA\" à tous les éléments supprimés du dossier");
+ ruleRemoveAspect.applyToChildren(false);
+ ruleRemoveAspect.setExecuteAsynchronously(false);
+ ruleRemoveAspect.setRuleDisabled(false);
+ ruleRemoveAspect.setRuleType(RuleType.OUTBOUND);
+ CompositeAction compositeActionRemoveAspect = actionService.createCompositeAction();
+ ruleRemoveAspect.setAction(compositeActionRemoveAspect);
+
+ // Conditions for the Rule
+ Map<String, Serializable> actionRemoveAspectMap = new HashMap<String, Serializable>();
+ actionRemoveAspectMap.put(IsSubTypeEvaluator.PARAM_TYPE, ContentModel.TYPE_CONTENT);
+ compositeActionRemoveAspect.addActionCondition(actionService.createActionCondition(
+ IsSubTypeEvaluator.NAME, actionRemoveAspectMap));
+
+ // Action
+ Action actionRemoveAspect = actionService.createAction(RemoveFeaturesActionExecuter.NAME);
+ compositeActionRemoveAspect.addAction(actionRemoveAspect);
+
+ // Parameters for the action
+ Map<String, Serializable> actionRemoveAspectProps = compositeActionRemoveAspect.getParameterValues();
+ actionRemoveAspectProps.put(RemoveFeaturesActionExecuter.PARAM_ASPECT_NAME,
+ SAEMModelConstants.ASPECT_PROFIL);
+ actionRemoveAspect.setParameterValues(actionRemoveAspectProps);
+
+ ruleService.saveRule(profilFolderNodeRef, ruleRemoveAspect);
+
+ // Ajoute une règle d'ajout catégorie
+ ruleAddCategory = new Rule();
+ ruleAddCategory.setTitle(ADD_SEDA_CATEGORY);
+ ruleAddCategory
+ .setDescription("Ajoute la catégorie \"profil SEDA\" à tous les éléments nouvellement créés dans le dossier");
+ ruleAddCategory.applyToChildren(false);
+ ruleAddCategory.setExecuteAsynchronously(false);
+ ruleAddCategory.setRuleDisabled(false);
+ ruleAddCategory.setRuleType(RuleType.INBOUND);
+ CompositeAction compositeAction = actionService.createCompositeAction();
+ ruleAddCategory.setAction(compositeAction);
+
+ // Conditions for the Rule
+ Map<String, Serializable> actionMap = new HashMap<String, Serializable>();
+ actionMap.put(IsSubTypeEvaluator.PARAM_TYPE, ContentModel.TYPE_CONTENT);
+ compositeAction.addActionCondition(actionService.createActionCondition(IsSubTypeEvaluator.NAME,
+ actionMap));
+
+ // Action
+ Action action = actionService.createAction(LinkCategoryActionExecuter.NAME);
+ compositeAction.addAction(action);
+
+ // Parameters for the action
+ Map<String, Serializable> actionProps = compositeAction.getParameterValues();
+ actionProps.put(LinkCategoryActionExecuter.PARAM_CATEGORY_ASPECT,
+ ContentModel.ASPECT_GEN_CLASSIFIABLE);
+
+ actionProps.put(LinkCategoryActionExecuter.PARAM_CATEGORY_VALUE, categoryProfilNodeRef);
+ action.setParameterValues(actionProps);
+
+ ruleService.saveRule(profilFolderNodeRef, ruleAddCategory);
+ }
+
+ private NodeRef createProfilFolder(NodeRef parentNodeRef) {
+ NodeRef newFolderNodeRef = fileFolderService.create(parentNodeRef, profilFolderName,
+ ContentModel.TYPE_FOLDER).getNodeRef();
+ return newFolderNodeRef;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setRuleService(RuleService ruleService) {
+ this.ruleService = ruleService;
+ }
+
+ public void setFileFolderService(FileFolderService fileFolderService) {
+ this.fileFolderService = fileFolderService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+ public void setActionService(ActionService actionService) {
+ this.actionService = actionService;
+ }
+
+ public void setRetryingTransactionHelper(RetryingTransactionHelper retryingTransactionHelper) {
+ this.retryingTransactionHelper = retryingTransactionHelper;
+ }
+ }
--- /dev/null
+package eu.akka.saem.alfresco.connector.asalae.Exceptions;
+
+import org.alfresco.error.AlfrescoRuntimeException;
+
+/**
+ *
+ * Classe d'exception permettant de typer les erreurs Asalae
+ *
+ * @Class : AsalaeConnectorException.java
+ * @Package : eu.akka.saem.alfresco.connector.asalae.Exceptions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AsalaeConnectorException.java $
+ *
+ */
+public class AsalaeConnectorException extends AlfrescoRuntimeException{
+ /**
+ *
+ */
+ private static final long serialVersionUID = -7128381561206860479L;
+
+ public AsalaeConnectorException(String msgId) {
+ super(msgId);
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.connector.asalae.util;
+
+import eu.akka.saem.alfresco.connector.asalae.Exceptions.AsalaeConnectorException;
+
+/**
+ *
+ * Classe utilitaire pour Asalae permettant d'identifier
+ * le type d'erreur
+ *
+ * @Class : AsalaeUtils.java
+ * @Package : eu.akka.saem.alfresco.connector.asalae.util
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AsalaeUtils.java $
+ *
+ */
+public class AsalaeUtils {
+
+ public void handleErrorsWsGDepot(String retour) throws AsalaeConnectorException {
+ String s = "Erreur lors du dépot de l'archive : ";
+ if (retour.equals("1"))
+ throw new AsalaeConnectorException(s + "identifiant de connexion non trouvé");
+ if (retour.equals("2"))
+ throw new AsalaeConnectorException(s + "mot de passe incorrect");
+ if (retour.equals("3"))
+ throw new AsalaeConnectorException(s + "connecteur non actif");
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.connector.asalae.ws;
+
+import javax.xml.rpc.ServiceException;
+import javax.xml.rpc.Service;
+import java.net.URL;
+
+/**
+ *
+ * Classe d'accés aux webservices Asalae
+ *
+ * @Class : ServerService.java
+ * @Package : eu.akka.saem.alfresco.connector.asalae.ws
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ServerService.java $
+ *
+ */
+public interface ServerService extends Service {
+ public String getWebServicePortAddress();
+
+ public WebServicePortType getWebServicePort() throws ServiceException;
+
+ public WebServicePortType getWebServicePort(URL portAddress) throws ServiceException;
+}
--- /dev/null
+/**
+ * ServerServiceLocator.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
+ */
+
+package eu.akka.saem.alfresco.connector.asalae.ws;
+
+/**
+ *
+ * @Class : ServerServiceLocator.java
+ * @Package : eu.akka.saem.alfresco.connector.asalae.ws
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ServerServiceLocator.java $
+ *
+ */
+public class ServerServiceLocator extends org.apache.axis.client.Service implements ServerService {
+
+ public ServerServiceLocator() {
+ }
+
+ public ServerServiceLocator(org.apache.axis.EngineConfiguration config) {
+ super(config);
+ }
+
+ public ServerServiceLocator(String wsdlLoc, javax.xml.namespace.QName sName)
+ throws javax.xml.rpc.ServiceException {
+ super(wsdlLoc, sName);
+ }
+
+ // Use to get a proxy class for WebServicePort
+ private String WebServicePort_address = "http://asalae.demonstrations.adullact.org/webservices/service";
+
+ public String getWebServicePortAddress() {
+ return WebServicePort_address;
+ }
+
+ // The WSDD service name defaults to the port name.
+ private String WebServicePortWSDDServiceName = "WebServicePort";
+
+ public String getWebServicePortWSDDServiceName() {
+ return WebServicePortWSDDServiceName;
+ }
+
+ public void setWebServicePortWSDDServiceName(String name) {
+ WebServicePortWSDDServiceName = name;
+ }
+
+ public WebServicePortType getWebServicePort() throws javax.xml.rpc.ServiceException {
+ java.net.URL endpoint;
+ try {
+ endpoint = new java.net.URL(WebServicePort_address);
+ } catch (java.net.MalformedURLException e) {
+ throw new javax.xml.rpc.ServiceException(e);
+ }
+ return getWebServicePort(endpoint);
+ }
+
+ public WebServicePortType getWebServicePort(java.net.URL portAddress)
+ throws javax.xml.rpc.ServiceException {
+ try {
+ WebServiceBindingStub _stub = new WebServiceBindingStub(portAddress, this);
+ _stub.setPortName(getWebServicePortWSDDServiceName());
+ return _stub;
+ } catch (org.apache.axis.AxisFault e) {
+ return null;
+ }
+ }
+
+ public void setWebServicePortEndpointAddress(String address) {
+ WebServicePort_address = address;
+ }
+
+ /**
+ * For the given interface, get the stub implementation. If this service has
+ * no port for the given interface, then ServiceException is thrown.
+ */
+ public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
+ try {
+ if (WebServicePortType.class.isAssignableFrom(serviceEndpointInterface)) {
+ WebServiceBindingStub _stub = new WebServiceBindingStub(new java.net.URL(
+ WebServicePort_address), this);
+ _stub.setPortName(getWebServicePortWSDDServiceName());
+ return _stub;
+ }
+ } catch (Throwable t) {
+ throw new javax.xml.rpc.ServiceException(t);
+ }
+ throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: "
+ + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
+ }
+
+ /**
+ * For the given interface, get the stub implementation. If this service has
+ * no port for the given interface, then ServiceException is thrown.
+ */
+ public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface)
+ throws javax.xml.rpc.ServiceException {
+ if (portName == null) {
+ return getPort(serviceEndpointInterface);
+ }
+ String inputPortName = portName.getLocalPart();
+ if ("WebServicePort".equals(inputPortName)) {
+ return getWebServicePort();
+ } else {
+ java.rmi.Remote _stub = getPort(serviceEndpointInterface);
+ ((org.apache.axis.client.Stub) _stub).setPortName(portName);
+ return _stub;
+ }
+ }
+
+ public javax.xml.namespace.QName getServiceName() {
+ return new javax.xml.namespace.QName("urn:server", "serverService");
+ }
+
+ private java.util.HashSet ports = null;
+
+ public java.util.Iterator getPorts() {
+ if (ports == null) {
+ ports = new java.util.HashSet();
+ ports.add(new javax.xml.namespace.QName("urn:server", "WebServicePort"));
+ }
+ return ports.iterator();
+ }
+
+ /**
+ * Set the endpoint address for the specified port name.
+ */
+ public void setEndpointAddress(String portName, String address) throws javax.xml.rpc.ServiceException {
+
+ if ("WebServicePort".equals(portName)) {
+ setWebServicePortEndpointAddress(address);
+ } else { // Unknown Port Name
+ throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port"
+ + portName);
+ }
+ }
+
+ /**
+ * Set the endpoint address for the specified port name.
+ */
+ public void setEndpointAddress(javax.xml.namespace.QName portName, String address)
+ throws javax.xml.rpc.ServiceException {
+ setEndpointAddress(portName.getLocalPart(), address);
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.connector.asalae.ws;
+
+/**
+ *
+ * @Class : WebServiceBindingStub.java
+ * @Package : eu.akka.saem.alfresco.connector.asalae.ws
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: WebServiceBindingStub.java $
+ *
+ */
+public class WebServiceBindingStub extends org.apache.axis.client.Stub implements WebServicePortType {
+ private java.util.Vector cachedSerClasses = new java.util.Vector();
+ private java.util.Vector cachedSerQNames = new java.util.Vector();
+ private java.util.Vector cachedSerFactories = new java.util.Vector();
+ private java.util.Vector cachedDeserFactories = new java.util.Vector();
+
+ static org.apache.axis.description.OperationDesc[] _operations;
+
+ static {
+ _operations = new org.apache.axis.description.OperationDesc[9];
+ _initOperationDesc1();
+ }
+
+ private static void _initOperationDesc1() {
+ org.apache.axis.description.OperationDesc oper;
+ org.apache.axis.description.ParameterDesc param;
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsDepot");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
+ "nomBordereau"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "bordereau"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "base64Binary"), byte[].class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "nomDocument"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "document"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "base64Binary"), byte[].class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
+ "typeDocument"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsDepotReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[0] = oper;
+
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsGSeda");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "params"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "anyType"), Object.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsGSedaReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[1] = oper;
+
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsGetVersion");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsGetVersionReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[2] = oper;
+
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsGetMessage");
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "typeEchange"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "typeMessage"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
+ "identifiantMessage"), org.apache.axis.description.ParameterDesc.IN,
+ new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class,
+ false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsGetMessageReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[3] = oper;
+
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsGetProfil");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsGetProfilReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[4] = oper;
+
+ /** SAEM-80 : Webservice pour la récupération des DUA expirées **/
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsGetDuaExpirees");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "anyType"));
+ oper.setReturnClass(Object.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsGetDuaExpireesReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[5] = oper;
+ /******************************************************************/
+
+ /** SAEM-80 : Webservice de complétion du bordereau **/
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsCompleterBordereau");
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "bordereau"),
+ org.apache.axis.description.ParameterDesc.IN,
+ new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "base64Binary"),
+ byte[].class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN,
+ new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"),
+ String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN,
+ new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"),
+ String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "base64Binary"));
+ oper.setReturnClass(byte[].class);
+ oper.setReturnQName(new javax.xml.namespace.QName("",
+ "wsCompleterBordereauReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[6] = oper;
+ /*****************************************************/
+
+
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsElimination");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "nomBordereau"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "bordereau"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "base64Binary"), byte[].class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsEliminationReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[7] = oper;
+
+
+ oper = new org.apache.axis.description.OperationDesc();
+ oper.setName("wsRestitution");
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
+ "nomBordereau"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "bordereau"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "base64Binary"), byte[].class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(
+ new javax.xml.namespace.QName("", "nomDocument"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "document"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "base64Binary"), byte[].class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("",
+ "typeDocument"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "login"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "password"),
+ org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(
+ "http://www.w3.org/2001/XMLSchema", "string"), String.class, false, false);
+ oper.addParameter(param);
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ oper.setReturnClass(String.class);
+ oper.setReturnQName(new javax.xml.namespace.QName("", "wsRestitutionReturn"));
+ oper.setStyle(org.apache.axis.constants.Style.RPC);
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);
+ _operations[8] = oper;
+ }
+
+ public WebServiceBindingStub() throws org.apache.axis.AxisFault {
+ this(null);
+ }
+
+ public WebServiceBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service)
+ throws org.apache.axis.AxisFault {
+ this(service);
+ super.cachedEndpoint = endpointURL;
+ }
+
+ public WebServiceBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
+ if (service == null) {
+ super.service = new org.apache.axis.client.Service();
+ } else {
+ super.service = service;
+ }
+ ((org.apache.axis.client.Service) super.service).setTypeMappingVersion("1.2");
+ }
+
+ protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
+ try {
+ org.apache.axis.client.Call _call = super._createCall();
+ if (super.maintainSessionSet) {
+ _call.setMaintainSession(super.maintainSession);
+ }
+ if (super.cachedUsername != null) {
+ _call.setUsername(super.cachedUsername);
+ }
+ if (super.cachedPassword != null) {
+ _call.setPassword(super.cachedPassword);
+ }
+ if (super.cachedEndpoint != null) {
+ _call.setTargetEndpointAddress(super.cachedEndpoint);
+ }
+ if (super.cachedTimeout != null) {
+ _call.setTimeout(super.cachedTimeout);
+ }
+ if (super.cachedPortName != null) {
+ _call.setPortName(super.cachedPortName);
+ }
+ java.util.Enumeration keys = super.cachedProperties.keys();
+ while (keys.hasMoreElements()) {
+ String key = (String) keys.nextElement();
+ _call.setProperty(key, super.cachedProperties.get(key));
+ }
+ return _call;
+ } catch (Throwable _t) {
+ throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);
+ }
+ }
+
+ public String wsDepot(String nomBordereau, byte[] bordereau, String nomDocument, byte[] document,
+ String typeDocument, String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[0]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsDepot"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { nomBordereau, bordereau, nomDocument, document,
+ typeDocument, login, password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+ }
+
+ public String wsRestitution(String nomBordereau, byte[] bordereau, String nomDocument, byte[] document,
+ String typeDocument, String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[8]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsRestitution"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { nomBordereau, bordereau, nomDocument, document,
+ typeDocument, login, password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+ }
+
+ public String wsElimination(String nomBordereau, byte[] bordereau, String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[7]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsElimination"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try { Object _resp = _call.invoke(new Object[] {nomBordereau, bordereau, login, password});
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException)_resp;
+ }
+ else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+ }
+
+
+ public String wsGSeda(Object nomBordereau, String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[1]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsGSeda"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { nomBordereau, login, password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+ }
+
+ public String wsGetProfil(String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[4]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsGetProfil"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { login, password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+
+ }
+
+ public String wsGetVersion(String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[2]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsGetVersion"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { login, password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+
+ }
+
+ public String wsGetMessage(String typeEchange, String typeMessage, String identifiantMessage,
+ String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[3]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsGetMessage"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { typeEchange, typeMessage, identifiantMessage, login,
+ password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (String) _resp;
+ } catch (Exception _exception) {
+ return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+
+ }
+
+ /**
+ * SAEM-80 Webservice pour la récupération des DUA expirées
+ * @author romain.chiquois
+ */
+ public Object wsGetDuaExpirees(String login, String password) throws java.rmi.RemoteException {
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[5]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server", "wsGetDuaExpirees"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try { Object _resp = _call.invoke(new Object[] {login, password});
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException)_resp;
+ }
+ else {
+ extractAttachments(_call);
+ return _resp;
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+ }
+
+ /**
+ * SAEM-80 Webservice de complétion du bordereau
+ * @author romain.chiquois
+ */
+ public byte[] wsCompleterBordereau(Object bordereau, String login,
+ String password) {
+ try{
+ if (super.cachedEndpoint == null) {
+ throw new org.apache.axis.NoEndPointException();
+ }
+ org.apache.axis.client.Call _call = createCall();
+ _call.setOperation(_operations[6]);
+ _call.setUseSOAPAction(true);
+ _call.setSOAPActionURI("urn:WebServiceAction");
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+ _call.setOperationName(new javax.xml.namespace.QName("urn:server",
+ "wsCompleterBordereau"));
+
+ setRequestHeaders(_call);
+ setAttachments(_call);
+ try {
+ Object _resp = _call.invoke(new Object[] { bordereau, login,
+ password });
+
+ if (_resp instanceof java.rmi.RemoteException) {
+ throw (java.rmi.RemoteException) _resp;
+ } else {
+ extractAttachments(_call);
+ try {
+ return (byte[]) _resp;
+ } catch (Exception _exception) {
+ return (byte[]) org.apache.axis.utils.JavaUtils.convert(
+ _resp, byte[].class);
+ }
+ }
+ } catch (org.apache.axis.AxisFault axisFaultException) {
+ throw axisFaultException;
+ }
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+ return null;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.connector.asalae.ws;
+
+import java.rmi.RemoteException;
+
+/**
+ *
+ * Classe contenant les méthodes du webservice
+ *
+ * @Class : WebServicePortType.java
+ * @Package : eu.akka.saem.alfresco.connector.asalae.ws
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: WebServicePortType.java $
+ *
+ */
+public interface WebServicePortType extends java.rmi.Remote {
+
+ /**
+ * Dépose une archive et son bordereau de transfert dans AS@LAE
+ *
+ * Method : wsDepot()
+ * @param nomBordereau
+ * @param bordereau
+ * @param nomDocument
+ * @param document
+ * @param typeDocument
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException String
+ */
+ public String wsDepot(String nomBordereau, byte[] bordereau, String nomDocument, byte[] document,
+ String typeDocument, String login, String password) throws RemoteException;
+
+ /**
+ * Faire une demande de restitution
+ *
+ * Method : wsRestitution()
+ * @param nomBordereau
+ * @param bordereau
+ * @param nomDocument
+ * @param document
+ * @param typeDocument
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException String
+ */
+ public String wsRestitution(String nomBordereau, byte[] bordereau, String nomDocument, byte[] document,
+ String typeDocument, String login, String password) throws RemoteException;
+
+
+ /**
+ * Créer un bordereau SEDA à partir d'un tableau d'information.
+ *
+ * Method : wsGSeda()
+ * @param nomBordereau
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException String
+ */
+ public String wsGSeda(Object nomBordereau, String login, String password) throws RemoteException;
+
+ /**
+ * Crée une demande d'élimination dans AS@LAE
+ * Method : wsElimination()
+ * @param nomBordereau
+ * @param bordereau
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException java.lang.String
+ */
+ public java.lang.String wsElimination(String nomBordereau, byte[] bordereau, String login, String password) throws RemoteException;
+
+ /**
+ * Permet de recuperer la version d'asalae
+ *
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException
+ */
+ public String wsGetVersion(String login, String password) throws RemoteException;
+
+ /**
+ * Permet de recuperer les profils d'asalae
+ *
+ * Method : wsGetProfil()
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException String
+ */
+ public String wsGetProfil(String login, String password) throws RemoteException;
+
+ /**
+ * SAEM-80 : Webservice pour la récupération des DUA expirées
+ *
+ * Method : wsGetDuaExpirees()
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException Object
+ */
+ public Object wsGetDuaExpirees(String login, String password) throws RemoteException;
+
+ /**
+ * SAEM-80 : Webservice pour la complétion du bordereau
+ *
+ * Method : wsCompleterBordereau()
+ * @param bordereau
+ * @param login
+ * @param password
+ * @return byte[]
+ */
+ public byte[] wsCompleterBordereau(Object bordereau, String login, String password);
+
+ /**
+ * Method : wsGetMessage()
+ * @param typeEchange
+ * @param typeMessage
+ * @param identifiantMessage
+ * @param login
+ * @param password
+ * @return
+ * @throws RemoteException String
+ */
+ public String wsGetMessage(String typeEchange, String typeMessage, String identifiantMessage,
+ String login, String password) throws RemoteException;
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.constants;
+
+/**
+ *
+ * Gestion de l'état des archives notamment utilisé
+ * pour la gestion des couleurs dossiers
+ *
+ * @Class : SAEMArchiveStates.java
+ * @Package : eu.akka.saem.alfresco.constants
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAEMArchiveStates.java $
+ *
+ */
+public class SAEMArchiveStates {
+
+ public static final String NORMAL = "normal";
+ public static final String VERSER = "verser";
+ public static final String INTERMEDIAIRE = "intermediaire";
+ public static final String DEFINITIF = "definitif";
+ public static final String ELIMINER = "eliminer";
+ public static final String RESTITUER = "restituer";
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.constants;
+
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+
+/**
+ *
+ * Classe contenant les constantes des BEANS à initialiser
+ *
+ * @Class : SAEMBeanContants.java
+ * @Package : eu.akka.saem.alfresco.constants
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAEMBeanContants.java $
+ *
+ */
+public class SAEMBeanContants {
+
+ public static final QName PROPERTY_READER = QName.createQName(NamespaceService.ALFRESCO_URI, "propertyReader");
+ public static final QName PROFIL_SEDA_UTILS = QName.createQName(NamespaceService.ALFRESCO_URI, "profilSEDAUtils");
+ public static final QName SERVICE_VERSANT_HELPER = QName.createQName(NamespaceService.ALFRESCO_URI, "ServiceVersantHelper");
+ public static final QName ASALAE_UTILS = QName.createQName(NamespaceService.ALFRESCO_URI, "asalaeUtils");
+ public static final QName ZIP_UTILS = QName.createQName(NamespaceService.ALFRESCO_URI, "zipUtils");
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.constants;
+
+import org.alfresco.service.namespace.QName;
+
+/**
+ *
+ * Interface contenant tous les aspects alfresco
+ *
+ * @Class : SAEMModelConstants.java
+ * @Package : eu.akka.saem.alfresco.constants
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAEMModelConstants.java $
+ *
+ */
+public interface SAEMModelConstants {
+
+ public static final String SAEM_MODEL_1_0_URI = "http://www.akka.com/model/content/1.0";
+ public static final QName MODEL_SAEM = QName.createQName(SAEM_MODEL_1_0_URI, "contentmodel");
+
+ /**
+ * ASPECTS
+ */
+ public static final QName ASPECT_PROFILABLE = QName.createQName(SAEM_MODEL_1_0_URI, "profilable");
+ public static final QName ASPECT_PROFIL = QName.createQName(SAEM_MODEL_1_0_URI, "profil");
+ public static final QName ASPECT_ARCHIVABLE = QName.createQName(SAEM_MODEL_1_0_URI, "archivable");
+ public static final QName ASPECT_SOUS_OBJET_ARCHIVE = QName.createQName(SAEM_MODEL_1_0_URI, "sous_objet_archive");
+ public static final QName ASPECT_DOCUMENT_ARCHIVE = QName.createQName(SAEM_MODEL_1_0_URI, "document_archive");
+ public static final QName ASPECT_VERSE = QName.createQName(SAEM_MODEL_1_0_URI, "verse");
+ public static final QName ASPECT_NON_VERSE = QName.createQName(SAEM_MODEL_1_0_URI, "not_verse");
+ public static final QName ASPECT_ELIMINABLE = QName.createQName(SAEM_MODEL_1_0_URI, "eliminable");
+ public static final QName ASPECT_RESTITUABLE = QName.createQName(SAEM_MODEL_1_0_URI, "restituable");
+ public static final QName ASPECT_SEARCHABLE_AFTER_VERSEMENT = QName.createQName(SAEM_MODEL_1_0_URI, "searchable_after_versement");
+ public static final QName ASPECT_IS_ACCUSE = QName.createQName(SAEM_MODEL_1_0_URI, "is_accuse");
+ public static final QName ASPECT_TRANSFERT_EN_COURS = QName.createQName(SAEM_MODEL_1_0_URI, "transfert_en_cours");
+ public static final QName ASPECT_ELIMINATION_STATE = QName.createQName(SAEM_MODEL_1_0_URI, "elimination_state");
+ public static final QName ASPECT_ARCHIVE_STATE = QName.createQName(SAEM_MODEL_1_0_URI, "archive_state");
+ public static final QName ASPECT_PROFIL_NAME = QName.createQName(SAEM_MODEL_1_0_URI, "profil_name");
+
+ /**
+ * PROPERTIES
+ */
+ public static final QName PROP_PROFIL_NAME = QName.createQName(SAEM_MODEL_1_0_URI, "profilName");
+ public static final QName PROP_IS_PROFIL = QName.createQName(SAEM_MODEL_1_0_URI, "isprofil");
+ public static final QName PROP_IS_ARCHIVE = QName.createQName(SAEM_MODEL_1_0_URI, "isarchive");
+ public static final QName PROP_SEDA_ARCHIVE = QName.createQName(SAEM_MODEL_1_0_URI, "seda_archive");
+ public static final QName PROP_SEDA_OBJECT_MODEL= QName.createQName(SAEM_MODEL_1_0_URI, "seda_object_model");
+ public static final QName PROP_SEDA_ARCHIVE_XML = QName.createQName(SAEM_MODEL_1_0_URI, "seda_archive_xml");
+ public static final QName PROP_SEDA_ARCHIVE_XML_FULL = QName.createQName(SAEM_MODEL_1_0_URI, "seda_archive_xml_full");
+ public static final QName PROP_SEDA_ARCHIVE_PROFIL_MODEL = QName.createQName(SAEM_MODEL_1_0_URI, "seda_archive_profil_model");
+ public static final QName PROP_SEDA_PROFIL_USE_NODEREF = QName.createQName(SAEM_MODEL_1_0_URI, "seda_archive_profil_use_noderef");
+ public static final QName PROP_SEDA_VERSEMENT_ACKNOWLEDGMENT = QName.createQName(SAEM_MODEL_1_0_URI, "seda_versement_acknowledgment");
+ public static final QName PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT = QName.createQName(SAEM_MODEL_1_0_URI, "seda_elimination_acknowledgment");
+ public static final QName PROP_SEDA_RESTITUTION_ACKNOWLEDGMENT = QName.createQName(SAEM_MODEL_1_0_URI, "seda_restitution_acknowledgment");;
+ public static final QName PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER = QName.createQName(SAEM_MODEL_1_0_URI, "seda_archive_ArchivalAgencyArchiveIdentifier");
+ public static final QName PROP_SEDA_SOUS_OBJET_ARCHIVE = QName.createQName(SAEM_MODEL_1_0_URI, "seda_sous_objet_archive");
+ public static final QName PROP_SEDA_SOUS_OBJET_ARCHIVE_XML = QName.createQName(SAEM_MODEL_1_0_URI, "seda_sous_objet_archive_xml");
+ public static final QName PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER = QName.createQName(SAEM_MODEL_1_0_URI, "seda_sous_objet_archive_ArchivalAgencyObjectIdentifier");
+ public static final QName PROP_SEDA_DOCUMENT = QName.createQName(SAEM_MODEL_1_0_URI, "seda_document");
+ public static final QName PROP_SEDA_DOCUMENT_XML = QName.createQName(SAEM_MODEL_1_0_URI, "seda_document_xml");
+ public static final QName PROP_SV_CANDIDATE_GROUPS = QName.createQName(SAEM_MODEL_1_0_URI, "serviceVersant");
+ public static final QName PROP_SC_CANDIDATE_GROUPS = QName.createQName(SAEM_MODEL_1_0_URI, "controlService");
+ public static final QName PROP_IS_HIDDEN = QName.createQName(SAEM_MODEL_1_0_URI, "is_hidden");
+ public static final QName PROP_HIDDEN_CONTENT = QName.createQName(SAEM_MODEL_1_0_URI, "hidden_content");
+ public static final QName PROP_TYPE_ACCUSE = QName.createQName(SAEM_MODEL_1_0_URI, "type_accuse");
+ public static final QName PROP_ELIMINATION_INITIATOR = QName.createQName(SAEM_MODEL_1_0_URI, "elimination_initiator");
+ public static final QName PROP_TAILLE_TELECHARGE = QName.createQName(SAEM_MODEL_1_0_URI, "taille_telecharge");
+ public static final QName PROP_POURCENTAGE_D_AVANCEMENT = QName.createQName(SAEM_MODEL_1_0_URI, "pourcentage_d_avancement");
+ public static final QName PROP_STATE = QName.createQName(SAEM_MODEL_1_0_URI, "state");
+ public static final QName PROP_ARCHIVE_STATE_PROP = QName.createQName(SAEM_MODEL_1_0_URI, "archive_state_prop");
+ public static final QName PROP_ARCHIVE_PROFIL_NAME = QName.createQName(SAEM_MODEL_1_0_URI, "archive_profil_name");
+
+ /**
+ * Groupes et utilisateurs
+ */
+ public static final String GROUP_GG_APP_GED_ARCHIVE = "GROUP_GG_APP_GED_ARCHIVE";
+ public static final String GROUP_GG_APP_GED_VERSANT = "GROUP_GG_APP_GED_VERSANT";
+}
--- /dev/null
+package eu.akka.saem.alfresco.constants;
+
+/**
+ *
+ * Interface contenant toute les propriétés
+ *
+ * @Class : SAEMPropertiesConstants.java
+ * @Package : eu.akka.saem.alfresco.constants
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAEMPropertiesConstants.java $
+ *
+ */
+public interface SAEMPropertiesConstants {
+
+ /**
+ * Propriétés de configuration
+ */
+ public static final String PROPERTIES_FILE = "saem.properties";
+ public static final String CATEGORY_PROFIL_NODEREF = "category.profil.seda.noderef";
+
+ public static final String FOLDER_SYSTEM_PROFILS_NAME = "profils.system.folder.name";
+ public static final String FOLDER_SYSTEM_DATA_DICTIONNARY_NODEREF = "datadictionnary.system.folder.noderef";
+ public static final String SITE_SERVICE_VERSANT_SHORTNAME = "service.versant.site.shortname";
+ public static final String ASALAE_INT_URL = "asalae.int.url";
+ public static final String ASALAE_INT_LOGIN = "asalae.int.login";
+ public static final String ASALAE_INT_PASSWORD = "asalae.int.password";
+ public static final String ASALAE_DEF_URL = "asalae.def.url";
+ public static final String ASALAE_DEF_LOGIN = "asalae.def.login";
+ public static final String ASALAE_DEF_PASSWORD = "asalae.def.password";
+
+ public static final String SIZE_BIG_FILE = "size.big.file";
+ public static final String HOST_TRANSFERT_BIG_FILE = "transfert.big.file.host";
+ public static final String PORT_TRANSFERT_BIG_FILE = "transfert.big.file.port";
+ public static final String NBBYTES_TRANSFERT_BIG_FILE = "transfert.big.file.nbbytes";
+
+ /**
+ * Propriété d'internationalisation
+ */
+ public static final String PROP_SEDA_SERVICE_VERSANT = "label.service.versant";
+ public static final String PROP_SEDA_TRANSFER_IDENTIFIER = "label.transfert.identifier";
+ public static final String PROP_SEDA_TRANSFER_DATE = "label.transfert.date";
+ public static final String PROP_SEDA_DATE_DE_DEBUT = "label.unite.documentaire.date.debut";
+ public static final String PROP_SEDA_DATE_DE_FIN = "label.unite.documentaire.date.fin";
+
+ public static final String PROP_SEDA_DESCRIPTION_LEVEL = "label.niveau.description";
+ public static final String PROP_SEDA_FINAL_SORT = "label.sort.final";
+ public static final String PROP_SEDA_FINAL_SORT_RULE = "label.regle.sort.final";
+ public static final String PROP_SEDA_VERSEMENT_COMMENT = "label.commentaire.versement";
+ public static final String PROP_SEDA_KEYWORDS = "label.mots.cles";
+
+ public static final String PROP_SEDA_ORIGIN_IDENTIFIER = "label.identifiant.origine";
+ public static final String PROP_SEDA_DESCRIPTION = "label.description";
+ public static final String PROP_SEDA_DOCUMENT_TYPE = "label.type.document";
+ public static final String PROP_SEDA_DOCUMENT_HASH = "label.document.md5";
+}
--- /dev/null
+package eu.akka.saem.alfresco.exception;
+
+import org.alfresco.service.cmr.model.FileExistsException;
+import org.alfresco.service.cmr.repository.NodeRef;
+
+/**
+ *
+ * Classe Exception utilisé lorsqu'un noderef existe déjà
+ *
+ * @Class : FileAlreadyExistException.java
+ * @Package : eu.akka.saem.alfresco.exception
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: FileAlreadyExistException.java $
+ *
+ */
+public class FileAlreadyExistException extends Exception {
+
+ private static final long serialVersionUID = 2084633284197024335L;
+
+ private NodeRef parentNodeRef;
+ private String name;
+
+ public FileAlreadyExistException(FileExistsException e) {
+ super("Existing file or folder " + e.getName() + " already exists");
+ this.parentNodeRef = e.getParentNodeRef();
+ this.name = e.getName();
+ }
+
+ public NodeRef getParentNodeRef() {
+ return parentNodeRef;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.exception;
+
+/**
+ *
+ * Classe Exception utilisé dans le cas d'une
+ * erreur de création de conteneur
+ *
+ * @Class : NoDestinationException.java
+ * @Package : eu.akka.saem.alfresco.exception
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: NoDestinationException.java $
+ *
+ */
+public class NoDestinationException extends Exception{
+
+ public NoDestinationException(String string) {
+ super(string);
+ }
+
+ private static final long serialVersionUID = 3969081245957382686L;
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.exception;
+
+/**
+ *
+ * Classe Exception utilisé dans le cas
+ * d'une création d'archive dans un dossier non profilé
+ *
+ * @Class : NoProfilableFolderException.java
+ * @Package : eu.akka.saem.alfresco.exception
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: NoProfilableFolderException.java $
+ *
+ */
+public class NoProfilableFolderException extends Exception {
+
+ public NoProfilableFolderException(String string) {
+ super(string);
+ }
+
+ private static final long serialVersionUID = -5512513840058697095L;
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.form;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.forms.FieldDefinition;
+import org.alfresco.repo.forms.Form;
+import org.alfresco.repo.forms.FormData;
+import org.alfresco.repo.forms.PropertyFieldDefinition;
+import org.alfresco.repo.forms.PropertyFieldDefinition.FieldConstraint;
+import org.alfresco.repo.forms.processor.AbstractFilter;
+import org.alfresco.repo.forms.processor.node.FormFieldConstants;
+import org.alfresco.service.cmr.dictionary.ClassDefinition;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ * Listener sur la génération des formulaires Modifie le formulaire d'un dossier
+ * ayant l'aspect profilable pour ajouter sur la métadonnées Profil SEDA la
+ * liste des profils SEDA récupérés dans le dossier système correspond
+ * (administration de ce dossier systeme par le fichier de propriété
+ * saem.properties
+ *
+ * @Class : ProfilArchivageFormFilter.java
+ * @Package : eu.akka.saem.alfresco.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ProfilArchivageFormFilter.java $
+ *
+ */
+public class ProfilArchivageFormFilter extends AbstractFilter<Object, NodeRef> {
+
+ private NamespaceService namespaceService;
+ private NodeService nodeService;
+ private ProfilSEDAUtils profilSEDAUtils;
+
+ private static Logger LOG = Logger.getLogger(ProfilArchivageFormFilter.class);
+
+ /**
+ * Point d'entrée
+ */
+ @Override
+ public void afterGenerate(Object item, List<String> fields, List<String> forcedFields, Form form,
+ Map<String, Object> context) {
+ boolean isProfilableFolderForm = false;
+ if (item.getClass().getName().equals(NodeRef.class.getName())) {
+ isProfilableFolderForm = ContentModel.TYPE_FOLDER.equals(nodeService.getType((NodeRef) item))
+ && nodeService.hasAspect((NodeRef) item, SAEMModelConstants.ASPECT_PROFILABLE);
+ } else {
+ ClassDefinition contentType = (ClassDefinition) item;
+ isProfilableFolderForm = ContentModel.TYPE_FOLDER.equals(contentType.getName());
+ }
+ if (isProfilableFolderForm) {
+
+ // lookup field definition
+ final String PROP_PROFIL_DataKey = FormFieldConstants.PROP_DATA_PREFIX
+ + SAEMModelConstants.PROP_PROFIL_NAME.toPrefixString(this.namespaceService).replace(':', '_');
+
+ final List<FieldDefinition> fieldDefinitions = form.getFieldDefinitions();
+
+ for (FieldDefinition def : fieldDefinitions) {
+ if (def instanceof PropertyFieldDefinition
+ && PROP_PROFIL_DataKey.equals(def.getDataKeyName()))
+ addProfilConstraints(fieldDefinitions,(NodeRef) item);
+ }
+ }
+ }
+
+ @Override
+ public void afterPersist(Object item, FormData data, NodeRef persistedObject) {
+ }
+
+ @Override
+ public void beforeGenerate(Object item, List<String> fields, List<String> forcedFileds, Form form,
+ Map<String, Object> context) {
+ }
+
+ @Override
+ public void beforePersist(Object item, FormData data) {
+ }
+
+ /**
+ * Ajoute les contraintes sur le champ "profil"
+ * @param fieldDefinitions
+ * @param item
+ */
+ private void addProfilConstraints(final List<FieldDefinition> fieldDefinitions, NodeRef item) {
+
+ final String lookupDataKey = FormFieldConstants.PROP_DATA_PREFIX
+ + SAEMModelConstants.PROP_PROFIL_NAME.toPrefixString(this.namespaceService).replace(':', '_');
+
+ List<String> options = null;
+ // collect your options
+ options = profilSEDAUtils.getProfilsSEDAList();
+
+ LOG.debug("Ajout des contraintes sur le champ profil");
+ addPropertyListOptions(lookupDataKey, fieldDefinitions, options);
+ }
+
+ /**
+ * Méthode générique réutilisable pour l'insertion d'une liste de contrainte dans un champ
+ * TODO Etudier la possibilité de sortir cette méthode dans une classe utilitaire
+ * @param lookupDataKey
+ * @param fieldDefinitions
+ * @param options
+ */
+ private void addPropertyListOptions(final String lookupDataKey,
+ final List<FieldDefinition> fieldDefinitions, final List<String> options) {
+ PropertyFieldDefinition propertyDefinition = null;
+
+ for (final FieldDefinition def : fieldDefinitions) {
+ if (def instanceof PropertyFieldDefinition && lookupDataKey.equals(def.getDataKeyName())) {
+ propertyDefinition = (PropertyFieldDefinition) def;
+ break;
+ }
+ }
+
+ if (propertyDefinition != null) {
+ // build constraints
+ final Map<String, Object> constraintParams = new HashMap<String, Object>();
+
+ constraintParams.put("caseSensitive", true);
+ constraintParams.put("allowedValues", options);
+
+ // actually constrain the field
+ final FieldConstraint constraint = new FieldConstraint("LIST", constraintParams);
+ List<FieldConstraint> constraints = propertyDefinition.getConstraints();
+ if (constraints == null) {
+ constraints = new ArrayList<PropertyFieldDefinition.FieldConstraint>();
+ propertyDefinition.setConstraints(constraints);
+ }
+ constraints.add(constraint);
+ }
+ }
+
+
+ //Setters pour Spring
+ public void setNamespaceService(NamespaceService namespaceService) {
+ this.namespaceService = namespaceService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setProfilSEDAUtils(ProfilSEDAUtils profilSEDAUtils) {
+ this.profilSEDAUtils = profilSEDAUtils;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.helper;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+
+/**
+ *
+ * Bean permettant la lecture
+ * des propriétés du fichier properties
+ *
+ * @Class : PropertyReader.java
+ * @Package : eu.akka.saem.alfresco.helper
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: PropertyReader.java $
+ *
+ */
+public class PropertyReader {
+
+ private static Logger logger = Logger.getLogger(PropertyReader.class);
+ public String property;
+ Properties properties = new Properties();
+
+ public PropertyReader() {
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ InputStream inputStream = classLoader.getResourceAsStream(SAEMPropertiesConstants.PROPERTIES_FILE);
+ try {
+ properties.load(inputStream);
+ } catch (IOException e) {
+ logger.error("Error while loading property file in PropertyReader() : " + e.getMessage());
+ e.printStackTrace();
+ } finally {
+ if (inputStream != null) {
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ logger.error("Error while closing property file in PropertyReader() : " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ public String getProperty(String property) {
+ return properties.getProperty(property);
+ }
+
+ public void setProperty(String property) {
+ this.property = property;
+ }
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.helper;
+
+import org.alfresco.repo.processor.BaseProcessorExtension;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.security.AccessStatus;
+import org.alfresco.service.cmr.security.PermissionService;
+import org.alfresco.service.cmr.site.SiteInfo;
+import org.alfresco.service.cmr.site.SiteService;
+
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+
+/**
+ *
+ * Classe utilitaire contenant des méthodes permettant
+ * de récupérer certaine donnée sur l'environnement Alfresco
+ * mis en place
+ *
+ * @Class : ServiceVersantHelper.java
+ * @Package : eu.akka.saem.alfresco.helper
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ServiceVersantHelper.java $
+ *
+ */
+public class ServiceVersantHelper extends BaseProcessorExtension {
+
+ private SiteService siteService;
+ private PermissionService permissionService;
+ private PropertyReader propertyReader;
+
+ public boolean isSiteServiceVersant(String siteName) {
+ if (siteName == null | siteName.equals("")) {
+ return false;
+ }
+ String siteServiceVersantShortName = propertyReader
+ .getProperty(SAEMPropertiesConstants.SITE_SERVICE_VERSANT_SHORTNAME);
+ return siteName.equals(siteServiceVersantShortName);
+ }
+
+ public String getDocumentLibraryNodeRef() {
+ String siteServiceVersantShortName = propertyReader
+ .getProperty(SAEMPropertiesConstants.SITE_SERVICE_VERSANT_SHORTNAME);
+ SiteInfo siteInfo = siteService.getSite(siteServiceVersantShortName);
+
+ // récupération du dossier "documentLibrary"
+ final NodeRef docLib = siteService.getContainer(siteInfo.getShortName(), "documentlibrary");
+
+ return docLib.toString();
+ }
+
+ public boolean hasAddChildrenPermission() {
+ String siteServiceVersantShortName = propertyReader
+ .getProperty(SAEMPropertiesConstants.SITE_SERVICE_VERSANT_SHORTNAME);
+ SiteInfo siteInfo = siteService.getSite(siteServiceVersantShortName);
+
+ final NodeRef docLib = siteService.getContainer(siteInfo.getShortName(), "documentlibrary");
+ AccessStatus access = permissionService.hasPermission(docLib, PermissionService.ADD_CHILDREN);
+ return (access != null && access.equals(AccessStatus.ALLOWED));
+ }
+
+ public String getServiceVersantSiteName() {
+ return propertyReader.getProperty(SAEMPropertiesConstants.SITE_SERVICE_VERSANT_SHORTNAME);
+ }
+
+ public void setSiteService(SiteService siteService) {
+ this.siteService = siteService;
+ }
+
+ public void setPermissionService(PermissionService permissionService) {
+ this.permissionService = permissionService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.listener;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Date;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.node.NodeServicePolicies;
+import org.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy;
+import org.alfresco.repo.policy.Behaviour;
+import org.alfresco.repo.policy.JavaBehaviour;
+import org.alfresco.repo.policy.PolicyComponent;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentIOException;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.util.FileNameValidator;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.InitializingBean;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.seda.SEDADocument;
+import eu.akka.saem.alfresco.seda.SEDAFolder;
+import eu.akka.saem.alfresco.seda.loader.RNGLoader;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DocumentType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.utils.BrowsableSEDAUtils;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe d'écoute qui se lance aprés chaque positionnement
+ * de l'aspect Archivable sur un nodeRef
+ *
+ * @Class : AfterAddArchivableAspectListener.java
+ * @Package : eu.akka.saem.alfresco.listener
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AfterAddArchivableAspectListener.java $
+ *
+ */
+@Deprecated
+public class AfterAddArchivableAspectListener implements OnAddAspectPolicy, InitializingBean {
+
+ private static final Log LOG = LogFactory.getLog(AfterAddArchivableAspectListener.class);
+
+ private PolicyComponent policyComponent;
+ private FileFolderService fileFolderService;
+ private NodeService nodeService;
+ private ContentService contentService;
+ private ProfilSEDAUtils profilSEDAUtils;
+ private SearchService searchService;
+ private NamespaceService namespaceService;
+
+ @Override
+ public void onAddAspect(NodeRef nodeRef, QName aspectTypeQName) {
+
+ NodeRef nodeRefProfilableFolder = getProfilableParentFolder(nodeRef);
+ if (nodeRefProfilableFolder == null) {
+ LOG.error("Pas de profil SEDA associé à ce dossier, l'arborescence ne pourra pas être créé");
+ LOG.error("Nom de l'archive concerné : "
+ + nodeService.getProperty(nodeRef, ContentModel.PROP_NAME));
+ return;
+ }
+
+ String profilName = (String) nodeService.getProperty(nodeRefProfilableFolder,
+ SAEMModelConstants.PROP_PROFIL_NAME);
+ if (profilName == null || profilName == "") {
+ LOG.error("Pas de profil SEDA associé à ce dossier, l'arborescence ne pourra pas être créé");
+ LOG.error("Nom de l'archive concerné : "
+ + nodeService.getProperty(nodeRef, ContentModel.PROP_NAME));
+ }
+ NodeRef profilSEDANodeRef = profilSEDAUtils.getProfilSEDA(profilName, nodeRefProfilableFolder);
+
+ // Récupération du fichier RNG
+ ContentReader reader = contentService.getReader(profilSEDANodeRef, ContentModel.PROP_CONTENT);
+ try {
+ ArchiveTransferType profilSEDA;
+ if(profilName.split("\\.")[1].equals(".rng")){
+ profilSEDA = (ArchiveTransferType) RNGLoader.ArchiveTransferLoader(
+ reader.getContentInputStream()).getObject();
+ }else{
+ profilSEDA = (ArchiveTransferType) XMLLoader.SEDALoader(reader.getContentInputStream());
+ }
+
+ BrowsableSEDAUtils bsu = new BrowsableSEDAUtils(profilSEDA);
+
+ // Creer tous les sous repertoire ainsi que leur sous repertoire
+ List<SEDAFolder> subfolders = bsu.getRoot().getSubFolders();
+
+ for (SEDAFolder subfolder : subfolders) {
+ createFolderRecursif(subfolder, nodeRef);
+ }
+
+ } catch (ContentIOException | ClassNotFoundException | InstantiationException
+ | IllegalAccessException | SecurityException | NoSuchMethodException
+ | IllegalArgumentException | InvocationTargetException | ParserConfigurationException
+ | SAXException | IOException e) {
+ LOG.error("Une erreur s'est produite au parsing du profil SEDA", e);
+ }
+ }
+
+ /**
+ * Permet de récupérer le nodeRef du parent
+ * "profilable le plus proche d'un noeud"
+ *
+ * @param nodeRef
+ * @return le noderef du dossier profilable, null si il n'a pas de dossier
+ * profilable
+ */
+ private NodeRef getProfilableParentFolder(NodeRef nodeRef) {
+ if (nodeRef == null) {
+ return null;
+ }
+ if (nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_PROFILABLE)) {
+ return nodeRef;
+ }
+ return getProfilableParentFolder(nodeService.getPrimaryParent(nodeRef).getParentRef());
+ }
+
+ /**
+ * Parcours l'objet SEDAFolder et crée automatiquement les dossiers et sous
+ * dossiers correspondants
+ *
+ * @param folder
+ * @param nodeRef
+ */
+ private void createFolderRecursif(SEDAFolder folder, NodeRef nodeRef) {
+
+ String name = folder.getName();
+ name = StringUtils.trim(name);
+
+ if (name == null || name == "") {
+ name = Long.toString(new Date().getTime());
+ } else if (!FileNameValidator.isValid(name)) {
+ name = FileNameValidator.getValidFileName(name);
+ }
+ StringUtils.trim(name);
+
+ String description = folder.getDescription();
+ StringUtils.trim(description);
+
+ //Vérification qu'un dossier du meme nom n'existe pas déjà
+ //FIXME LA requete n'est pas bonne
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\""+nodeService.getPath(nodeRef).toPrefixString(namespaceService) + "//*\"" + " AND @cm\\:name:" + name +"*");
+ ResultSet rs = searchService.query(sp);
+ if(rs.length() != 0){
+ name = name + (rs.length() + 1);
+ }
+
+ // Création du dossier dans Alfresco
+ NodeRef newFolderNodeRef = fileFolderService.create(nodeRef, name, ContentModel.TYPE_FOLDER)
+ .getNodeRef();
+ // Ajout de la description au dossier dans Alfresco
+ nodeService.setProperty(newFolderNodeRef, ContentModel.PROP_DESCRIPTION, description);
+ // Ajout de l'aspect relatif aux dossiers SEDA
+ nodeService.addAspect(newFolderNodeRef, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE, null);
+
+ List<ArchiveObjectType> subfoldersSave = null;
+ List<DocumentType> documentsSave = null;
+ // Récupération du XML et positionnement dans les propriétés
+ //Suppression des contains pour qu'ils ne poluent pas le xml
+ if(folder.getSEDARelatedObject().getClass().getName().equals(ArchiveObjectType.class.getName())){
+ ArchiveObjectType SEDARelatedObjet = (ArchiveObjectType) folder.getSEDARelatedObject();
+ subfoldersSave = SEDARelatedObjet.getContains();
+ SEDARelatedObjet.setContains(null);
+ documentsSave = SEDARelatedObjet.getDocument();
+ SEDARelatedObjet.setDocument(null);
+ }
+ //Suppression des documents pour qu'ils ne poluent pas le xml
+ if(folder.getSEDARelatedObject().getClass().getName().equals(ArchiveType.class.getName())){
+ ArchiveType SEDARelatedObjet = (ArchiveType) folder.getSEDARelatedObject();
+ subfoldersSave = SEDARelatedObjet.getContains();
+ SEDARelatedObjet.setContains(null);
+ documentsSave = SEDARelatedObjet.getDocument();
+ SEDARelatedObjet.setDocument(null);
+ }
+ //Suppression des documents pour qu'ils ne poluent pas le xml
+ if(folder.getSEDARelatedObject().getClass().getName().equals(ArchiveTransferType.class.getName())){
+ ArchiveTransferType SEDARelatedObjet = (ArchiveTransferType) folder.getSEDARelatedObject();
+ subfoldersSave = SEDARelatedObjet.getContains().get(0).getContains();
+ SEDARelatedObjet.getContains().get(0).setContains(null);
+ documentsSave = SEDARelatedObjet.getContains().get(0).getDocument();
+ SEDARelatedObjet.getContains().get(0).setDocument(null);
+ }
+
+ nodeService.setProperty(newFolderNodeRef, SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML,
+ SEDAWriter.transformSEDAObjectToXML(folder.getSEDARelatedObject()));
+
+ //Repositionnement
+ if(folder.getSEDARelatedObject().getClass().getName().equals(ArchiveObjectType.class.getName())){
+ ArchiveObjectType SEDARelatedObjet = (ArchiveObjectType) folder.getSEDARelatedObject();
+ SEDARelatedObjet.setContains(subfoldersSave);
+ SEDARelatedObjet.setDocument(documentsSave);
+ }
+ //Repositionnement
+ if(folder.getSEDARelatedObject().getClass().getName().equals(ArchiveType.class.getName())){
+ ArchiveType SEDARelatedObjet = (ArchiveType) folder.getSEDARelatedObject();
+ SEDARelatedObjet.setContains(subfoldersSave);
+ SEDARelatedObjet.setDocument(documentsSave);
+ }
+ if(folder.getSEDARelatedObject().getClass().getName().equals(ArchiveTransferType.class.getName())){
+ ArchiveTransferType SEDARelatedObjet = (ArchiveTransferType) folder.getSEDARelatedObject();
+ SEDARelatedObjet.getContains().get(0).setContains(subfoldersSave);
+ SEDARelatedObjet.getContains().get(0).setDocument(documentsSave);
+ }
+
+ // Création des documents associés
+ createDocuments(folder.getDocuments(), newFolderNodeRef);
+
+ // Création des sous-dossiers
+ for (SEDAFolder subfolder : folder.getSubFolders()) {
+ createFolderRecursif(subfolder, newFolderNodeRef);
+ }
+ }
+
+ private void createDocuments(List<SEDADocument> documents, NodeRef destination) {
+
+ for (SEDADocument doc : documents) {
+ String name = doc.getName();
+ StringUtils.trim(name);
+ name = FileNameValidator.getValidFileName(name);
+
+ String description = doc.getDescription();
+ StringUtils.trim(description);
+
+ //Vérification qu'un dossier du meme nom n'existe pas déjà
+ //FIXME La requete n'est pas bonne
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\""+nodeService.getPath(destination).toPrefixString(namespaceService) + "//*\"" + " AND @cm\\:name:" + name +"*");
+ ResultSet rs = searchService.query(sp);
+ if(rs.length() != 0){
+ name = name + (rs.length() + 1);
+ }
+ // Création du dossier dans Alfresco
+ NodeRef newDocumentNodeRef = fileFolderService.create(destination, name, ContentModel.TYPE_CONTENT)
+ .getNodeRef();
+ // Ajout de la description au dossier dans Alfresco
+ nodeService.setProperty(newDocumentNodeRef, ContentModel.PROP_DESCRIPTION, description);
+
+ nodeService.addAspect(newDocumentNodeRef, SAEMModelConstants.ASPECT_DOCUMENT_ARCHIVE, null);
+
+ // Récupération du XML et positionnement dans les propriétés
+ nodeService.setProperty(newDocumentNodeRef, SAEMModelConstants.PROP_SEDA_DOCUMENT_XML,
+ SEDAWriter.transformSEDAObjectToXML(doc.getSEDARelatedObject()));
+
+ //TODO utiliser le contentservice pour uploader le fichier
+ }
+
+ }
+
+ /**
+ * Bind de la classe sur l'evenenent d'ajout de l'aspect archivable
+ */
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ policyComponent.bindClassBehaviour(NodeServicePolicies.OnAddAspectPolicy.QNAME,
+ SAEMModelConstants.ASPECT_ARCHIVABLE, new JavaBehaviour(this, "onAddAspect",
+ Behaviour.NotificationFrequency.TRANSACTION_COMMIT));
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.parser;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ *
+ * @Class : RNGParserUtils.java
+ * @Package : eu.akka.saem.alfresco.parser
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: RNGParserUtils.java $
+ *
+ */
+public class RNGParserUtils {
+ public static String START = "rng:start";
+ public static String REF = "rng:ref";
+ public static String REF_NAME_ATTRIBUT = "name";
+ public static String DEFINE = "rng:define";
+ public static String DEFINE_NAME_ATTRIBUT = "name";
+ public static String ELEMENT = "rng:element";
+ public static String ONEORMORE = "rng:oneOrMore";
+ public static String ZEROORMORE = "rng:zeroOrMore";
+ public static String OPTIONAL = "rng:optional";
+ public static String ELEMENT_NAME_ATTRIBUT = "name";
+ public static String VALUE = "rng:value";
+ public static String ATTRIBUT = "rng:attribute";
+ public static String ATTRIBUT_NAME_ATTRIBUT = "name";
+
+ public static String getElementName(Node node){
+ return node.getAttributes().getNamedItem(ELEMENT_NAME_ATTRIBUT).getNodeValue();
+ }
+
+ public static String getDefineName(Node node){
+ return node.getAttributes().getNamedItem(DEFINE_NAME_ATTRIBUT).getNodeValue();
+ }
+
+ public static String getRefName(Node node){
+ return node.getAttributes().getNamedItem(REF_NAME_ATTRIBUT).getNodeValue();
+ }
+
+ public static List<Node> getChildRefNode(Node node){
+ List<Node> nodes = new ArrayList<Node>();
+
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ Node n = node.getChildNodes().item(i);
+ if(n.getNodeName().equals(REF)){
+ nodes.add(n);
+ }
+ }
+ return nodes;
+ }
+
+ public static List<Node> getChildElementNode(Node node){
+ List<Node> nodes = new ArrayList<Node>();
+
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ Node n = node.getChildNodes().item(i);
+ if(n.getNodeName().equals(ELEMENT)){
+ nodes.add(n);
+ }
+
+ if(n.getNodeName().equals(ONEORMORE)){
+ nodes.addAll(getChildElementNode(n));
+ }
+
+ if(n.getNodeName().equals(ZEROORMORE)){
+ nodes.addAll(getChildElementNode(n));
+ }
+
+ if(n.getNodeName().equals(OPTIONAL)){
+ nodes.addAll(getChildElementNode(n));
+ }
+
+ }
+
+ return nodes;
+ }
+
+ public static Node getNodeValue(Node node) {
+
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ Node n = node.getChildNodes().item(i);
+ if(n.getNodeName().equals(VALUE)){
+ return n;
+ }
+ }
+
+ return null;
+ }
+
+ public static Node getDefineRefByName(String name,Document doc){
+ NodeList nodes = doc.getElementsByTagName(DEFINE);
+
+ for(int i=0; i < nodes.getLength(); i++){
+ Node n = nodes.item(i);
+ if(n.getAttributes().getNamedItem(DEFINE_NAME_ATTRIBUT).getNodeValue().equals(name)){
+ return n;
+ }
+ }
+
+ return null;
+ }
+
+ public static String getValueByElement(Node node) {
+ List<Node> ref_nodes = getChildRefNode(node);
+
+ if(ref_nodes.size() == 1)
+ {
+ Node define_node = getDefineRefByName(getRefName(ref_nodes.get(0)), node.getOwnerDocument());
+ return getValueByElement(define_node);
+ }
+ else if(getNodeValue(node)!=null){
+ return getNodeValue(node).getTextContent();
+ }
+ else{
+ return "";
+ }
+ }
+
+ public static Node getDefineNodeByElement(Node node) {
+ List<Node> ref_nodes = getChildRefNode(node);
+
+ if(ref_nodes.size() == 1 && getRefName(ref_nodes.get(0)).startsWith(getElementName(node)))
+ {
+ Node define_node = getDefineRefByName(getRefName(ref_nodes.get(0)), node.getOwnerDocument());
+ return define_node;
+ }
+
+ return node;
+ }
+
+ public static List<Node> getChildAttributNode(Node node) {
+ List<Node> nodes = new ArrayList<Node>();
+
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ Node n = node.getChildNodes().item(i);
+ if(n.getNodeName().equals(ATTRIBUT)){
+ nodes.add(n);
+ }
+ }
+
+ return nodes;
+ }
+
+ public static Object getAttributName(Node node) {
+ return node.getAttributes().getNamedItem(ATTRIBUT_NAME_ATTRIBUT).getNodeValue();
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda;
+
+/**
+ *
+ * Enumeration des différents types de champs du formulaire
+ *
+ * @Class : FieldFormType.java
+ * @Package : eu.akka.saem.alfresco.seda
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: FieldFormType.java $
+ *
+ */
+public enum FieldFormType {
+ STRING,
+ INT,
+ DATE,
+ SELECTBOX,
+ NOTE
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * Catégories d'objets appartenant au formulaire
+ *
+ * @Class : FormCategory.java
+ * @Package : eu.akka.saem.alfresco.seda
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: FormCategory.java $
+ *
+ */
+public class FormCategory {
+ private List<FormCategory> categories;
+ private List<FormFields> fields;
+ private String name;
+ private String description;
+
+ public FormCategory(){
+ this.categories = new ArrayList<FormCategory>();
+ this.fields = new ArrayList<FormFields>();
+ }
+
+ public List<FormCategory> getCategories() {
+ return categories;
+ }
+
+ public void setCategories(List<FormCategory> categories) {
+ this.categories = categories;
+ }
+
+ public List<FormFields> getFields() {
+ return fields;
+ }
+
+ public void setFields(List<FormFields> fields) {
+ this.fields = fields;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda;
+
+/**
+ *
+ * Constructeur des champs du formulaire
+ *
+ * @Class : FormFields.java
+ * @Package : eu.akka.saem.alfresco.seda
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: FormFields.java $
+ *
+ */
+public class FormFields {
+ private String name;
+ private String description;
+
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda;
+
+import eu.akka.saem.alfresco.seda.v02.complexType.DocumentType;
+
+/**
+ *
+ * Bean pour les documents SEDA
+ *
+ * @Class : SEDADocument.java
+ * @Package : eu.akka.saem.alfresco.seda
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDADocument.java $
+ *
+ */
+public class SEDADocument {
+
+ private String description;
+ private String name;
+ private DocumentType SEDARelatedObject;
+
+
+ public SEDADocument(){
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public DocumentType getSEDARelatedObject() {
+ return SEDARelatedObject;
+ }
+
+ public void setSEDARelatedObject(DocumentType dt) {
+ this.SEDARelatedObject = dt;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * Bean pour les dossiers SEDA
+ *
+ * @Class : SEDAFolder.java
+ * @Package : eu.akka.saem.alfresco.seda
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDAFolder.java $
+ *
+ */
+public class SEDAFolder {
+
+ private List<SEDAFolder> subFolders;
+ private String name;
+ private String description;
+ private List<SEDADocument> documents;
+ /**
+ * SEDARelatedObject peut être de type ArchiveObjectType ou ArchiveType
+ */
+ private Object SEDARelatedObject;
+
+ public SEDAFolder() {
+ subFolders = new ArrayList<>();
+ documents = new ArrayList<>();
+ }
+
+ public SEDAFolder(String name) {
+ this();
+ this.name = name;
+ }
+
+ public SEDAFolder(String name, List<SEDAFolder> subFolders) {
+ this(name);
+ subFolders.addAll(subFolders);
+ }
+
+ public List<SEDAFolder> getSubFolders() {
+ return subFolders;
+ }
+
+ public void setSubFolders(List<SEDAFolder> subFolders) {
+ this.subFolders = subFolders;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public List<SEDADocument> getDocuments() {
+ return documents;
+ }
+
+ public void setDocuments(List<SEDADocument> documents) {
+ this.documents = documents;
+ }
+
+ public Object getSEDARelatedObject() {
+ return SEDARelatedObject;
+ }
+
+ public void setSEDARelatedObject(Object sEDARelatedObject) {
+ SEDARelatedObject = sEDARelatedObject;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.actions;
+
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.site.SiteService;
+
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe père d'analyse des bordereau de workflow
+ *
+ * @Class : Bordereau.java
+ * @Package : eu.akka.saem.alfresco.seda.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: Bordereau.java $
+ *
+ */
+public abstract class Bordereau {
+
+ protected ContentService contentService;
+ protected NodeService nodeService;
+ protected SearchService searchService;
+ protected SiteService siteService;
+ protected ServiceRegistry serviceRegistry;
+ protected ProfilSEDAUtils profilSEDAUtils;
+ protected FileFolderService fileFolderService;
+ protected NodeRef destinationNodeRef;
+ protected String filename;
+ protected String state;
+
+ public Bordereau(ContentService contentService,NodeService nodeService,SiteService siteService,SearchService searchService,ServiceRegistry serviceRegistry,ProfilSEDAUtils profilSEDAUtils,FileFolderService fileFolderService){
+ setContentService(contentService);
+ setNodeService(nodeService);
+ setSearchService(searchService);
+ setServiceRegistry(serviceRegistry);
+ setSiteService(siteService);
+ setProfilSEDAUtils(profilSEDAUtils);
+ setFileFolderService(fileFolderService);
+ }
+
+ public static boolean canReadBordereau(Object SEDAObject){
+ return false;
+ }
+
+ public void doAction(Object SEDAObject) throws Exception {
+
+ }
+
+ protected abstract void doActionBordereau(Object sEDAObject) throws Exception;
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setSiteService(SiteService siteService) {
+ this.siteService = siteService;
+ }
+
+ public void setServiceRegistry(ServiceRegistry serviceRegistry) {
+ this.serviceRegistry = serviceRegistry;
+ }
+
+ public void setProfilSEDAUtils(ProfilSEDAUtils profilSEDAUtils) {
+ this.profilSEDAUtils = profilSEDAUtils;
+ }
+
+ public void setFileFolderService(FileFolderService fileFolderService) {
+ this.fileFolderService = fileFolderService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.actions;
+
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.site.SiteService;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionNotificationType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestReplyReplyAcknowledgementType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestReplyType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestType;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe d'analyse de bordereau pour le workflow de destruction
+ *
+ * @Class : DestructionBordereau.java
+ * @Package : eu.akka.saem.alfresco.seda.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: DestructionBordereau.java $
+ *
+ */
+public class DestructionBordereau extends Bordereau {
+
+ private static Logger LOG = Logger.getLogger(DestructionBordereau.class);
+
+ public DestructionBordereau(ContentService contentService,
+ NodeService nodeService, SiteService siteService,
+ SearchService searchService, ServiceRegistry serviceRegistry,
+ ProfilSEDAUtils profilSEDAUtils, FileFolderService fileFolderService) {
+ super(contentService, nodeService, siteService, searchService, serviceRegistry,
+ profilSEDAUtils, fileFolderService);
+ }
+
+ public static boolean canReadBordereau(Object SEDAObject){
+ if (SEDAObject.getClass().equals(ArchiveDestructionRequestType.class))
+ return true;
+ else if (SEDAObject.getClass().equals(ArchiveDestructionRequestReplyType.class))
+ return true;
+ else if (SEDAObject.getClass().equals(ArchiveDestructionRequestReplyReplyAcknowledgementType.class))
+ return true;
+ else if (SEDAObject.getClass().equals(ArchiveDestructionNotificationType.class))
+ return true;
+ else
+ return false;
+ }
+
+ @Override
+ protected void doActionBordereau(Object SEDAObject) throws Exception {
+
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.actions;
+
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.site.SiteService;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.seda.v02.ArchiveModificationNotificationType;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe d'analyse de bordereau pour le workflow de modification
+ *
+ * @Class : ModificationBordereau.java
+ * @Package : eu.akka.saem.alfresco.seda.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ModificationBordereau.java $
+ *
+ */
+public class ModificationBordereau extends Bordereau {
+
+ private static Logger LOG = Logger.getLogger(ModificationBordereau.class);
+
+ public ModificationBordereau(ContentService contentService,
+ NodeService nodeService, SiteService siteService,
+ SearchService searchService, ServiceRegistry serviceRegistry,
+ ProfilSEDAUtils profilSEDAUtils, FileFolderService fileFolderService) {
+ super(contentService, nodeService, siteService, searchService, serviceRegistry,
+ profilSEDAUtils, fileFolderService);
+ }
+
+ public static boolean canReadBordereau(Object SEDAObject){
+ if (SEDAObject.getClass().equals(ArchiveModificationNotificationType.class))
+ return true;
+ else
+ return false;
+ }
+
+ @Override
+ protected void doActionBordereau(Object SEDAObject) throws Exception {
+ }
+
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.actions;
+
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import sun.misc.BASE64Encoder;
+
+
+/**
+ *
+ * Classe d'analyse du dossier asalaereponse afin de detecter la présence de bordereau
+ *
+ * @Class : Reprise.java
+ * @Package : eu.akka.saem.alfresco.seda.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: Reprise.java $
+ *
+ */
+public class Reprise extends Thread{
+
+ private String login;
+ private String pass;
+
+ public Reprise(String login, String pass) {
+ this.login = login;
+ this.pass = pass;
+ }
+
+ public void run(){
+ System.out.println("Relancement de l'analyse du dossier asalaereponse");
+
+ try {
+ Thread.sleep(30000);
+
+ try {
+ HttpURLConnection connection = (HttpURLConnection) new URL(
+ "http://localhost:8080/alfresco/service/saem/asalaereponse?login="+login+"&pass="+pass).openConnection();
+ connection.setRequestMethod("GET");
+
+ // Write auth header
+ BASE64Encoder encoder = new BASE64Encoder();
+ String encodedCredential = encoder.encode((login + ":" + pass).getBytes());
+ connection.setRequestProperty("Authorization", "BASIC " + encodedCredential);
+
+ // Do request
+ connection.connect();
+ connection.getInputStream();
+ connection.disconnect();
+
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.actions;
+
+import java.io.File;
+
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.site.SiteService;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionRequestReplyType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionRequestType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionType;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe d'analyse de bordereau pour le workflow de restitution
+ *
+ * @Class : RestitutionBordereau.java
+ * @Package : eu.akka.saem.alfresco.seda.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: RestitutionBordereau.java $
+ *
+ */
+public class RestitutionBordereau extends Bordereau {
+
+ private static Logger LOG = Logger.getLogger(RestitutionBordereau.class);
+
+ private File file = null;
+
+ public RestitutionBordereau(ContentService contentService,
+ NodeService nodeService, SiteService siteService,
+ SearchService searchService, ServiceRegistry serviceRegistry,
+ ProfilSEDAUtils profilSEDAUtils, FileFolderService fileFolderService,File file) {
+ super(contentService, nodeService, siteService, searchService, serviceRegistry,
+ profilSEDAUtils, fileFolderService);
+ this.file = file;
+ }
+
+ public static boolean canReadBordereau(Object SEDAObject){
+ if (SEDAObject.getClass().equals(ArchiveRestitutionType.class))
+ return true;
+ else if (SEDAObject.getClass().equals(ArchiveRestitutionRequestType.class))
+ return true;
+ else if (SEDAObject.getClass().equals(ArchiveRestitutionRequestReplyType.class))
+ return true;
+ else
+ return false;
+ }
+
+ @Override
+ protected void doActionBordereau(Object SEDAObject) throws Exception {
+
+ }
+
+
+
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.actions;
+
+
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.site.SiteService;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferAcceptanceType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferReplyType;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Classe d'analyse de bordereau pour le worklow de transfere
+ *
+ * @Class : TransferBordereau.java
+ * @Package : eu.akka.saem.alfresco.seda.actions
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: TransferBordereau.java $
+ *
+ */
+public class TransferBordereau extends Bordereau {
+
+ private static Logger LOG = Logger.getLogger(TransferBordereau.class);
+
+ public TransferBordereau(ContentService contentService,
+ NodeService nodeService, SiteService siteService,
+ SearchService searchService, ServiceRegistry serviceRegistry,
+ ProfilSEDAUtils profilSEDAUtils, FileFolderService fileFolderService) {
+ super(contentService, nodeService, siteService, searchService, serviceRegistry,
+ profilSEDAUtils, fileFolderService);
+ }
+
+ public static boolean canReadBordereau(Object SEDAObject){
+ if (SEDAObject.getClass().equals(ArchiveTransferReplyType.class))
+ return true;
+ else if (SEDAObject.getClass().equals(ArchiveTransferAcceptanceType.class))
+ return true;
+ else
+ return false;
+ }
+
+ @Override
+ protected void doActionBordereau(Object SEDAObject) throws Exception {
+
+ }
+
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.annotations;
+
+import java.lang.annotation.Retention;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ *
+ * Annotation accessible à l'execution
+ *
+ * @Class : SEDA.java
+ * @Package : eu.akka.saem.alfresco.seda.annotations
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDA.java $
+ *
+ */
+@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
+public @interface SEDA {
+
+ String Cardinality() default "0..1";
+ String FormName() default "";
+ String FormDescription() default "";
+ FieldType FormType() default FieldType.DIV;
+ String PropertyTerm() default "";
+ SEDAType Type() default SEDAType.ELEMENT;
+ int Position() default 0;
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.annotations;
+
+/**
+ *
+ * Enumeration des divers types SEDA
+ *
+ * @Class : SEDAType.java
+ * @Package : eu.akka.saem.alfresco.seda.annotations
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDAType.java $
+ *
+ */
+public enum SEDAType {
+ ELEMENT,
+ ATTRIBUTE,
+ VALUE,
+ ENUM
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import org.springframework.extensions.surf.util.Content;
+
+/**
+ *
+ *
+ * @Class : ArchiveTransferFile.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ArchiveTransferFile.java $
+ *
+ */
+public class ArchiveTransferFile {
+ private String filename;
+ private Content content;
+ private String mimetype;
+
+ public ArchiveTransferFile(String filename,Content content,String mimetype){
+ this.filename = filename;
+ this.content = content;
+ this.mimetype = mimetype;
+ }
+
+ public String getFilename() {
+ return filename;
+ }
+ public void setFilename(String filename) {
+ this.filename = filename;
+ }
+ public Content getContent() {
+ return content;
+ }
+ public void setContent(Content content) {
+ this.content = content;
+ }
+ public String getMimetype() {
+ return mimetype;
+ }
+ public void setMimetype(String mimetype) {
+ this.mimetype = mimetype;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEObject;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+
+/**
+ *
+ * Résultat de la création du formulaire
+ *
+ * @Class : CreateArchiveFormResult.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: CreateArchiveFormResult.java $
+ *
+ */
+public class CreateArchiveFormResult {
+ private ArchiveTransferType att;
+ private String profil;
+ private String destination;
+ private List<ArchiveTransferFile> atf;
+ private AGAPEObject agapeobject;
+ private ArchiveTransferType oldArchiveTransferType;
+
+ public CreateArchiveFormResult(){
+ this.atf = new ArrayList<ArchiveTransferFile>();
+ }
+
+ public ArchiveTransferType getArchiveTransferType() {
+ return att;
+ }
+
+ public void setArchiveTransferType(ArchiveTransferType att) {
+ this.att = att;
+ }
+
+ public List<ArchiveTransferFile> getArchiveTransferFile() {
+ return atf;
+ }
+
+ public void setArchiveTransferFile(List<ArchiveTransferFile> atf) {
+ this.atf = atf;
+ }
+
+ public String getProfil() {
+ return profil;
+ }
+
+ public void setProfil(String profil) {
+ this.profil = profil;
+ }
+
+ public String getDestination() {
+ return destination;
+ }
+
+ public void setDestination(String destination) {
+ this.destination = destination;
+ }
+
+ public AGAPEObject getAGAPEObject(){
+ return agapeobject;
+ }
+
+ public void setAGAPEObject(AGAPEObject agapeObject) {
+ this.agapeobject = agapeObject;
+ }
+
+ public ArchiveTransferType getOldArchiveTransferType(){
+ return oldArchiveTransferType;
+ }
+
+ public void setOldArchiveTransferType(ArchiveTransferType sedaLoader) {
+ this.oldArchiveTransferType = sedaLoader;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+/**
+ *
+ * Enumeration des différents types de champs du formulaire
+ *
+ * @Class : FieldType.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: FieldType.java $
+ *
+ */
+public enum FieldType {
+ TEXT,
+ TEXTEAREA,
+ DATETIME,
+ DATETIMEWITHHOURS,
+ FILE,
+ CHECKBOX,
+ COMBOBOX,
+ DIV
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.internationalisation.StructureMessageSEDA;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEObject;
+
+/**
+ *
+ * Classe de génération du formulaire
+ *
+ * @Class : HTMLForm.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLForm.java $
+ *
+ */
+public class HTMLForm {
+
+ private static HashMap<String,HTMLForm> listHTMLForm = new HashMap<String, HTMLForm>();
+
+ private int counter = 0;
+
+ private HashMap<String,Reference> formidsreference;
+ public String formToken;
+ private Integer idscounter = 0;
+
+ private StructureMessageSEDA sms;
+ private Object sedao;
+ private AGAPEObject ao;
+ public MODE currentMode;
+
+ public enum MODE{
+ READ,
+ EDIT,
+ NEW
+ }
+
+ public static HTMLForm getHTMLForm(String token){
+ return listHTMLForm.get(token);
+ }
+
+
+ public HTMLForm(StructureMessageSEDA sms, Object sedao, AGAPEObject ao,MODE mode){
+ formToken = Long.toString(new Date().getTime());
+ listHTMLForm.put(formToken, this);
+
+ this.sms = sms;
+ this.sedao = sedao;
+ this.ao = ao;
+ this.formidsreference = new HashMap<String, Reference>();
+
+ currentMode = mode;
+
+ }
+
+ public Object getSedaObject(){
+ return sedao;
+ }
+
+ public AGAPEObject getAGAPEObject(){
+ return this.ao;
+ }
+
+ private class Reference{
+ public Object data;
+ public Object parentData;
+ public LinkedHashMap<String,String> formData;
+ public AGAPEDescriptor modelDescriptor;
+ public Object modelObject;
+ public Object parentModelObject;
+ public String key;
+ public Integer moduleId;
+ public AGAPEDescriptor parentModelDescriptor;
+
+ public Reference(Object data,Object parentData,LinkedHashMap<String,String> formData,AGAPEDescriptor modelDescriptor,AGAPEDescriptor parentModelDescriptor,Object modelObject,Object parentModelObject,String key,Integer moduleId){
+ this.data = data;
+ this.parentData = parentData;
+ this.formData = formData;
+ this.modelDescriptor = modelDescriptor;
+ this.parentModelDescriptor = parentModelDescriptor;
+ this.modelObject = modelObject;
+ this.parentModelObject = parentModelObject;
+ this.key = key;
+ this.moduleId = moduleId;
+ }
+ }
+
+
+ public String addIdsReference(Object data,Object parentData,LinkedHashMap<String,String> formData,AGAPEDescriptor modelDescriptor,AGAPEDescriptor parentModelDescriptor,Object modelObject,Object parentModelObject,String key,Integer parentModuleId){
+ String id = formToken+"_"+idscounter;
+ idscounter ++;
+
+ formidsreference.put(id, new Reference(data,parentData,formData,modelDescriptor,parentModelDescriptor,modelObject,parentModelObject,key,parentModuleId));
+ return id;
+ }
+
+
+ public Reference getIdsReference(String key){
+ return formidsreference.get(key);
+ }
+
+ public void removeIdsReference(String key){
+ this.formidsreference.remove(key);
+ }
+
+ public String editField(String id,String newValue){
+ String result = "";
+ Reference ref = getIdsReference(id);
+
+ try{
+ Method method = HTMLFormUtils.findSetterMethodByName(ref.parentData.getClass(), ref.key);
+
+ if(method.getParameterTypes()[0].isEnum()){
+ method.invoke(ref.parentData, HTMLFormUtils.findValueOnEnum(method.getParameterTypes()[0],newValue));
+ result = "OK";
+ }
+ else if(method.getParameterTypes()[0].equals(String.class)){
+ method.invoke(ref.parentData, newValue);
+ result = "OK";
+ }
+ else{
+ Method m = HTMLFormUtils.findGetterMethodByName(ref.parentData.getClass(), ref.key);
+ Object resobject = m.invoke(ref.parentData);
+ if(resobject.getClass().equals(ArrayList.class)){
+ List<Object> objects = (List<Object>) m.invoke(ref.parentData);
+
+ int index = objects.indexOf(ref.data);
+
+ if(objects.get(index).getClass().isEnum()){
+ objects.set(index, HTMLFormUtils.findValueOnEnum(objects.get(index).getClass(),newValue));
+ result = "OK";
+ }
+ else if(objects.get(index).getClass().equals(String.class)){
+ objects.set(index, newValue);
+ result = "OK";
+ }
+ else if(ref.formData.containsKey("affValue")){
+ Method m3 = HTMLFormUtils.findSetterMethodByName(objects.get(index).getClass(), ref.formData.get("affValue"));
+ if(m3.getParameterTypes()[0].isEnum()){
+ m3.invoke(objects.get(index), HTMLFormUtils.findValueOnEnum(m3.getParameterTypes()[0],newValue));
+ result = "OK";
+ }
+ else if(m3.getParameterTypes()[0].equals(String.class)){
+ m3.invoke(objects.get(index), newValue);
+ result = "OK";
+ }
+ else{
+ result = "NOK";
+ }
+ }
+ else{
+ result = "NOK";
+ }
+ }
+ else if(ref.formData.containsKey("affValue")){
+ Method m3 = HTMLFormUtils.findSetterMethodByName(resobject.getClass(), ref.formData.get("affValue"));
+ if(m3.getParameterTypes()[0].isEnum()){
+ m3.invoke(resobject, HTMLFormUtils.findValueOnEnum(m3.getParameterTypes()[0],newValue));
+ result = "OK";
+ }
+ else if(m3.getParameterTypes()[0].equals(String.class)){
+ m3.invoke(resobject, newValue);
+ result = "OK";
+ }
+ else{
+ result = "NOK";
+ }
+ }
+ else{
+ result = "NOK";
+ }
+
+ }
+
+
+ }
+ catch(Exception nsme){
+ result = "NOK";
+ }
+
+ return result;
+ }
+
+ public class AddListResult{
+ public String htmllistext;
+ public List<String> globalhtml;
+ public boolean canAlwaysAdd;
+
+ public AddListResult(){
+ this.globalhtml = new ArrayList<String>();
+ }
+ }
+
+ public AddListResult addListItem(String id){
+ AddListResult result = new AddListResult();
+
+ Reference ref = getIdsReference(id);
+
+ List<Object> o1 = null;
+ List<Object> o2 = null;
+ try{
+ if(ref.parentData!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(ref.parentData.getClass(), ref.key);
+ o1 = (List<Object>) m.invoke(ref.parentData);
+ }
+
+ if(ref.parentModelObject!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(ref.parentModelObject.getClass(), ref.key);
+ o2 = (List<Object>) m.invoke(ref.parentModelObject);
+ }
+
+ List<AGAPEDescriptor> ads = new ArrayList<AGAPEDescriptor>();
+
+ if(ref.parentModelDescriptor!=null){
+ for(AGAPEDescriptor a: ref.parentModelDescriptor.getChilds()){
+ if(a.getName().equals(ref.key))
+ ads.add(a);
+ }
+ }
+
+ HTMLFormListGenerator hflg = new HTMLFormListGenerator(ref.formData,o1,ref.parentData,ref.modelDescriptor,ads,ref.parentModelDescriptor, ref.modelObject, o2,ref.parentModelObject,ref.key,ref.moduleId,this);
+ result.htmllistext = hflg.result;
+ result.globalhtml.addAll(hflg.listsresult);
+ result.canAlwaysAdd = hflg.canAlwaysAdd(ref.formData,o1,ref.parentData,ref.modelDescriptor,ads,ref.parentModelDescriptor, ref.modelObject, o2,ref.parentModelObject,ref.key,ref.moduleId);
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+
+ return result;
+ }
+
+ public void removeItem(String id){
+ Reference ref = getIdsReference(id);
+
+ List<Object> o1 = null;
+ try{
+ if(ref.parentData!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(ref.parentData.getClass(), ref.key);
+ o1 = (List<Object>) m.invoke(ref.parentData);
+
+ }
+
+ }
+ catch(Exception ex){
+
+ }
+
+ int pos = o1.indexOf(ref.data);
+ ref.modelDescriptor.setLength(ref.modelDescriptor.getLength() - 1);
+ o1.remove(pos);
+ }
+
+ public String fieldIsValide(String id){
+ String result = "";
+
+ return result;
+ }
+
+
+ public String deleteListItem(String id){
+ String result = "";
+
+ return result;
+ }
+
+ public List<String> getHTML(){
+ List<String> result = new ArrayList<String>();
+
+ if(currentMode.equals(MODE.EDIT) || currentMode.equals(MODE.NEW)){
+ SEDA annotation = (SEDA) sedao.getClass().getAnnotation(SEDA.class);
+ sms.getInto(annotation.PropertyTerm());
+ tranformElementToHTML(result,sms, sedao, ao.getDescriptor(),ao.getObject(),null,null);
+ }
+ else if(currentMode.equals(MODE.READ)){
+ SEDA annotation = (SEDA) sedao.getClass().getAnnotation(SEDA.class);
+ sms.getInto(annotation.PropertyTerm());
+ tranformElementToHTML(result,sms, sedao, null,null,null,null);
+ }
+
+
+ return result;
+ }
+
+
+ private int generateModuleId(){
+ return counter ++;
+ }
+
+
+ public Integer tranformElementToHTML(List<String> result,StructureMessageSEDA sms, Object sedao, AGAPEDescriptor ad, Object ao,Integer parentmoduleId,String type){
+ LinkedHashMap<String,LinkedHashMap<String,String>> structure = sms.getCurrent();
+
+ String res = "";
+ int moduleId = generateModuleId();
+ res += "<div class=\"saem-content\" moduleid=\""+moduleId+"\" ##PARENTMODULEID## ##TYPE## ##INIT## style=\"display: block;\">";
+
+ if(type==null){
+ res = res.replace("##TYPE##","");
+ }
+ else{
+ res = res.replace("##TYPE##",type);
+ }
+
+
+ if(parentmoduleId!=null)
+ res = res.replace("##PARENTMODULEID##", "parentmoduleid=\""+parentmoduleId+"\"");
+ else
+ res = res.replace("##PARENTMODULEID##", "");
+
+ if(structure!=null){
+
+ for(String key:structure.keySet()){
+
+// if(key.equals("TransferringAgencyArchiveIdentifier"))
+// System.out.println("test");
+ if(key.equals("init")){
+ res = res.replace("##INIT##","init=\"true\"");
+ }
+ else if(HTMLFormUtils.isField(key,sms,sedao,ad,ao)){
+ res += generateFieldHTML(key,sms,sedao,ad,ao,moduleId);
+ }
+ else if(HTMLFormUtils.isModel(key,sms,sedao,ad,ao)){
+ res += generateModelHTML(result,key,sms,sedao,ad,ao,moduleId);
+ }
+ else if(HTMLFormUtils.isList(key,sms,sedao,ad,ao)){
+ res += generateListHTML(result,key,sms,sedao,ad,ao,moduleId);
+ }
+ else{
+ String t = null;
+ if(HTMLFormUtils.isEntete(key,sms)){
+ t = "entete=\"true\"";
+ }
+ else if(HTMLFormUtils.isDescription(key,sms)){
+ t = "description=\"true\"";
+ }
+ else{
+ t = null;
+ }
+
+
+ sms.getInto(key);
+ tranformElementToHTML(result, sms, sedao, ad, ao,moduleId,t);
+ sms.getOut();
+ }
+ }
+
+ }
+
+ res += "</div>";
+
+ res = res.replace("##INIT##","");
+
+ result.add(res);
+
+ return moduleId;
+ }
+
+
+ private String generateListHTML(List<String> result,String key,StructureMessageSEDA sms, Object sedao, AGAPEDescriptor ad, Object ao,Integer moduleId) {
+ String res = "";
+
+ //On crée le container
+ try{
+ List<Object> o1 = null;
+ if(sedao!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(sedao.getClass(), key);
+ o1 = (List<Object>) m.invoke(sedao);
+ }
+
+ List<Object> o2 = null;
+ if(ao!=null){
+ Method m2 = HTMLFormUtils.findGetterMethodByName(ao.getClass(), key);
+ o2 = (List<Object>) m2.invoke(ao);
+ }
+
+ List<AGAPEDescriptor> ads = new ArrayList<AGAPEDescriptor>();
+
+ if(ad!=null){
+ for(AGAPEDescriptor a: ad.getChilds()){
+ if(a.getName().equals(key))
+ ads.add(a);
+ }
+ }
+
+ if(o1 == null && o2 == null)
+ return "";
+
+ HTMLFormListGenerator hflg = new HTMLFormListGenerator(sms.getCurrent().get(key),o1,sedao,ads,ad, o2,ao,key,moduleId,this);
+ res = hflg.result;
+ result.addAll(hflg.listsresult);
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+
+ return res;
+ }
+
+ private String generateModelHTML(List<String> result,String key,StructureMessageSEDA sms, Object sedao, AGAPEDescriptor ad, Object ao,Integer moduleId) {
+ String res = "";
+
+ try{
+ Object o1 = null;
+ if(sedao!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(sedao.getClass(), key);
+ o1 = m.invoke(sedao);
+ }
+
+ Object o2 = null;
+ if(ao!=null){
+ Method m2 = HTMLFormUtils.findGetterMethodByName(ao.getClass(), key);
+ o2 = m2.invoke(ao);
+ }
+
+ if(o1 == null && o2 == null)
+ return "";
+
+ sms.getInto(key);
+ Integer childId = tranformElementToHTML(result, sms, o1, HTMLFormUtils.findChildDescriptor(ad,key,0), o2,moduleId,null);
+ sms.getOut();
+
+ HTMLFormModelGenerator hfmg = new HTMLFormModelGenerator(sms.getCurrent().get(key),o1,sedao,HTMLFormUtils.findChildDescriptor(ad, key, 0), o2,ao,key,childId);
+ res = hfmg.result;
+ //res = res.replace("##ID##", addIdsReference(o1, sedao, sms.getCurrent().get(key), HTMLFormUtils.findChildDescriptor(ad, key, 0), o2, ao, key,moduleId));
+
+
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+
+ return res;
+ }
+
+ private String generateFieldHTML(String key,StructureMessageSEDA sms, Object sedao,
+ AGAPEDescriptor ad, Object ao,Integer moduleId) {
+ String result = "";
+
+ try{
+ Object o1 = null;
+ if(sedao!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(sedao.getClass(), key);
+ o1 = m.invoke(sedao);
+ }
+
+ Object o2 = null;
+ if(ao!=null){
+ Method m = HTMLFormUtils.findGetterMethodByName(ao.getClass(), key);
+ o2 = m.invoke(ao);
+ }
+
+ result = new HTMLFormFieldGenerator(sms.getCurrent().get(key),o1,sedao,HTMLFormUtils.findChildDescriptor(ad, key, 0), o2,ao,key).result;
+ result = result.replace("##IDINPUT##", "id=\""+addIdsReference(o1, sedao, sms.getCurrent().get(key), HTMLFormUtils.findChildDescriptor(ad, key, 0),ad, o2, ao, key,moduleId)+"\"");
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+
+ return result;
+ }
+
+
+
+
+
+
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.LinkedHashMap;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+
+/**
+ *
+ * Classe de génération des champs du formulaire
+ *
+ * @Class : HTMLFormFieldGenerator.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLFormFieldGenerator.java $
+ *
+ */
+public class HTMLFormFieldGenerator {
+
+ public String result = "";
+
+ private String HTMLGlobalTemplate = "<div class=\"saem-form-content-element\">" +
+ "##HELPTEXT##"+
+ "<table class=\"saem-form-content-element-e\"><tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-e-col1\">" +
+ "##HELPBUTTON##" +
+ "</td>" +
+ "<td class=\"saem-form-content-element-e-col2\">" +
+ "<div>" +
+ "<table class=\"saem-form-content-element-inf\">" +
+ "<tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-inf-label\">##FIELDLABEL## :##OBLIGATOIRE##</td>" +
+ "<td class=\"saem-form-content-element-inf-erreur\"></td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>" +
+ "</div>" +
+ "<div class=\"saem-form-content-element-value\">" +
+ "##INPUT##" +
+ "</div>" +
+ "</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>"+
+ "</div>";
+
+ private String HTMLHelpTextTemplate = "<div class=\"saem-form-content-element-help\" style=\"display:none\">" +
+ "<div class=\"saem-form-content-element-help-balloon\">" +
+ "<div class=\"saem-form-content-element-help-closeButton\">x</div>" +
+ "<div class=\"text\">" +
+ "##HELPTEXTCONTENT##" +
+ "</div>" +
+ "<div class=\"saem-form-content-element-help-balloon-arrow\"></div>" +
+ "</div>" +
+ "</div>";
+
+
+ private String HTMLHelpButtonTemplate = "<button type=\"button\" tabindex=\"0\" title=\"Aide\" style=\"\" class=\"saem-hover\"></button>";
+
+ private String HTMLObligatoireTemplate = "<span class=\"saem-form-content-element-inf-obligatoire\"> *</span>";
+
+
+ private String HTMLInputTextTemplate = "<input ##AFFINMENU## ##IDINPUT## ##OBLIGATOIREFIELD## title=\"\" formType=\"text\" type=\"text\" style=\"width:100%\" ##EDITABLE## value=\"##VALUE##\">";
+
+ private String HTMLInputFileTemplate = "<input formType=\"file\" ##OBLIGATOIREFIELD## ##IDINPUT## type=\"text\" value=\"##VALUE##\" disabled=\"disabled\"><div><iframe src=\"/share/proxy/alfresco/components/form/upload\" width=\"400\" height=\"60\" frameborder=\"0\"></iframe></div>";
+
+ private String HTMLInputTextareaTemplate = "<textarea ##AFFINMENU## ##IDINPUT## ##OBLIGATOIREFIELD## formType=\"textearea\" style=\"width:100%\" ##EDITABLE##>##VALUE##</textarea>";
+
+ private String HTMLInputDateTemplate = "<input ##AFFINMENU## formType=\"date\" title=\"\" ##OBLIGATOIREFIELD## ##IDINPUT## type=\"text\" ##EDITABLE## value=\"##VALUE##\">";
+
+ private String HTMLInputComboTemplate = "<select ##AFFINMENU## formType=\"combobox\" ##OBLIGATOIREFIELD## ##IDINPUT## ##EDITABLE## >##SELECTOPTION##</select>";
+
+ private String HTMLEditableTemplate = "disabled=\"disabled\"";
+
+ public HTMLFormFieldGenerator(){
+ }
+
+ public HTMLFormFieldGenerator(LinkedHashMap<String,String> formData, Object data, Object parentData, AGAPEDescriptor modelDescriptor, Object modelObject, Object parentModel, String key){
+ result = HTMLGlobalTemplate;
+
+ String help = HTMLFormUtils.getHelp(modelDescriptor);
+ String label = HTMLFormUtils.getLabel(formData);
+ String affValue = HTMLFormUtils.getAffValue(formData);
+ Object value = HTMLFormUtils.getValue(data,modelObject);
+ String typeInput = HTMLFormUtils.getTypeInput(formData);
+ boolean isObligatoire = HTMLFormUtils.isObligatoire(modelDescriptor);
+ boolean isEditable = HTMLFormUtils.isEditable(modelObject,affValue);
+ boolean affInMenu = HTMLFormUtils.isAffInMenu(formData);
+
+ if(!isEditable && value==null){
+ result = "";
+ return;
+ }
+
+ addHelp(help);
+ addLabel(label);
+ addInput(typeInput,value,affValue);
+ addAffInMenu(affInMenu);
+ addEditable(isEditable);
+ addObligatoire(isObligatoire);
+ }
+
+ protected void addAffInMenu(boolean affInMenu) {
+ if(affInMenu)
+ result = result.replace("##AFFINMENU##", "affInMenu=\"true\"");
+ else
+ result = result.replace("##AFFINMENU##", "");
+ }
+
+ protected void addObligatoire(boolean isObligatoire) {
+ if(isObligatoire){
+ result = result.replace("##OBLIGATOIRE##", HTMLObligatoireTemplate);
+ result = result.replace("##OBLIGATOIREFIELD##","obligatoire=\"obligatoire\"");
+ }
+ else{
+ result = result.replace("##OBLIGATOIRE##", "");
+ result = result.replace("##OBLIGATOIREFIELD##","");
+ }
+ }
+
+ protected void addEditable(boolean isEditable) {
+ if(!isEditable){
+ result = result.replace("##EDITABLE##", HTMLEditableTemplate);
+ }
+ else{
+ result = result.replace("##EDITABLE##", "");
+ }
+ }
+
+ protected void addInput(String typeInput,Object value,String affValue) {
+ if(typeInput==null)
+ return ;
+
+ if(typeInput.equals("TEXT")){
+ result = result.replace("##INPUT##", HTMLInputTextTemplate);
+ if(value!=null && !value.equals("")){
+ if(value.getClass().equals(String.class)){
+// if(value.equals("Accusés de réception du dossier de convocation")){
+// System.out.println("here");
+// }
+ result = result.replace("##VALUE##", (String) value);
+ }
+ else if(affValue!=null){
+ try {
+ Method m = findGetterMethodByName(value.getClass(), affValue);
+ result = result.replace("##VALUE##", (String) m.invoke(value));
+ } catch (Exception e) {
+ result = result.replace("##VALUE##", "");
+ //e.printStackTrace();
+ }
+
+ }
+ else{
+ result = result.replace("##VALUE##", "");//TODO
+ }
+ }
+ else
+ result = result.replace("##VALUE##", "");
+ }
+ else if(typeInput.equals("FILE")){
+ result = result.replace("##INPUT##", HTMLInputFileTemplate);
+ if(value!=null && !value.equals("")){
+ if(value.getClass().equals(String.class))
+ result = result.replace("##VALUE##", (String) value);
+ else if(affValue!=null){
+ try {
+ Method m = findGetterMethodByName(value.getClass(), affValue);
+ result = result.replace("##VALUE##", (String) m.invoke(value));
+ } catch (Exception e) {
+ result = result.replace("##VALUE##", "");
+ //e.printStackTrace();
+ }
+ }
+ else{
+ result = result.replace("##VALUE##", "");//TODO
+ }
+ }
+ else
+ result = result.replace("##VALUE##", "");
+ }
+ else if(typeInput.equals("TEXTAREA")){
+ result = result.replace("##INPUT##", HTMLInputTextareaTemplate);
+ if(value!=null && !value.equals("")){
+ if(value.getClass().equals(String.class))
+ result = result.replace("##VALUE##", (String) value);
+ else if(affValue!=null){
+ try {
+ Method m = findGetterMethodByName(value.getClass(), affValue);
+ result = result.replace("##VALUE##", (String) m.invoke(value));
+ } catch (Exception e) {
+ result = result.replace("##VALUE##", "");
+ //e.printStackTrace();
+ }
+
+ }
+ else{
+ result = result.replace("##VALUE##", "");//TODO
+ }
+ }
+ else
+ result = result.replace("##VALUE##", "");
+ }
+ else if(typeInput.equals("DATE")){
+ result = result.replace("##INPUT##", HTMLInputDateTemplate);
+ if(affValue!=null){
+ try {
+ Method m = findGetterMethodByName(value.getClass(), affValue);
+ result = result.replace("##VALUE##", (String) m.invoke(value));
+ } catch (Exception e) {
+ result = result.replace("##VALUE##", "");
+ ////e.printStackTrace();
+ }
+ }
+ }
+ else if(typeInput.equals("COMBOBOX")){
+ result = result.replace("##INPUT##", HTMLInputComboTemplate);
+ try {
+ Method m = findGetterMethodByName(value.getClass(), affValue);
+
+ String val = findValueWithEnum(m.invoke(value).getClass(), m.invoke(value));
+
+ result = result.replace("##SELECTOPTION##", constructSelectBox(m.invoke(value).getClass(),val));
+ } catch (Exception e) {
+ result = result.replace("##SELECTOPTION##", "");
+
+ }
+
+ }
+ else
+ result = result.replace("##INPUT##", "");
+ }
+
+ private Method findGetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(m.getName().startsWith("get"))
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ protected void addLabel(String label) {
+ if(label == null || label.equals(""))
+ result = result.replace("##FIELDLABEL##", "");
+ else
+ result = result.replace("##FIELDLABEL##", label);
+ }
+
+ protected void addHelp(String help) {
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPBUTTON##", HTMLHelpButtonTemplate);
+ else
+ result = result.replace("##HELPBUTTON##", "");
+
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPTEXT##", HTMLHelpTextTemplate);
+ else
+ result = result.replace("##HELPTEXT##", "");
+
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPTEXTCONTENT##", help);
+ else
+ result = result.replace("##HELPTEXTCONTENT##", "");
+
+ }
+
+ private static String findValueWithEnum(Class<?> class1, Object obj) throws InstantiationException, IllegalAccessException {
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && o.get(class1).equals(obj))
+ return sedaAnnotation.PropertyTerm();
+ }
+
+ return "";
+ }
+
+ private String constructSelectBox(Class<?> class1, String value) throws InstantiationException, IllegalAccessException {
+ boolean selected = false;
+ String result = "";
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+
+ String sep = " - ";
+
+ if(sedaAnnotation.PropertyTerm().equals(""))
+ sep = "";
+
+
+ if(sedaAnnotation != null && sedaAnnotation.PropertyTerm().equals(value)){
+ selected = true;
+ result += "<option selected=\"selected\" value=\""+sedaAnnotation.PropertyTerm()+"\">"+sedaAnnotation.PropertyTerm() + sep + sedaAnnotation.FormName() + "</option>";
+ }
+ else if(sedaAnnotation!=null && !selected && sedaAnnotation.PropertyTerm().equals("")){
+ result += "<option selected=\"selected\" value=\""+sedaAnnotation.PropertyTerm()+"\">"+sedaAnnotation.PropertyTerm() + sep + sedaAnnotation.FormName() + "</option>";
+ }
+ else if(sedaAnnotation != null){
+ result += "<option value=\""+sedaAnnotation.PropertyTerm()+"\">"+sedaAnnotation.PropertyTerm() + sep + sedaAnnotation.FormName() + "</option>";
+ }
+ }
+
+ return result;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.util.LinkedHashMap;
+
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+
+/**
+ *
+ * Classe de génération des champs de formulaire pour les listes
+ *
+ * @Class : HTMLFormFieldGeneratorForList.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLFormFieldGeneratorForList.java $
+ *
+ */
+public class HTMLFormFieldGeneratorForList extends HTMLFormFieldGenerator{
+
+ public HTMLFormFieldGeneratorForList(LinkedHashMap<String,String> formData, Object data, Object parentData, AGAPEDescriptor modelDescriptor, Object modelObject, Object parentModel, String key){
+ result = HTMLGlobalTemplate;
+
+
+ String help = HTMLFormUtils.getHelp(modelDescriptor);
+ String label = HTMLFormUtils.getLabel(formData);
+ String affValue = HTMLFormUtils.getAffValue(formData);
+ Object value = HTMLFormUtils.getValue(data,modelObject);
+ String typeInput = HTMLFormUtils.getTypeInput(formData);
+ boolean isObligatoire = HTMLFormUtils.isObligatoire(modelDescriptor);
+ boolean isEditable = HTMLFormUtils.isEditable(modelObject,affValue);
+ boolean affInMenu = HTMLFormUtils.isAffInMenu(formData);
+
+
+ if(!isEditable && value==null){
+ result = "";
+ return;
+ }
+
+ addHelp(help);
+ addLabel(label);
+ addInput(typeInput,value,affValue);
+ addAffInMenu(affInMenu);
+ addEditable(isEditable);
+ addObligatoire(isObligatoire);
+ }
+
+
+ private String HTMLGlobalTemplate = "<div class=\"saem-form-content-element\">" +
+ "##HELPTEXT##"+
+ "<table class=\"saem-form-content-element-e\"><tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-e-col1\">" +
+ "##HELPBUTTON##" +
+ "</td>" +
+ "<td class=\"saem-form-content-element-e-col2\">" +
+ "<div>" +
+ "<table class=\"saem-form-content-element-inf\">" +
+ "<tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-inf-label\">##FIELDLABEL## :##OBLIGATOIRE##</td>" +
+ "<td class=\"saem-form-content-element-inf-erreur\"></td>" +
+ "<td class=\"saem-form-content-element-inf-list-del\">##DELBUTTON##</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>" +
+ "</div>" +
+ "<div class=\"saem-form-content-element-value\">" +
+ "##INPUT##" +
+ "</div>" +
+ "</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>"+
+ "</div>";
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.seda.internationalisation.StructureMessageSEDA;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+
+/**
+ *
+ * Classe de génération des listes pour le formulaire
+ *
+ * @Class : HTMLFormListGenerator.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLFormListGenerator.java $
+ *
+ */
+public class HTMLFormListGenerator {
+public String result = "";
+public List<String> listsresult = new ArrayList<String>();
+
+ private String HTMLGlobalTemplate = "<div class=\"saem-form-content-element-list\">" +
+ "##HELPTEXT##"+
+ "<table class=\"saem-form-content-element-e\"><tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-e-col1\">" +
+ "##HELPBUTTON##" +
+ "</td>" +
+ "<td class=\"saem-form-content-element-e-col2\">" +
+ "<div>" +
+ "<table class=\"saem-form-content-element-inf\">" +
+ "<tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-inf-label\">##FIELDLABEL##</td>" +
+ "<td class=\"saem-form-content-element-inf-erreur\"></td>" +
+ "<td class=\"saem-form-content-element-inf-list-add\">##ADDITEM##</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>" +
+ "</div>" +
+ "<div class=\"saem-form-content-element-list-value\">" +
+ "##ITEMEMPLACEMENT##" +
+ "</div>" +
+ "</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>"+
+ "</div>";
+
+ private String HTMLItemEmplacement = "<div class=\"saem-form-content-element-list-element\" style=\"display: block;\" ##RELITEM## >##LABELITEM##</div>";
+
+ private String HTMLAddButtonTemplate = "<a class=\"saem-form-content-element-inf-list-add-button\" ##IDLIST## href=\"#\"></a>";
+ private String HTMLAddButtonTemplateHide = "<a class=\"saem-form-content-element-inf-list-add-button\" style=\"display:none\" ##IDLIST## href=\"#\"></a>";
+
+ private String HTMLHelpTextTemplate = "<div class=\"saem-form-content-element-help\" style=\"display:none\">" +
+ "<div class=\"saem-form-content-element-help-balloon\">" +
+ "<div class=\"saem-form-content-element-help-closeButton\">x</div>" +
+ "<div class=\"text\">" +
+ "##HELPTEXTCONTENT##" +
+ "</div>" +
+ "<div class=\"saem-form-content-element-help-balloon-arrow\"></div>" +
+ "</div>" +
+ "</div>";
+
+ private String HTMLAddListButtonTemplate = "<a class=\"saem-form-content-element-inf-list-add-button\" id=\"addListItem\" href=\"#\"> </a>";
+
+
+ private String HTMLHelpButtonTemplate = "<button type=\"button\" tabindex=\"0\" title=\"Aide\" style=\"\" class=\"saem-hover\"></button>";
+
+ private void videList(List<Object> data){
+ if(data != null){
+ data.clear();
+ }
+ }
+
+ public HTMLFormListGenerator(LinkedHashMap<String,String> formData, List<Object> data, Object parentData, List<AGAPEDescriptor> modelDescriptor,AGAPEDescriptor parentModelDescriptor, List<Object> modelObject, Object parentModel, String key,Integer moduleId,HTMLForm form){
+ result = "";
+ try{
+ if(form.currentMode.equals(HTMLForm.MODE.READ)){
+ result = HTMLGlobalTemplate;
+ addHelp(null);
+ canAddList(false);
+ addLabel(HTMLFormUtils.getListLabel(formData));
+
+ for(Object d:data){
+
+ if(formData.containsKey("type")){
+ HTMLFormFieldGeneratorForList hffgfl = new HTMLFormFieldGeneratorForList(formData, d, parentData, null, null, null, key);
+ result = result.replace("##ITEMEMPLACEMENT##", hffgfl.result+"##ITEMEMPLACEMENT##");
+ result = result.replace("##DELBUTTON##", "");
+ }
+ else{
+ StructureMessageSEDA sms = new StructureMessageSEDA();
+ sms.getInto(formData);
+ Integer childId = form.tranformElementToHTML(listsresult, sms, d, null, null,moduleId,null);
+ sms.getOut();
+
+ HTMLFormModelGeneratorForList hffgfl = new HTMLFormModelGeneratorForList(formData, d, parentData, null, null, null, key,childId);
+ result = result.replace("##ITEMEMPLACEMENT##", hffgfl.result+"##ITEMEMPLACEMENT##");
+ result = result.replace("##DELBUTTON##", "");
+ }
+ }
+ result = result.replace("##ITEMEMPLACEMENT##", "");
+ }
+ else if(form.currentMode.equals(HTMLForm.MODE.NEW)){
+ data.clear();
+
+ int nummodel = 0;
+ for(AGAPEDescriptor a:modelDescriptor){
+ result += HTMLGlobalTemplate;
+ addHelp(HTMLFormUtils.getHelp(a));
+ addLabel(HTMLFormUtils.getListLabel(formData));
+ if(a.getMinOccurs().equals(a.getMaxOccurs())){
+ canAddList(false);
+ }
+ else{
+ canAddList(true);
+ result = result.replace("##IDLIST##", "id=\""+form.addIdsReference(data, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\"");
+ }
+
+ for(Integer i = 0; i < a.getMinOccurs(); i++){
+ String serialiElement = SEDAWriter.transformSEDAObjectToXML(modelObject.get(nummodel));
+ InputStream is = new ByteArrayInputStream(serialiElement.getBytes());
+ Object d = XMLLoader.SEDALoader(is);
+ data.add(d);
+
+ if(formData.containsKey("type")){
+ if(formData.get("type").equals("file"))
+ System.out.println("azeazeaeaze");
+
+ HTMLFormFieldGeneratorForList hffgfl = new HTMLFormFieldGeneratorForList(formData, d, parentData, a, modelObject.get(nummodel), parentModel, key);
+ result = result.replace("##ITEMEMPLACEMENT##", hffgfl.result+"##ITEMEMPLACEMENT##");
+ result = result.replace("##IDINPUT##", "id=\""+form.addIdsReference(d, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\"");
+ result = result.replace("##DELBUTTON##", "");
+ }
+ else{
+ StructureMessageSEDA sms = new StructureMessageSEDA();
+ sms.getInto(formData);
+ Integer childId = form.tranformElementToHTML(listsresult, sms, d, a, modelObject.get(nummodel),moduleId,null);
+ sms.getOut();
+
+ HTMLFormModelGeneratorForList hffgfl = new HTMLFormModelGeneratorForList(formData, d, parentData, a, modelObject.get(nummodel), parentModel, key,childId);
+ result = result.replace("##ITEMEMPLACEMENT##", hffgfl.result+"##ITEMEMPLACEMENT##");
+ result = result.replace("##DELBUTTON##", "");
+ }
+ }
+
+ result = result.replace("##ITEMEMPLACEMENT##", "");
+ nummodel ++;
+ }
+
+ }
+ else if(form.currentMode.equals(HTMLForm.MODE.EDIT)){
+ int nummodel = 0;
+ int counter = 0;
+ for(AGAPEDescriptor a:modelDescriptor){
+ result += HTMLGlobalTemplate;
+ addHelp(HTMLFormUtils.getHelp(a));
+ addLabel(HTMLFormUtils.getListLabel(formData));
+ if(a.getMinOccurs().equals(a.getMaxOccurs())){
+ canAddList(false);
+ result = result.replace("##IDLIST##", "id=\""+form.addIdsReference(data, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\"");
+ }
+ else{
+ canAddList(true);
+ result = result.replace("##IDLIST##", "id=\""+form.addIdsReference(data, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\"");
+ }
+
+ for(Integer i = 0; i < a.getLength(); i++){
+ Object d = data.get(counter);
+ counter ++;
+
+ if(formData.containsKey("type")){
+ if(formData.get("type").equals("file"))
+ System.out.println("azeazeaeaze");
+
+ HTMLFormFieldGeneratorForList hffgfl = new HTMLFormFieldGeneratorForList(formData, d, parentData, a, modelObject.get(nummodel), parentModel, key);
+ result = result.replace("##ITEMEMPLACEMENT##", hffgfl.result+"##ITEMEMPLACEMENT##");
+ result = result.replace("##IDINPUT##", "id=\""+form.addIdsReference(d, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\"");
+
+ if(i < a.getMinOccurs())
+ result = result.replace("##DELBUTTON##", "");
+ else
+ result = result.replace("##DELBUTTON##", "<a class=\"saem-form-content-element-inf-list-del-button saem-hover\" id=\""+form.addIdsReference(d, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\" href=\"#\"> </a>");
+
+ }
+ else{
+ StructureMessageSEDA sms = new StructureMessageSEDA();
+ sms.getInto(formData);
+ Integer childId = form.tranformElementToHTML(listsresult, sms, d, a, modelObject.get(nummodel),moduleId,null);
+ sms.getOut();
+
+ HTMLFormModelGeneratorForList hffgfl = new HTMLFormModelGeneratorForList(formData, d, parentData, a, modelObject.get(nummodel), parentModel, key,childId);
+ result = result.replace("##ITEMEMPLACEMENT##", hffgfl.result+"##ITEMEMPLACEMENT##");
+ if(i < a.getMinOccurs())
+ result = result.replace("##DELBUTTON##", "");
+ else
+ result = result.replace("##DELBUTTON##", "<a class=\"saem-form-content-element-inf-list-del-button saem-hover\" id=\""+form.addIdsReference(d, parentData, formData, a,parentModelDescriptor, modelObject.get(nummodel), parentModel, key,moduleId)+"\" href=\"#\"> </a>");
+
+ }
+ }
+
+ result = result.replace("##ITEMEMPLACEMENT##", "");
+ nummodel ++;
+ }
+
+ }
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+ }
+
+
+
+ private Object cloneObject(Object o) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, ParserConfigurationException, SAXException, IOException{
+ String res = SEDAWriter.transformSEDAObjectToXML(o);
+ InputStream in = new ByteArrayInputStream(res.getBytes());
+ return XMLLoader.SEDALoader(in);
+ }
+
+
+ public HTMLFormListGenerator(LinkedHashMap<String, String> formData,
+ List<Object> o1, Object parentData,
+ AGAPEDescriptor modelDescriptor, List<AGAPEDescriptor> ads,
+ AGAPEDescriptor parentModelDescriptor,Object modelObject, List<Object> o2,
+ Object parentModelObject, String key, Integer moduleId,
+ HTMLForm htmlForm) {
+ result = "";
+ try{
+ String serialiElement = SEDAWriter.transformSEDAObjectToXML(modelObject);
+ InputStream is = new ByteArrayInputStream(serialiElement.getBytes());
+ Object d = XMLLoader.SEDALoader(is);
+
+ int index = 0;
+ for(AGAPEDescriptor a:ads){
+ if(a.equals(modelDescriptor)){
+ index += a.getLength();
+ break;
+ }
+ else{
+ index += a.getLength();
+ }
+ }
+
+
+ o1.add(index,d);
+
+ modelDescriptor.setLength(modelDescriptor.getLength() + 1);
+
+ if(formData.containsKey("type")){
+ HTMLFormFieldGeneratorForList hffgfl = new HTMLFormFieldGeneratorForList(formData, d, parentData, modelDescriptor, modelObject, parentModelObject, key);
+ result = hffgfl.result;
+ result = result.replace("##IDINPUT##", "id=\""+htmlForm.addIdsReference(d, parentData, formData, modelDescriptor,parentModelDescriptor, modelObject, parentModelObject, key,moduleId)+"\"");
+ result = result.replace("##DELBUTTON##", "<a class=\"saem-form-content-element-inf-list-del-button saem-hover\" id=\""+htmlForm.addIdsReference(d, parentData, formData, modelDescriptor,parentModelDescriptor, modelObject, parentModelObject, key,moduleId)+"\" href=\"#\"> </a>");
+ }
+ else{
+ StructureMessageSEDA sms = new StructureMessageSEDA();
+ sms.getInto(formData);
+ Integer childId = htmlForm.tranformElementToHTML(listsresult, sms, d, modelDescriptor, modelObject,moduleId,null);
+ sms.getOut();
+
+ HTMLFormModelGeneratorForList hffgfl = new HTMLFormModelGeneratorForList(formData, d, parentData, modelDescriptor, modelObject, parentModelObject, key,childId);
+ result = hffgfl.result;
+ result = result.replace("##DELBUTTON##", "<a class=\"saem-form-content-element-inf-list-del-button saem-hover\" id=\""+htmlForm.addIdsReference(d, parentData, formData, modelDescriptor,parentModelDescriptor, modelObject, parentModelObject, key,moduleId)+"\" href=\"#\"> </a>");
+ }
+ }
+ catch(Exception ex){
+ ex.printStackTrace();
+ }
+ }
+
+ protected String addId(HTMLForm form,String key, StructureMessageSEDA sms,Object sedao, AGAPEDescriptor ad, Object ao,Integer indexInObject, Integer indexInObjectModel,Integer indexModel,Integer childId) {
+ String id = "45";//form.addIdsReferenceList(key,sms,sedao, ad, ao,indexInObject, indexInObjectModel,indexModel,childId);
+
+ result = result.replace("##IDLIST##", "id=\""+id+"\"");
+ return id;
+ }
+
+ private void canAddList(boolean canadd) {
+ if(canadd){
+ result = result.replace("##ADDITEM##", HTMLAddButtonTemplate);
+ }
+ else{
+ result = result.replace("##ADDITEM##", HTMLAddButtonTemplateHide);
+ }
+ }
+
+ private void addListLabel(String label) {
+ if(label == null || label.equals(""))
+ result = result.replace("##FIELDLABEL##", "");
+ else
+ result = result.replace("##FIELDLABEL##", label);
+ }
+
+ private void addChildId(Integer childId) {
+ result = result.replace("##CHILDID##", childId.toString());
+ }
+
+
+ private void addLabel(String label) {
+ if(label == null || label.equals(""))
+ result = result.replace("##FIELDLABEL##", "");
+ else
+ result = result.replace("##FIELDLABEL##", label);
+ }
+
+
+ private void addHelp(String help) {
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPBUTTON##", HTMLHelpButtonTemplate);
+ else
+ result = result.replace("##HELPBUTTON##", "");
+
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPTEXT##", HTMLHelpTextTemplate);
+ else
+ result = result.replace("##HELPTEXT##", "");
+
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPTEXTCONTENT##", help);
+ else
+ result = result.replace("##HELPTEXTCONTENT##", "");
+
+ }
+
+ public boolean canAlwaysAdd(LinkedHashMap<String, String> formData,
+ List<Object> o1, Object parentData,
+ AGAPEDescriptor modelDescriptor, List<AGAPEDescriptor> ads,
+ AGAPEDescriptor parentModelDescriptor, Object modelObject,
+ List<Object> o2, Object parentModelObject, String key,
+ Integer moduleId) {
+
+ if(modelDescriptor.getLength() == modelDescriptor.getMaxOccurs())
+ return false;
+ return true;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.util.LinkedHashMap;
+
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+
+/**
+ *
+ * Classe de génération du model pour le formulaire
+ *
+ * @Class : HTMLFormModelGenerator.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLFormModelGenerator.java $
+ *
+ */
+public class HTMLFormModelGenerator {
+ public String result = "";
+
+ private String HTMLGlobalTemplate = "<div class=\"saem-form-content-element saem-hover\" rel=\"##CHILDID##\">" +
+ "##HELPTEXT##"+
+ "<table class=\"saem-form-content-element-e\"><tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-e-col1\">" +
+ "##HELPBUTTON##" +
+ "</td>" +
+ "<td class=\"saem-form-content-element-e-col2\">" +
+ "<div>" +
+ "<table class=\"saem-form-content-element-inf\">" +
+ "<tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-inf-label\">##FIELDLABEL##</td>" +
+ "<td class=\"saem-form-content-element-inf-erreur\"></td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>" +
+ "</div>" +
+ "</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>"+
+ "</div>";
+
+ private String HTMLHelpTextTemplate = "<div class=\"saem-form-content-element-help\" style=\"display:none\">" +
+ "<div class=\"saem-form-content-element-help-balloon\">" +
+ "<div class=\"saem-form-content-element-help-closeButton\">x</div>" +
+ "<div class=\"text\">" +
+ "##HELPTEXTCONTENT##" +
+ "</div>" +
+ "<div class=\"saem-form-content-element-help-balloon-arrow\"></div>" +
+ "</div>" +
+ "</div>";
+
+
+ private String HTMLHelpButtonTemplate = "<button type=\"button\" tabindex=\"0\" title=\"Aide\" style=\"\" class=\"saem-hover\"></button>";
+
+ private String HTMLObligatoireTemplate = "<span class=\"saem-form-content-element-inf-obligatoire\"> *</span>";
+
+ private String HTMLInputTextTemplate = "<input title=\"\" type=\"text\" style=\"width:100%\" ##EDITABLE## value=\"##VALUE##\">";
+
+ private String HTMLEditableTemplate = "disabled=\"disabled\"";
+
+ public HTMLFormModelGenerator(){
+
+ }
+
+ public HTMLFormModelGenerator(LinkedHashMap<String,String> formData, Object data, Object parentData, AGAPEDescriptor modelDescriptor, Object modelObject, Object parentModel, String key,Integer childId){
+ result = HTMLGlobalTemplate;
+
+ if(data==null && modelObject == null){
+ result = "";
+ return;
+ }
+
+ String help = HTMLFormUtils.getHelp(modelDescriptor);
+ String label = HTMLFormUtils.getLabel(formData);
+
+ addHelp(help);
+ addLabel(label);
+ addChildId(childId);
+ }
+
+
+
+
+ protected void addChildId(Integer childId) {
+ result = result.replace("##CHILDID##", childId.toString());
+ }
+
+
+
+
+ protected void addLabel(String label) {
+ if(label == null || label.equals(""))
+ result = result.replace("##FIELDLABEL##", "");
+ else
+ result = result.replace("##FIELDLABEL##", label);
+ }
+
+
+ protected void addHelp(String help) {
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPBUTTON##", HTMLHelpButtonTemplate);
+ else
+ result = result.replace("##HELPBUTTON##", "");
+
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPTEXT##", HTMLHelpTextTemplate);
+ else
+ result = result.replace("##HELPTEXT##", "");
+
+ if(help!=null && !help.equals(""))
+ result = result.replace("##HELPTEXTCONTENT##", help);
+ else
+ result = result.replace("##HELPTEXTCONTENT##", "");
+
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.util.LinkedHashMap;
+
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+
+/**
+ *
+ * Classe de génération du model pour les listes du formulaire
+ *
+ * @Class : HTMLFormModelGeneratorForList.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLFormModelGeneratorForList.java $
+ *
+ */
+public class HTMLFormModelGeneratorForList extends HTMLFormModelGenerator {
+
+ private String HTMLGlobalTemplate = "<div class=\"saem-form-content-element saem-hover\" rel=\"##CHILDID##\">" +
+ "##HELPTEXT##"+
+ "<table class=\"saem-form-content-element-e\"><tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-e-col2\">" +
+ "<div>" +
+ "<table class=\"saem-form-content-element-inf\">" +
+ "<tbody>" +
+ "<tr>" +
+ "<td class=\"saem-form-content-element-inf-label\">##FIELDLABEL##</td>" +
+ "<td class=\"saem-form-content-element-inf-erreur\"></td>" +
+ "<td class=\"saem-form-content-element-inf-list-del\">##DELBUTTON##</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>" +
+ "</div>" +
+ "</td>" +
+ "</tr>" +
+ "</tbody>" +
+ "</table>"+
+ "</div>";
+
+ public HTMLFormModelGeneratorForList(LinkedHashMap<String,String> formData, Object data, Object parentData, AGAPEDescriptor modelDescriptor, Object modelObject, Object parentModel, String key,Integer childId){
+ result = HTMLGlobalTemplate;
+
+ if(data==null && modelObject == null){
+ result = "";
+ return;
+ }
+
+ String help = HTMLFormUtils.getHelp(modelDescriptor);
+ String label = HTMLFormUtils.getLabel(formData);
+
+ addHelp(help);
+ addLabel(label);
+ addChildId(childId);
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.LinkedHashMap;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.internationalisation.StructureMessageSEDA;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+
+/**
+ *
+ *
+ * @Class : HTMLFormUtils.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HTMLFormUtils.java $
+ *
+ */
+public class HTMLFormUtils {
+ public static String getAffValue(LinkedHashMap<String,String> formData) {
+ if(!formData.containsKey("affValue"))
+ return null;
+
+ return formData.get("affValue");
+ }
+
+ public static boolean isEditable(Object modelObject,String affValue) {
+ try{
+ if(modelObject == null){
+ return false;
+ }
+ else{
+ if(modelObject.getClass().equals(String.class) && !modelObject.equals(""))
+ return false;
+ else if(modelObject.getClass().isEnum() && !findValueWithEnum(modelObject.getClass(),modelObject).equals(""))
+ return false;
+ else {
+ if(affValue!=null){
+ Method m = findGetterMethodByName(modelObject.getClass(), affValue);
+ Object res = m.invoke(modelObject);
+ if(res.getClass().equals(String.class) && !res.equals(""))
+ return false;
+ else if(res.getClass().isEnum() && !findValueWithEnum(res.getClass(),res).equals(""))
+ return false;
+ else
+ return true;
+ }
+ else{
+ return true;
+ }
+
+ }
+ }
+
+ }
+ catch(Exception ex){
+ //ex.printStackTrace();
+ return true;
+ }
+ }
+
+ public static String findValueWithEnum(Class<?> class1, Object obj) throws InstantiationException, IllegalAccessException {
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && o.get(class1).equals(obj))
+ return sedaAnnotation.PropertyTerm();
+ }
+
+ return "";
+ }
+
+ public static boolean isObligatoire(AGAPEDescriptor modelDescriptor) {
+ if(modelDescriptor == null)
+ return false;
+ if(modelDescriptor.getMinOccurs() > 0)
+ return true;
+ else
+ return false;
+ }
+
+ public static String getTypeInput(LinkedHashMap<String,String> formData) {
+ return formData.get("type");
+ }
+
+ public static Object getValue(Object data,Object modelObject) {
+ try {
+
+ if(data!=null){
+ return data;
+ }
+ else if(modelObject!=null){
+ return modelObject;
+ }
+
+ } catch (Exception e) {
+ //e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static boolean isField(String key, StructureMessageSEDA sms,
+ Object sedao2, AGAPEDescriptor ad, Object ao2) {
+ if(sms.getCurrent().get(key).containsKey("type") && !sms.getCurrent().get(key).containsKey("listObject"))
+ return true;
+ return false;
+ }
+
+ public static boolean isModel(String key, StructureMessageSEDA sms,
+ Object sedao2, AGAPEDescriptor ad, Object ao2) {
+ if(sms.getCurrent().get(key).containsKey("modelObject"))
+ return true;
+ return false;
+ }
+
+ public static boolean isList(String key, StructureMessageSEDA sms,
+ Object sedao2, AGAPEDescriptor ad, Object ao2) {
+ if(sms.getCurrent().get(key).containsKey("listObject"))
+ return true;
+ return false;
+ }
+
+
+ public static String getLabel(LinkedHashMap<String,String> formData) {
+ return formData.get("formName");
+ }
+
+ public static String getHelp(AGAPEDescriptor modelDescriptor) {
+ if(modelDescriptor==null)
+ return null;
+
+ if(modelDescriptor.getComment()!=null && !modelDescriptor.getComment().equals(""))
+ return modelDescriptor.getComment();
+ else
+ return null;
+ }
+
+ public static Method findGetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(m.getName().startsWith("get"))
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("get"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ public static Method findSetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(m.getName().startsWith("set") || m.getName().startsWith("add"))
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+
+ public static AGAPEDescriptor findChildDescriptor(AGAPEDescriptor ad, String key, Integer nb) {
+ if(ad == null)
+ return null;
+
+ Integer counter = 0;
+ for(AGAPEDescriptor a:ad.getChilds()){
+ if(a.getName().equals(key) && counter == nb){
+ return a;
+ }
+ else if(a.getName().equals(key)){
+ counter ++;
+ }
+ }
+ return null;
+ }
+
+ public static boolean isEntete(String key,StructureMessageSEDA sms) {
+ if(sms.getCurrent()!=null && sms.getCurrent().get(key).containsKey("entete"))
+ return true;
+
+ return false;
+ }
+
+ public static boolean isDescription(String key,StructureMessageSEDA sms) {
+ if(sms.getCurrent()!=null && sms.getCurrent().get(key).containsKey("description"))
+ return true;
+
+ return false;
+ }
+
+ public static String getListLabel(LinkedHashMap<String,String> formData) {
+ return formData.get("formListName");
+ }
+
+ public static Object findValueOnEnum(Class<?> class1, String nodeValue) throws InstantiationException, IllegalAccessException {
+ if(nodeValue==null)
+ nodeValue="";
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && nodeValue.equals(sedaAnnotation.PropertyTerm()))
+ return o.get(class1);
+ }
+
+ return null;
+ }
+
+ public static String getHelpList(String key, AGAPEDescriptor ad,
+ Integer modelIndex) {
+ if(ad==null)
+ return null;
+
+ return ad.getChilds().get(modelIndex).getComment();
+ }
+
+ public static boolean isObligatoireList(String key, AGAPEDescriptor ad,
+ Integer modelIndex) {
+
+ if(ad == null)
+ return false;
+ else{
+ if(ad.getChilds().get(modelIndex).getMinOccurs() > 0)
+ return true;
+ else
+ return false;
+
+ }
+ }
+
+ public static boolean isEditableList(String key, StructureMessageSEDA sms,
+ AGAPEDescriptor ad, Object ao, Integer modelIndex, Integer index) {
+ /*if(ad==null)
+ return false;
+ else{
+
+ List<Object> o1 = (List<Object>) ao;
+
+
+ Object result = o1.get(index);
+
+ if(result!=null)
+ {
+ if(result.getClass().equals(String.class)){
+ if(result.equals("")){
+ return true;
+ }
+ else{
+ return false;
+ }
+ }
+ else if(getAffValue(key, sms)!=null){
+ try {
+ String aff = getAffValue(key, sms);
+ Method m = findGetterMethodByName(result.getClass(), aff);
+ Object res = m.invoke(result);
+ if(res == null)
+ return true;
+ else if(res.getClass().equals(String.class) && !((String) res).equals(""))
+ return false;
+ else if(!HTMLFormUtils.findValueWithEnum(res.getClass(), res).equals(""))
+ return false;
+ else
+ return true;
+ } catch (Exception e) {
+
+ e.printStackTrace();
+ }
+ }
+ else{
+ return false;
+ }
+ }
+ else
+ return false;
+ }*/
+ return false;
+ }
+
+ public static boolean isAffInMenu(LinkedHashMap<String, String> formData) {
+ return formData.containsKey("affInMenu");
+ }
+
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.form;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEObject;
+import eu.akka.saem.alfresco.seda.loader.rng.RNGDescriptor;
+import eu.akka.saem.alfresco.seda.loader.rng.RNGObject;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+
+/**
+ *
+ * Description du model SEDA pour le formulaire
+ *
+ * @Class : SEDAModel.java
+ * @Package : eu.akka.saem.alfresco.seda.form
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDAModel.java $
+ *
+ */
+public class SEDAModel {
+
+ private ArchiveTransferType archiveTransferType;
+ private Object models;
+
+ public SEDAModel(Object models) {
+ this(models, null);
+ }
+
+ public SEDAModel(Object models, ArchiveTransferType archiveTransferType) {
+ this.models = models;
+ this.archiveTransferType = archiveTransferType;
+ }
+
+
+ public ArchiveTransferType getArchiveTransferType() {
+ return archiveTransferType;
+ }
+
+ public void setArchiveTransferType(ArchiveTransferType archiveTransferType) {
+ this.archiveTransferType = archiveTransferType;
+ }
+
+ public Object getModels() {
+ return models;
+ }
+
+ public void setModels(Object models) {
+ this.models = models;
+ }
+
+ public String toJSON() {
+ try {
+ JSONObject model = new JSONObject();
+ JSONObject object = new JSONObject();
+
+ if (archiveTransferType != null)
+ object.put("data",
+ archiveTransferTypeToJSON(archiveTransferType));
+
+ JSONObject rngData = null;
+
+ if (models.getClass().equals(AGAPEObject.class)) {
+ AGAPEObject objectModel = ((AGAPEObject) models);
+ rngData = SEDAWriter.transformSEDAObjectToJSON(objectModel
+ .getObject());
+ AGAPEObjectToJSON(objectModel.getDescriptor(), rngData);
+ model.put("model", object);
+ }
+ else if(models.getClass().equals(JSONObject.class)){
+ model.put("model", object);
+ rngData = (JSONObject) models;
+ }
+ else if (models.getClass().equals(RNGObject.class)) {
+ RNGObject objectModel = ((RNGObject) models);
+ rngData = SEDAWriter.transformSEDAObjectToJSON(objectModel
+ .getObject());
+ RNGObjectToJSON(objectModel.getDescriptor(), rngData);
+ model.put("model", object);
+ }
+
+ object.put("dataModel", rngData);
+ return model.toString();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return "";
+ }
+ }
+
+ private void AGAPEObjectToJSON(AGAPEDescriptor descriptor, JSONObject object)
+ throws JSONException, NoSuchMethodException, SecurityException,
+ IllegalAccessException, IllegalArgumentException,
+ InvocationTargetException {
+ object.put("minOccurs", descriptor.getMinOccurs());
+ object.put("maxOccurs", descriptor.getMaxOccurs());
+ object.put("comment", descriptor.getComment());
+ object.put("length", descriptor.getLength());
+
+
+
+ if (descriptor.getChilds() != null) {
+ for (AGAPEDescriptor desc : descriptor.getChilds()) {
+ if (object.get("value").getClass().equals(JSONArray.class)) {
+
+ JSONArray array = (JSONArray) object.get("value");
+
+ for (int i = 0; i < array.length(); i++) {
+ JSONObject ob = array.getJSONObject(i);
+ if (ob.get("PropertyTerm").equals(desc.getName())
+ && ob.isNull("minOccurs")) {
+ AGAPEObjectToJSON(desc, ob);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ if (object.get("value").getClass().equals(JSONArray.class)) {
+ JSONArray array = (JSONArray) object.get("value");
+ for (int i = 0; i < array.length(); i++) {
+ JSONObject ob = array.getJSONObject(i);
+ if(!ob.has("minOccurs"))
+ ob.put("minOccurs", descriptor.getMinOccurs());
+ if(!ob.has("maxOccurs"))
+ ob.put("maxOccurs", descriptor.getMaxOccurs());
+ if(!ob.has("comment"))
+ ob.put("comment", descriptor.getComment());
+ if(!ob.has("length"))
+ ob.put("length", descriptor.getLength());
+ }
+ }
+ else if(object.get("value").getClass().equals(JSONObject.class)){
+ JSONObject ob = (JSONObject) object.get("value");
+ if(!ob.has("minOccurs"))
+ ob.put("minOccurs", descriptor.getMinOccurs());
+ if(!ob.has("maxOccurs"))
+ ob.put("maxOccurs", descriptor.getMaxOccurs());
+ if(!ob.has("comment"))
+ ob.put("comment", descriptor.getComment());
+ if(!ob.has("length"))
+ ob.put("length", descriptor.getLength());
+ }
+
+ }
+
+ private void RNGObjectToJSON(RNGDescriptor descriptor, JSONObject object)
+ throws JSONException, NoSuchMethodException, SecurityException,
+ IllegalAccessException, IllegalArgumentException,
+ InvocationTargetException {
+ object.put("minOccurs", descriptor.getMinOccurs());
+ object.put("maxOccurs", descriptor.getMaxOccurs());
+ object.put("length", descriptor.getLength());
+
+ if (descriptor.getChilds() != null) {
+ for (RNGDescriptor desc : descriptor.getChilds()) {
+ if (object.get("value").getClass().equals(JSONArray.class)) {
+
+ JSONArray array = (JSONArray) object.get("value");
+ Integer num = 0;
+ if (desc.getName().endsWith("]")) {
+ num = Integer.parseInt((desc.getName().split("\\[")[1])
+ .replace("]", ""));
+ }
+
+ for (int i = 0; i < array.length(); i++) {
+ JSONObject ob = array.getJSONObject(i);
+ if (desc.getName().startsWith(
+ (String) ob.get("PropertyTerm"))) {
+ if (num == 0) {
+ RNGObjectToJSON(desc, ob);
+ break;
+ } else {
+ num--;
+ }
+ }
+ }
+ }
+ }
+ } else {
+ if (object.get("value").getClass().equals(JSONArray.class)) {
+ JSONArray array = (JSONArray) object.get("value");
+ for (int i = 0; i < array.length(); i++) {
+ JSONObject ob = array.getJSONObject(i);
+ ob.put("minOccurs", descriptor.getMinOccurs());
+ ob.put("maxOccurs", descriptor.getMaxOccurs());
+ ob.put("length", descriptor.getLength());
+ }
+ }
+ }
+ }
+
+ private JSONObject archiveTransferTypeToJSON(Object object) {
+ if (object == null)
+ return null;
+
+ return SEDAWriter.transformSEDAObjectToJSON(object);
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.internationalisation;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+/**
+ *
+ * Description des structures des différents bordereaux afin de pouvoir les afficher
+ * dans le formulaire
+ *
+ * @Class : StructureMessageSEDA.java
+ * @Package : eu.akka.saem.alfresco.seda.internationalisation
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: StructureMessageSEDA.java $
+ *
+ */
+public class StructureMessageSEDA {
+ LinkedHashMap<String,LinkedHashMap<String,LinkedHashMap<String,String>>> structures = new LinkedHashMap<String,LinkedHashMap<String,LinkedHashMap<String,String>>>();
+ LinkedHashMap<String,LinkedHashMap<String,String>> cursor = null;
+ List<LinkedHashMap<String,LinkedHashMap<String,String>>> histories = new ArrayList<LinkedHashMap<String,LinkedHashMap<String,String>>>();
+
+ public StructureMessageSEDA(){
+
+ structures.put("ArchiveTransferReply", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveTransferReplyEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveTransferReplyEntete");}});
+ }});
+
+ structures.put("ArchiveModificationNotification", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveModificationNotificationEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveModificationNotificationEntete");}});
+ }});
+
+ structures.put("ArchiveDestructionNotification", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveDestructionNotificationEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveDestructionNotificationEntete");}});
+ }});
+
+ structures.put("ArchiveDestructionRequestReply", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveDestructionRequestReplyEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveDestructionRequestReplyEntete");}});
+ }});
+
+ structures.put("ArchiveDestructionRequestReplyReplyAcknowledgement", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveDestructionRequestReplyReplyAcknowledgementEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveDestructionRequestReplyReplyAcknowledgementEntete");}});
+ }});
+
+ //THOMAS
+ structures.put("ArchiveRestitutionRequest", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveRestitutionRequestEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveRestitutionRequestEntete");}});
+ put("ArchiveRestitutionRequestDescription", new LinkedHashMap<String,String>(){{ put("description","ArchiveRestitutionRequestDescription");}});
+ }});
+
+ structures.put("ArchiveRestitutionRequestDescription", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Archive", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveType"); put("formListName","Archives"); put("formName","Archive"); }});
+ }});
+
+ structures.put("ArchiveRestitutionAcknowledgement", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveRestitutionAcknowledgementEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveRestitutionAcknowledgementEntete");}});
+ }});
+
+ structures.put("ArchiveRestitutionRequestReply", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveRestitutionRequestReplyEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveRestitutionRequestReplyEntete");}});
+ }});
+
+ structures.put("ArchiveRestitutionRequestEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ put("RestitutionRequestIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de restitution"); }});
+ //put("UnitIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Identifiants d'archives"); put("formName","Identifiant d'archive"); }});
+ }});
+
+ structures.put("ArchiveRestitutionAcknowledgementEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ put("ReplyCode", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code de réponse"); }});
+ put("UnitIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Identifiants d'archives"); put("formName","Identifiant d'archive"); }});
+ put("RestitutionIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de restitution"); }});
+ put("RestitutionAcknowledgementIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de l'accusé de refus de restitution"); }});
+ }});
+
+ structures.put("ArchiveRestitutionRequestReplyEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ put("ReplyCode", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code de réponse"); }});
+ put("UnitIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Identifiants d'archives"); put("formName","Identifiant d'archive"); }});
+ put("RestitutionRequestIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de restitution"); }});
+ put("RestitutionRequestReplyIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de l'accusé de restitution"); }});
+ }});
+
+ //THOMAS
+
+ structures.put("ArchiveDestructionRequestReplyEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("ReplyCode", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code de réponse"); }});
+ put("DestructionRequestIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant d'élimination"); }});
+ put("DestructionRequestReplyIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de l'accusé d'élimination"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveDestructionNotificationEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("DestructionDate", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de destruction"); }});
+ put("DestructionNotificationIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de notification d'elimination"); }});
+ put("DestructionRequestIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant d'élimination"); }});
+ put("UnitIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Identifiants d'archives"); put("formName","Identifiant d'archive"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveModificationNotificationEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("ModificationDate", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de modification"); }});
+ put("ModificationNotificationIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de modification"); }});
+ put("UnitIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Identifiants d'archives"); put("formName","Identifiant d'archive"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveTransferAcceptance", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveTransferAcceptanceEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveTransferAcceptanceEntete");}});
+ put("ArchiveTransferAcceptanceDescription", new LinkedHashMap<String,String>(){{ put("description","ArchiveTransferAcceptanceDescription");}});
+ }});
+
+ structures.put("ArchiveTransfer", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveTransferEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveTransferEntete");}});
+ put("ArchiveTransferDescription", new LinkedHashMap<String,String>(){{ put("description","ArchiveTransferDescription");}});
+ }});
+
+ structures.put("ArchiveTransferEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("TransferringAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service versant"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveRestitution", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchiveRestitutionEntete", new LinkedHashMap<String,String>(){{ put("entete","ArchiveRestitutionEntete");}});
+ put("ArchiveRestitutionDescription", new LinkedHashMap<String,String>(){{ put("description","ArchiveRestitutionDescription");}});
+ }});
+
+ structures.put("ArchiveRestitutionEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("RestitutionIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de restitution"); }});
+ put("UnitIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Identifiants d'archives"); put("formName","Identifiant d'archive"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service producteur"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveRestitutionDescription", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Archive", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveType"); put("formListName","Archives"); put("formName","Archive"); }});
+ }});
+
+ structures.put("ArchiveTransferDescription", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Contains", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveTypeTransfer"); put("formListName","Archives"); put("formName","Archive"); }});
+ }});
+
+ structures.put("ArchiveTypeTransfer", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchivalAgreement", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Convention"); }});
+ put("ArchivalProfile", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Profil"); }});
+ put("DescriptionLanguage", new LinkedHashMap<String,String>(){{ put("listObject","CodeLanguageType"); put("type","COMBOBOX"); put("affValue","value"); put("formListName","Langues de la description"); put("formName","Langue de la description"); }});
+ put("DescriptionLevel", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Niveau de description"); }});
+ put("Name", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Nom"); put("affInMenu","true");}});
+ put("ServiceLevel", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesCodeType"); put("type","TEXT"); put("affValue","value"); put("formListName","Niveaux de service demandé"); put("formName","Niveau de service demandé"); }});
+ put("TransferringAgencyArchiveIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant service versant"); }});
+ put("ContentDescription", new LinkedHashMap<String,String>(){{ put("modelObject","ContentDescriptionType"); put("formName","Description du contenu"); }});
+ put("Appraisal", new LinkedHashMap<String,String>(){{ put("modelObject","AppraisalRulesType"); put("formName","Règle de sort final"); }});
+ put("AccessRestriction", new LinkedHashMap<String,String>(){{ put("modelObject","AccessRestrictionRulesType"); put("formName","Règle de restriction d'accès"); }});
+ put("Document", new LinkedHashMap<String,String>(){{ put("listObject","DocumentType"); put("formListName","Documents"); put("formName","Document"); }});
+ put("Contains", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveObjectTypeTransfer"); put("formListName","Unités documentaires"); put("formName","Unité documentaire"); }});
+ }});
+
+ structures.put("ArchiveObjectTypeTransfer", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("DescriptionLevel", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Niveau de description"); }});
+ put("Name", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Nom"); put("affInMenu","true");}});
+ put("TransferringAgencyObjectIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant d'origine"); }});
+ put("ContentDescription", new LinkedHashMap<String,String>(){{ put("modelObject","ContentDescriptionType"); put("formName","Description du contenu"); }});
+ put("Appraisal", new LinkedHashMap<String,String>(){{ put("modelObject","AppraisalRulesType"); put("formName","Règle de sort final"); }});
+ put("AccessRestriction", new LinkedHashMap<String,String>(){{ put("modelObject","AccessRestrictionRulesType"); put("formName","Règle de restriction d'accès"); }});
+ put("Document", new LinkedHashMap<String,String>(){{ put("listObject","DocumentType"); put("formListName","Documents"); put("formName","Document"); }});
+ put("Contains", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveObjectType"); put("formListName","Unités documentaires"); put("formName","Unité documentaire"); }});
+ }});
+
+ structures.put("ArchiveTransferAcceptanceEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de la prise en charge du transfert"); }});
+ put("ReplyCode", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code de la réponse (OK, anomalie...)"); }});
+ put("TransferAcceptanceIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de la prise en charge du transfert"); }});
+ put("TransferIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant du transfert"); }});
+ put("TransferringAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service versant"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveTransferAcceptanceDescription", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Archive", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveType"); put("formListName","Archives"); put("formName","Archive"); }});
+ }});
+
+ structures.put("ArchiveType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchivalAgencyArchiveIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de l'archive"); }});
+ put("ArchivalAgreement", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Convention"); }});
+ put("ArchivalProfile", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Profil"); }});
+ put("DescriptionLanguage", new LinkedHashMap<String,String>(){{ put("listObject","CodeLanguageType"); put("type","COMBOBOX"); put("affValue","value"); put("formListName","Langues de la description"); put("formName","Langue de la description"); }});
+ put("DescriptionLevel", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Niveau de description"); }});
+ put("Name", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Nom"); put("affInMenu","true");}});
+ put("ServiceLevel", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesCodeType"); put("type","TEXT"); put("affValue","value"); put("formListName","Niveaux de service demandé"); put("formName","Niveau de service demandé"); }});
+ put("TransferringAgencyArchiveIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant service versant"); }});
+ put("ContentDescription", new LinkedHashMap<String,String>(){{ put("modelObject","ContentDescriptionType"); put("formName","Description du contenu"); }});
+ put("Appraisal", new LinkedHashMap<String,String>(){{ put("modelObject","AppraisalRulesType"); put("formName","Règle de sort final"); }});
+ put("AccessRestriction", new LinkedHashMap<String,String>(){{ put("modelObject","AccessRestrictionRulesType"); put("formName","Règle de restriction d'accès"); }});
+ put("Document", new LinkedHashMap<String,String>(){{ put("listObject","DocumentType"); put("formListName","Documents"); put("formName","Document"); }});
+ put("Contains", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveObjectType"); put("formListName","Unités documentaires"); put("formName","Unité documentaire"); }});
+ }});
+
+ structures.put("ArchiveObjectType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("ArchivalAgencyObjectIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant unité documentaire service d'archive"); }});
+ put("DescriptionLevel", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Niveau de description"); }});
+ put("Name", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Nom"); put("affInMenu","true");}});
+ put("TransferringAgencyObjectIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant d'origine"); }});
+ put("ContentDescription", new LinkedHashMap<String,String>(){{ put("modelObject","ContentDescriptionType"); put("formName","Description du contenu"); }});
+ put("Appraisal", new LinkedHashMap<String,String>(){{ put("modelObject","AppraisalRulesType"); put("formName","Règle de sort final"); }});
+ put("AccessRestriction", new LinkedHashMap<String,String>(){{ put("modelObject","AccessRestrictionRulesType"); put("formName","Règle de restriction d'accès"); }});
+ put("Document", new LinkedHashMap<String,String>(){{ put("listObject","DocumentType"); put("formListName","Documents"); put("formName","Document"); }});
+ put("Contains", new LinkedHashMap<String,String>(){{ put("listObject","ArchiveObjectType"); put("formListName","Unités documentaires"); put("formName","Unité documentaire"); }});
+ }});
+
+ structures.put("DocumentType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Attachment", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesBinaryObjectType"); put("type","FILE"); put("affValue","filename"); put("formListName","Pièces jointes"); put("formName","Pièce jointe"); }});
+ put("Control", new LinkedHashMap<String,String>(){{ put("listObject","IndicatorType"); put("type","COMBOBOX"); put("affValue","value"); put("formListName","Présences d'exigences de contrôle"); put("formName","Présence d'exigences de contrôle"); }});
+ put("Copy", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Exemplaire"); }});
+ put("Creation", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de création"); }});
+ put("Description", new LinkedHashMap<String,String>(){{ put("type","TEXTAREA"); put("affInMenu","true"); put("formName","Description"); }});
+ put("Identification", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Exemplaire"); }});
+ put("Issue", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date d'émission"); }});
+ put("ItemIdentifier", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("affValue","filename"); put("formListName","Identifiants uniques d'un élément particulier dans le document"); put("formName","Identifiant unique d'un élément particulier dans le document"); }});
+ put("Purpose", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Objet"); }});
+ put("Receipt", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de réception"); }});
+ put("Response", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de réponse"); }});
+ put("Status", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesCodeType"); put("affValue","value"); put("type","TEXT"); put("formListName","Etat"); put("formName","Etat"); }});
+ put("Submission", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de soumission"); }});
+ put("Type", new LinkedHashMap<String,String>(){{ put("listObject","CodeDocumentType"); put("type","COMBOBOX"); put("affValue","value"); put("formListName","Types"); put("formName","Type"); }});
+ put("OtherMetadata", new LinkedHashMap<String,String>(){{ put("listObject","OtherMetadataType"); put("affValue","value"); put("type","TEXT"); put("formListName","Métadonnées métier"); put("formName","Métadonnées métier"); }});
+ }});
+
+ structures.put("ContentDescriptionType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("CustodialHistory", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Historique de conservation"); }});
+ put("Description", new LinkedHashMap<String,String>(){{ put("type","TEXTAREA"); put("affInMenu","true"); put("formName","Description"); }});
+ put("FilePlanPosition", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("affValue","value"); put("type","TEXT"); put("formListName","Plans de classement"); put("formName","Plan de classement"); }});
+ put("Format", new LinkedHashMap<String,String>(){{ put("listObject","String"); put("affValue","value"); put("formListName","Formats"); put("formName","Format"); }});
+ put("Language", new LinkedHashMap<String,String>(){{ put("listObject","CodeLanguageType"); put("type","COMBOBOX"); put("affValue","value"); put("formListName","Langues du contenu"); put("formName","Langue du contenu"); }});
+ put("LatestDate", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de fin"); }});
+ put("OldestDate", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de début"); }});
+ put("OtherDescriptiveData", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Autres informations"); }});
+ put("RelatedObjectReference", new LinkedHashMap<String,String>(){{ put("listObject","ArchivesIDType"); put("type","TEXT"); put("affValue","value"); put("formListName","Références complémentaires"); put("formName","Référence complémentaire"); }});
+ put("Size", new LinkedHashMap<String,String>(){{ put("listObject","MeasureType"); put("type","TEXT"); put("affValue","value"); put("formListName","Tailles"); put("formName","Taille"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("listObject","OrganizationType"); put("formListName","Services producteurs"); put("formName","Service producteur"); }});
+ put("Repository", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archives"); }});
+ put("ContentDescriptive", new LinkedHashMap<String,String>(){{ put("listObject","KeywordType"); put("formListName","Mots-clés"); put("formName","Mot-clé"); }});
+ put("AccessRestriction", new LinkedHashMap<String,String>(){{ put("listObject","AccessRestrictionRulesType"); put("formListName","Règles de restriction d'accès"); put("formName","Règle de restriction d'accès"); }});
+ put("OtherMetadata", new LinkedHashMap<String,String>(){{ put("listObject","OtherMetadataType"); put("affValue","value"); put("type","TEXT"); put("formListName","Autres métadonnées"); put("formName","Autre métadonnées"); }});
+ }});
+
+
+ structures.put("KeywordType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("AccessRestriction", new LinkedHashMap<String,String>(){{ put("modelObject","AccessRestrictionRulesType"); put("formName","Règle de restriction d'accès"); }});
+ put("KeywordContent", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Mot-clé"); put("affInMenu","true"); }});
+ put("KeywordReference", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant dans le référentiel associé"); }});
+ put("KeywordType", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Type de mot clé"); }});
+ }});
+
+ structures.put("AppraisalRulesType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Code", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code"); }});
+ put("Duration", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Durée d'utilité administrative"); }});
+ put("StartDate", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de départ du calcul"); }});
+ }});
+
+ structures.put("AccessRestrictionRulesType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Code", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code"); }});
+ put("StartDate", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date de départ du calcul"); }});
+ }});
+
+ structures.put("ArchiveTransferReplyEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("ReplyCode", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code de réponse"); }});
+ put("TransferIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de transfert"); }});
+ put("TransferReplyIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de l'accusé de reception du transfert"); }});
+ put("TransferringAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service versant"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("ArchiveDestructionRequestReplyReplyAcknowledgementEntete", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("init",null);
+ put("Comment", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Commentaires"); }});
+ put("Date", new LinkedHashMap<String,String>(){{ put("type","DATE"); put("affValue","value"); put("formName","Date"); }});
+ put("ReplyCode", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Code de réponse"); }});
+ put("DestructionRequestReplyAcknowledgementIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de l'accusé de refus d'élimination"); }});
+ put("DestructionRequestReplyIdentifier", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant de la demande d'élimination"); }});
+ put("OriginatingAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service versant"); }});
+ put("ArchivalAgency", new LinkedHashMap<String,String>(){{ put("modelObject","OrganizationType"); put("formName","Service d'archive"); }});
+ }});
+
+ structures.put("OrganizationType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("BusinessType", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Code de l'activité"); }});
+ put("Description", new LinkedHashMap<String,String>(){{ put("type","TEXTAREA"); put("affInMenu","true"); put("affValue","value"); put("formName","Description"); }});
+ put("Identification", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant"); }});
+ put("LegalClassification", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Code de la catégorie juridique"); }});
+ put("Name", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Nom"); put("affInMenu","true"); }});
+ put("Contact", new LinkedHashMap<String,String>(){{ put("listObject","ContactType"); put("formListName","Contacts"); put("formName","Contact"); }});
+ put("Address", new LinkedHashMap<String,String>(){{ put("listObject","AddressType"); put("formListName","Adresses"); put("formName","Adresse"); }});
+ put("Communication", new LinkedHashMap<String,String>(){{ put("listObject","CommunicationType"); put("formListName","Moyens de communication"); put("formName","Moyen de communication"); }});
+ }});
+
+ structures.put("AddressType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("BlockName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Quartier"); }});
+ put("BuildingName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Bâtiment"); }});
+ put("BuildingNumber", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Numéro"); }});
+ put("CityName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Localité"); }});
+ put("CitySub-DivisionName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Arrondissement / quartier"); }});
+ put("Country", new LinkedHashMap<String,String>(){{ put("type","COMBOBOX"); put("affValue","value"); put("formName","Pays"); }});
+ put("FloorIdentification", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Etage"); }});
+ put("Postcode", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Code postal"); }});
+ put("PostOfficeBox", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Boite postale"); }});
+ put("RoomIdentification", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Pièce"); }});
+ put("StreetName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Voie"); }});
+ }});
+
+ structures.put("CommunicationType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("Channel", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Type/Outil de communication"); }});
+ put("CompleteNumber", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Numéro"); }});
+ put("URI", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","URI"); }});
+ }});
+
+ structures.put("ContactType", new LinkedHashMap<String,LinkedHashMap<String,String>>(){{
+ put("DepartmentName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Service"); }});
+ put("Identification", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("affValue","value"); put("formName","Identifiant"); }});
+ put("PersonName", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Nom"); }});
+ put("Responsibility", new LinkedHashMap<String,String>(){{ put("type","TEXT"); put("formName","Attributions"); }});
+ put("Address", new LinkedHashMap<String,String>(){{ put("modelObject","AddressType"); put("formName","Adresse"); }});
+ put("Communication", new LinkedHashMap<String,String>(){{ put("listObject","CommunicationType"); put("formListName","Moyens de communication"); put("formName","Moyen de communication"); }});
+ }});
+ }
+
+ public LinkedHashMap<String,LinkedHashMap<String,String>> getInto(String key){
+ if(key == null || key.equals(""))
+ return null;
+ LinkedHashMap<String,LinkedHashMap<String,String>> result = null;
+
+ if(cursor == null){
+ if(structures.containsKey(key)){
+ cursor = structures.get(key);
+ }
+ else{
+ return null;
+ }
+ }
+ else{
+ if(cursor.containsKey(key)){
+
+
+ if(cursor.get(key).containsKey("modelObject")){
+ histories.add(cursor);
+ cursor = structures.get(cursor.get(key).get("modelObject"));
+ }
+ else if(cursor.get(key).containsKey("entete")){
+ histories.add(cursor);
+ cursor = structures.get(cursor.get(key).get("entete"));
+ }
+ else if(cursor.get(key).containsKey("description")){
+ histories.add(cursor);
+ cursor = structures.get(cursor.get(key).get("description"));
+ }
+ else if(cursor.get(key).containsKey("listObject")){
+ histories.add(cursor);
+ cursor = structures.get(cursor.get(key).get("listObject"));
+ }
+ else{
+ return null;
+ }
+
+ if(cursor == null)
+ System.out.println(key + " inexistant");
+ }
+ else{
+ return null;
+ }
+ }
+
+ return result;
+ }
+
+ public LinkedHashMap<String,LinkedHashMap<String,String>> getInto(LinkedHashMap<String,String> link){
+ LinkedHashMap<String,LinkedHashMap<String,String>> result = null;
+
+ if(link.containsKey("modelObject")){
+ histories.add(cursor);
+ cursor = structures.get(link.get("modelObject"));
+ }
+ else if(link.containsKey("entete")){
+ histories.add(cursor);
+ cursor = structures.get(link.get("entete"));
+ }
+ else if(link.containsKey("description")){
+ histories.add(cursor);
+ cursor = structures.get(link.get("description"));
+ }
+ else if(link.containsKey("listObject")){
+ histories.add(cursor);
+ cursor = structures.get(link.get("listObject"));
+ }
+ else{
+ return null;
+ }
+ return cursor;
+ }
+
+
+ public LinkedHashMap<String,LinkedHashMap<String,String>> getCurrent(){
+ return cursor;
+ }
+
+ public void setCurrent(LinkedHashMap<String,LinkedHashMap<String,String>> current){
+ this.cursor = current;
+ }
+
+ public LinkedHashMap<String,LinkedHashMap<String,String>> getOut(){
+ if(histories.size() > 0){
+ cursor = histories.get(histories.size() - 1);
+ histories.remove(histories.size()-1);
+ return cursor;
+ }
+
+ return null;
+ }
+
+
+}
+
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEDescriptor;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEObject;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.utils.Utils;
+
+/**
+ *
+ * Classes contenant diverses methodes de transformation d'objets AGAPE
+ *
+ * @Class : AGAPELoader.java
+ * @Package : eu.akka.saem.alfresco.seda.loader
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AGAPELoader.java $
+ *
+ */
+public class AGAPELoader {
+ private static final String ELEMENTNAME = "xsd:element";
+ private static final String ELEMENT_ATTRIBUT_NAME = "name";
+ private static final String ATTRIBUT_NAME = "xsd:attribute";
+ private static final String ELEMENT_ATTRIBUT_MINOCCURS = "minOccurs";
+ private static final String ELEMENT_ATTRIBUT_MAXOCCURS = "maxOccurs";
+ private static final String ANNOTATION_NAME = "xsd:annotation";
+ private static final String UNBOUNDED = "unbounded";
+ private static final String ELEMENT_ATTRIBUT_USE = "use";
+ private static final String ELEMENT_ATTRIBUT_FIXED = "fixed";
+ private static final String PROHIBITED = "prohibited";
+
+
+
+ /**
+ * Transforme un fichier AGAPE en ArchiveTransferType
+ * @param path Chemin du fichier AGAPE
+ * @return ArchiveTransferType
+ * @throws IOException
+ * @throws SAXException
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static AGAPEObject ArchiveTransferLoader(String path) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ return ArchiveTransferLoader(new File(path));
+ }
+
+ /**
+ * Transforme un fichier AGAPE en ArchiveTransferType
+ * TODO Cette méthode doit appeller ArchiveTransferLoader(InputStream is)
+ * @param f Fichier XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static AGAPEObject ArchiveTransferLoader(File f) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(f);
+ return ArchiveTransferLoader(doc);
+ }
+
+
+ /**
+ * Transforme un fichier AGAPE en ArchiveTransferType
+ * @param is Fichier XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static AGAPEObject ArchiveTransferLoader(InputStream is) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(is);
+ return ArchiveTransferLoader(doc);
+ }
+
+ /**
+ * Transforme un fichier AGAPE en ArchiveTransferType
+ * @param doc Document XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static AGAPEObject ArchiveTransferLoader(Document doc) throws ParserConfigurationException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ Node node = doc.getDocumentElement();
+ String version = getSEDAVersion(doc.getDocumentElement());
+ node = node.getChildNodes().item(1);
+
+ Class<?> objectClass = null;
+
+ try{
+ objectClass = Class.forName("eu.akka.saem.alfresco.seda."+version+"."+node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_NAME).getNodeValue()+"Type");
+ }catch(ClassNotFoundException e){
+ throw new IllegalArgumentException("Le fichier XML en entrée est incorrecte");
+ }
+
+
+
+ AGAPELoader xmlloader = new AGAPELoader();
+ ArchiveTransferType at = (ArchiveTransferType) objectClass.newInstance();
+ SEDA annotation = objectClass.getAnnotation(SEDA.class);
+ AGAPEDescriptor rea = new AGAPEDescriptor(annotation.PropertyTerm(), AGAPEType.ELEMENT);
+ xmlloader.transform(node,rea,at);
+ AGAPEObject agapefile = new AGAPEObject(rea,at);
+ return agapefile;
+ }
+
+
+ private static String getSEDAVersion(Element documentElement) {
+ String version = documentElement.getAttribute("xmlns");
+ if(version == null)
+ throw new IllegalArgumentException("La version du SEDA utilisé dans le fichier xml est inconnu");
+
+ if(version.endsWith("v0.2"))
+ return "v02";
+
+ throw new IllegalArgumentException("La version du SEDA utilisé dans le fichier xml est inconnu");
+ }
+
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet en fonction de nom de la balise RNG SEDA
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private Method findSetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(sedaAnnotations.Cardinality().equals("0..n") || sedaAnnotations.Cardinality().equals("1..n")){
+ if(m.getName().startsWith("add"))
+ return m;
+ }
+ else{
+ if(m.getName().startsWith("set"))
+ return m;
+ }
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ /**
+ * Transforme un noeud XML SEDA en objet java SEDA
+ * @param objectClass
+ * @param node
+ * @return
+ * @throws ClassNotFoundException
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * @throws SecurityException
+ * @throws NoSuchMethodException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ private void transform(Node node, AGAPEDescriptor rea, Object objecttmp) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, IllegalArgumentException, InvocationTargetException{
+
+ try{
+ Method m = findMethodByName(objecttmp.getClass(), "setValue");
+ if(m.getParameterTypes()[0].equals(String.class)){
+ if(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED)!=null)
+ m.invoke(objecttmp,node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED).getNodeValue());
+ else
+ m.invoke(objecttmp,"");
+ }
+ else if(m.getParameterTypes()[0].isEnum()){
+ if(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED)!=null)
+ m.invoke(objecttmp,Utils.findValueOnEnum(m.getParameterTypes()[0],node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED).getNodeValue()));
+ else
+ m.invoke(objecttmp,Utils.findValueOnEnum(m.getParameterTypes()[0],""));
+ }
+ }
+ catch(Exception ex){
+
+ }
+
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ try {
+ Node no = node.getChildNodes().item(i);
+
+ if(no.getAttributes()!=null && (no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_USE)==null || !no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_USE).getNodeValue().equals(PROHIBITED)) && no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_NAME)!=null){
+ Method method = findSetterMethodByName(objecttmp.getClass(), no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_NAME).getNodeValue());
+
+ AGAPEDescriptor descriptor = insertAGAPEDescriptor(no);
+
+ if(method.getParameterTypes()[0].equals(String.class)){
+ if(no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED)!=null){
+ method.invoke(objecttmp, no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED).getNodeValue());
+ }
+ else{
+ method.invoke(objecttmp, "");
+ }
+ }
+ else if(method.getParameterTypes()[0].isEnum()){
+ if(no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED)!=null){
+ method.invoke(objecttmp, Utils.findValueOnEnum(method.getParameterTypes()[0],no.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_FIXED).getNodeValue()));
+ }
+ else{
+ method.invoke(objecttmp, Utils.findValueOnEnum(method.getParameterTypes()[0],""));
+ }
+ }
+ else{
+ Object object = method.getParameterTypes()[0].newInstance();
+
+ transform(no,descriptor,object);
+ method.invoke(objecttmp, object);
+ }
+
+ rea.addChilds(descriptor);
+ }
+ } catch (NoSuchMethodException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
+
+
+ private AGAPEDescriptor insertAGAPEDescriptor(Node node) {
+ AGAPEDescriptor descriptor = new AGAPEDescriptor(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_NAME).getNodeValue());
+ if(node.getNodeName().equals(ELEMENTNAME)){
+ descriptor.setType(AGAPEType.ELEMENT);
+ }
+ else if(node.getNodeName().equals(ATTRIBUT_NAME)){
+ descriptor.setType(AGAPEType.ATTRIBUT);
+ }
+
+ if(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_MINOCCURS)!=null){
+ descriptor.setMinOccurs(Integer.parseInt(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_MINOCCURS).getNodeValue()));
+ }
+ else{
+ descriptor.setMinOccurs(1);
+ }
+
+ if(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_MAXOCCURS)!=null){
+ if(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_MAXOCCURS).getNodeValue().equals(UNBOUNDED))
+ descriptor.setMaxOccurs(-1);
+ else
+ descriptor.setMaxOccurs(Integer.parseInt(node.getAttributes().getNamedItem(ELEMENT_ATTRIBUT_MAXOCCURS).getNodeValue()));
+ }
+ else{
+ descriptor.setMaxOccurs(1);
+ }
+
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ Node no = node.getChildNodes().item(i);
+ if(no.getNodeName().equals(ANNOTATION_NAME)){
+ descriptor.setComment(no.getLastChild().getTextContent());
+ break;
+ }
+ }
+
+
+ return descriptor;
+ }
+
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private Method findMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+
+ if(m.getName().equals(name)){
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ * Classe contenant diverses methodes de transformation d'objet JSON
+ * en objet SEDA
+ *
+ * @Class : JSONLoader.java
+ * @Package : eu.akka.saem.alfresco.seda.loader
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: JSONLoader.java $
+ *
+ */
+public class JSONLoader {
+
+ /**
+ * Transforme un fichier XML SEDA v0.2 en Objet SEDA
+ * @param path Chemin du fichier XML
+ * @return ArchiveTransferType
+ * @throws IOException
+ * @throws SAXException
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws JSONException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static Object SEDALoader(String json) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, JSONException, IllegalArgumentException, InvocationTargetException{
+
+ return SEDALoader(new JSONObject(json));
+ }
+
+ /**
+ * Transforme un Document XML SEDA v0.2 en Objet SEDA
+ * @param doc Document XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws JSONException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static Object SEDALoader(JSONObject object) throws ParserConfigurationException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, JSONException, IllegalArgumentException, InvocationTargetException{
+
+ Class<?> objectClass = Class.forName("eu.akka.saem.alfresco.seda.v02."+object.get("PropertyTerm")+"Type");
+
+ Object ob = JSONLoader.transform(objectClass,object);
+ return ob;
+ }
+
+ private static String getSEDAVersion(Element documentElement) {
+ String version = documentElement.getAttribute("xmlns");
+ if(version == null)
+ throw new IllegalArgumentException("La version du SEDA utilisé dans le fichier xml est inconnu");
+
+ if(version.endsWith("v0.2"))
+ return "v02";
+
+ throw new IllegalArgumentException("La version du SEDA utilisé dans le fichier xml est inconnu");
+ }
+
+
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet en fonction de nom de la balise XML SEDA
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private static Method findSetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(sedaAnnotations.Cardinality().equals("0..n") || sedaAnnotations.Cardinality().equals("1..n")){
+ if(m.getName().startsWith("add"))
+ return m;
+ }
+ else{
+ if(m.getName().startsWith("set"))
+ return m;
+ }
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private static Method findMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+
+ if(m.getName().equals(name)){
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ /**
+ * Transforme un noeud XML SEDA en objet java SEDA
+ * @param objectClass
+ * @param node
+ * @return
+ * @throws ClassNotFoundException
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * @throws SecurityException
+ * @throws NoSuchMethodException
+ * @throws JSONException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ private static Object transform(Class<?> objectClass,JSONObject jsonobject) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, JSONException, IllegalArgumentException, InvocationTargetException{
+ //On cree l'objet
+ Object object = objectClass.newInstance();
+
+ //On s'occupe des attributs
+ if(jsonobject.get("value").getClass().equals(JSONArray.class)){
+ JSONArray array = (JSONArray) jsonobject.get("value");
+ for(int i=0; i<array.length(); i++){
+ try{
+
+ Method m = findSetterMethodByName(objectClass,(String) ((JSONObject) array.get(i)).get("PropertyTerm"));
+ if(m.getParameterTypes()[0].equals(String.class)){
+ m.invoke(object,(String) ((JSONObject) array.get(i)).get("value"));
+ }
+ else if(m.getParameterTypes()[0].isEnum()){
+ m.invoke(object,findValueOnEnum(m.getParameterTypes()[0],(String) ((JSONObject) array.get(i)).get("value")));
+ }
+ else{
+ m.invoke(object, transform(m.getParameterTypes()[0],((JSONObject) array.get(i))));
+ }
+ }
+ catch(Exception ex){
+
+ }
+
+ }
+ }
+ else if(jsonobject.get("value").getClass().equals(String.class)){
+
+ }
+
+ return object;
+ }
+
+ /**
+ *
+ * @param class1
+ * @param nodeValue
+ * @return
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ */
+ private static Object findValueOnEnum(Class<?> class1, String nodeValue) throws InstantiationException, IllegalAccessException {
+ if(nodeValue==null)
+ nodeValue="";
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && nodeValue.equals(sedaAnnotation.PropertyTerm()))
+ return o.get(class1);
+ }
+
+ return null;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.parser.RNGParserUtils;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.loader.rng.RNGDescriptor;
+import eu.akka.saem.alfresco.seda.loader.rng.RNGObject;
+import eu.akka.saem.alfresco.seda.loader.rng.XMLType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+
+/**
+ *
+ * Classe de transformation d'objet en RNGObject
+ *
+ * @Class : RNGLoader.java
+ * @Package : eu.akka.saem.alfresco.seda.loader
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: RNGLoader.java $
+ *
+ */
+public class RNGLoader {
+
+ /**
+ * Transforme un fichier RNG SEDA v0.2 en ArchiveTransferType
+ * @param path Chemin du fichier RNG
+ * @return ArchiveTransferType
+ * @throws IOException
+ * @throws SAXException
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static RNGObject ArchiveTransferLoader(String path) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ return ArchiveTransferLoader(new File(path));
+ }
+
+ /**
+ * Transforme un fichier RNG SEDA v0.2 en ArchiveTransferType
+ * TODO Cette méthode doit appeller ArchiveTransferLoader(InputStream is)
+ * @param f Fichier XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static RNGObject ArchiveTransferLoader(File f) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(f);
+ return ArchiveTransferLoader(doc);
+ }
+
+
+ /**
+ * Transforme un fichier RNG SEDA v0.2 en ArchiveTransferType
+ * @param is Fichier XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static RNGObject ArchiveTransferLoader(InputStream is) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(is);
+ return ArchiveTransferLoader(doc);
+ }
+
+ /**
+ * Transforme un Document RNG SEDA v0.2 en ArchiveTransferType
+ * @param doc Document XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ public static RNGObject ArchiveTransferLoader(Document doc) throws ParserConfigurationException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ Node ArchiveTransferDefineNode = RNGParserUtils.getDefineRefByName("ArchiveTransfer", doc);
+ Node ArchiveTransferEleNode = RNGParserUtils.getChildElementNode(ArchiveTransferDefineNode).get(0);
+ Node ArchiveTransferRefNode = RNGParserUtils.getChildRefNode(ArchiveTransferEleNode).get(0);
+ Node ArchiveTransferNode = RNGParserUtils.getDefineRefByName(RNGParserUtils.getRefName(ArchiveTransferRefNode), doc);
+
+ String version = getSEDAVersion(doc.getDocumentElement());
+ RNGLoader xmlloader = new RNGLoader();
+ Class<?> objectClass = Class.forName("eu.akka.saem.alfresco.seda."+version+"."+RNGParserUtils.getElementName(ArchiveTransferEleNode)+"Type");
+
+
+ ArchiveTransferType at = (ArchiveTransferType) objectClass.newInstance();
+ SEDA annotation = objectClass.getAnnotation(SEDA.class);
+ RNGDescriptor rea = new RNGDescriptor(annotation.PropertyTerm(), XMLType.ELEMENT);
+ xmlloader.transform(ArchiveTransferNode,rea,at);
+ RNGObject rngfile = new RNGObject(rea,at);
+ return rngfile;
+ }
+
+
+ private static String getSEDAVersion(Element documentElement) {
+ String version = documentElement.getAttribute("xmlns");
+ if(version == null)
+ throw new IllegalArgumentException("La version du SEDA utilisé dans le fichier xml est inconnu");
+
+ if(version.endsWith("v0.2"))
+ return "v02";
+
+ throw new IllegalArgumentException("La version du SEDA utilisé dans le fichier xml est inconnu");
+ }
+
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet en fonction de nom de la balise RNG SEDA
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private Method findSetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(sedaAnnotations.Cardinality().equals("0..n") || sedaAnnotations.Cardinality().equals("1..n")){
+ if(m.getName().startsWith("add"))
+ return m;
+ }
+ else{
+ if(m.getName().startsWith("set"))
+ return m;
+ }
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ /**
+ * Transforme un noeud XML SEDA en objet java SEDA
+ * @param objectClass
+ * @param node
+ * @return
+ * @throws ClassNotFoundException
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * @throws SecurityException
+ * @throws NoSuchMethodException
+ * @throws InvocationTargetException
+ * @throws IllegalArgumentException
+ */
+ private void transform(Node no, RNGDescriptor rea, Object resultObject) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException{
+ //On cree l'objet
+
+ for(Node node:RNGParserUtils.getChildAttributNode(no)){
+ Method method = findSetterMethodByName(resultObject.getClass(), RNGParserUtils.getElementName(node));
+ SEDA sedaAnnotation = method.getAnnotation(SEDA.class);
+
+ RNGDescriptor childREA = new RNGDescriptor(sedaAnnotation.PropertyTerm(),XMLType.ATTRIBUT);
+ configRNGElement(childREA,node);
+
+
+ if(sedaAnnotation.Type().equals(SEDAType.ATTRIBUTE)){
+ if(method.getParameterTypes()[0].equals(String.class)){
+ rea.addChilds(childREA);
+ method.invoke(resultObject, RNGParserUtils.getValueByElement(node));
+ }
+ else if(method.getParameterTypes()[0].isEnum()){
+ rea.addChilds(childREA);
+ method.invoke(resultObject, findValueOnEnum(method.getParameterTypes()[0],RNGParserUtils.getValueByElement(node)));
+ }
+ }
+ }
+
+ if(RNGParserUtils.getNodeValue(no)!=null){
+ Node node = RNGParserUtils.getNodeValue(no);
+ Method method = findMethodByName(resultObject.getClass(),"setValue");
+
+ RNGDescriptor childREA = new RNGDescriptor("value",XMLType.VALUE);
+ configRNGElement(childREA,node);
+
+ if(method.getParameterTypes()[0].equals(String.class)){
+ rea.addChilds(childREA);
+ method.invoke(resultObject,node.getTextContent());
+ }
+ else if(method.getParameterTypes()[0].isEnum()){
+ rea.addChilds(childREA);
+ method.invoke(resultObject, findValueOnEnum(method.getParameterTypes()[0],node.getTextContent()));
+ }
+ }
+
+ int counter = 0;
+ String counterName = "";
+ for(Node node:RNGParserUtils.getChildElementNode(no)){
+ Method method = findSetterMethodByName(resultObject.getClass(), RNGParserUtils.getElementName(node));
+ SEDA sedaAnnotation = method.getAnnotation(SEDA.class);
+
+ RNGDescriptor childREA = new RNGDescriptor(sedaAnnotation.PropertyTerm(),XMLType.ELEMENT);
+ configRNGElement(childREA,node);
+
+
+ if(sedaAnnotation.Cardinality().equals("0..n") || sedaAnnotation.Cardinality().equals("1..n")){
+
+ if(counterName.equals("") || sedaAnnotation.PropertyTerm().equals(counterName)){
+ counterName=sedaAnnotation.PropertyTerm();
+ childREA.setName(childREA.getName()+"["+counter+"]");
+ counter ++;
+ }
+ else{
+ counter=0;
+ counterName=sedaAnnotation.PropertyTerm();
+ childREA.setName(childREA.getName()+"["+counter+"]");
+ counter ++;
+ }
+
+ }
+ else{
+ counter = 0;
+ counterName = "";
+ }
+
+ if(sedaAnnotation.Type().equals(SEDAType.ELEMENT)){
+ if(method.getParameterTypes()[0].equals(String.class)){
+ rea.addChilds(childREA);
+ method.invoke(resultObject, RNGParserUtils.getValueByElement(node));
+ }
+ else if(method.getParameterTypes()[0].isEnum()){
+ rea.addChilds(childREA);
+ method.invoke(resultObject, findValueOnEnum(method.getParameterTypes()[0],RNGParserUtils.getValueByElement(node)));
+ }
+ else{
+ rea.addChilds(childREA);
+ Object object = method.getParameterTypes()[0].newInstance();
+ transform(RNGParserUtils.getDefineNodeByElement(node),childREA,object);
+ method.invoke(resultObject, object);
+ }
+
+ }
+ }
+ }
+
+
+ private void configRNGElement(RNGDescriptor childREA, Node node) {
+ if(node.getParentNode().getNodeName().equals(RNGParserUtils.ELEMENT)){
+ childREA.setMinOccurs(1);
+ childREA.setMaxOccurs(1);
+ }
+
+ if(node.getParentNode().getNodeName().equals(RNGParserUtils.ONEORMORE)){
+ childREA.setMinOccurs(1);
+ childREA.setMaxOccurs(-1);
+ }
+
+ if(node.getParentNode().getNodeName().equals(RNGParserUtils.ZEROORMORE)){
+ childREA.setMinOccurs(0);
+ childREA.setMaxOccurs(-1);
+ }
+
+ if(node.getParentNode().getNodeName().equals(RNGParserUtils.OPTIONAL)){
+ childREA.setMinOccurs(0);
+ childREA.setMaxOccurs(1);
+ }
+ }
+
+ /**
+ *
+ * @param class1
+ * @param nodeValue
+ * @return
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ */
+ private Object findValueOnEnum(Class<?> class1, String nodeValue) throws InstantiationException, IllegalAccessException {
+ if(nodeValue==null)
+ nodeValue="";
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && nodeValue.equals(sedaAnnotation.PropertyTerm()))
+ return o.get(class1);
+ }
+
+ return null;
+ }
+
+
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private Method findMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+
+ if(m.getName().equals(name)){
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ * Transforme un fichier XML SEDA v0.2
+ *
+ * @Class : XMLLoader.java
+ * @Package : eu.akka.saem.alfresco.seda.loader
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: XMLLoader.java $
+ *
+ */
+public class XMLLoader {
+
+ /**
+ * Transforme un fichier XML SEDA v0.2 en Objet SEDA
+ * @param path Chemin du fichier XML
+ * @return ArchiveTransferType
+ * @throws IOException
+ * @throws SAXException
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ */
+ public static Object SEDALoader(String path) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException{
+ return SEDALoader(new File(path));
+ }
+
+ /**
+ * Transforme un fichier XML SEDA v0.2 en Objet SEDA
+ * @param f Fichier XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ */
+ public static Object SEDALoader(File f) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException{
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(f);
+ return SEDALoader(doc);
+ }
+
+ /**
+ * Transforme un fichier XML SEDA v0.2 en Objet SEDA
+ * @param f Fichier XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ */
+ public static Object SEDALoader(InputStream is) throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException{
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(is);
+ return SEDALoader(doc);
+ }
+
+
+
+ /**
+ * Transforme un Document XML SEDA v0.2 en Objet SEDA
+ * @param doc Document XML
+ * @return ArchiveTransferType
+ * @throws ParserConfigurationException
+ * @throws ClassNotFoundException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ */
+ public static Object SEDALoader(Document doc) throws ParserConfigurationException, ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException{
+ Node node = doc.getFirstChild();
+
+ XMLLoader xmlloader = new XMLLoader();
+ String version = getSEDAVersion(doc.getDocumentElement());
+ Class<?> objectClass = null;
+ try{
+ objectClass = Class.forName("eu.akka.saem.alfresco.seda."+version+"."+node.getNodeName()+"Type");
+ }catch(ClassNotFoundException e){
+ objectClass = Class.forName(node.getNodeName());
+ }
+
+ Object ob = xmlloader.transform(objectClass,node);
+ return ob;
+ }
+
+ private static String getSEDAVersion(Element documentElement) {
+ String version = documentElement.getAttribute("xmlns");
+ if(version == null)
+ return "";
+
+ if(version.endsWith("v0.2"))
+ return "v02";
+
+ return "";
+ }
+
+
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet en fonction de nom de la balise XML SEDA
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private Method findSetterMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+ SEDA sedaAnnotations = m.getAnnotation(SEDA.class);
+
+ if(sedaAnnotations == null)
+ break;
+
+ if(sedaAnnotations.PropertyTerm().equals(name)){
+ if(sedaAnnotations.Cardinality().equals("0..n") || sedaAnnotations.Cardinality().equals("1..n")){
+ if(m.getName().startsWith("add"))
+ return m;
+ }
+ else{
+ if(m.getName().startsWith("set"))
+ return m;
+ }
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ /**
+ * Permet de trouver la bonne méthode d'insertion de l'objet
+ * @param obclass
+ * @param name
+ * @return
+ * @throws NoSuchMethodException
+ */
+ private Method findMethodByName(Class<?> obclass, String name) throws NoSuchMethodException{
+ for(Method m:obclass.getMethods()){
+
+ if(m.getName().equals(name)){
+ return m;
+ }
+ }
+
+ throw new NoSuchMethodException("set"+name+" ou add"+name+" est introuvable dans la classe "+ obclass.getName());
+ }
+
+ /**
+ * Transforme un noeud XML SEDA en objet java SEDA
+ * @param objectClass
+ * @param node
+ * @return
+ * @throws ClassNotFoundException
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * @throws SecurityException
+ * @throws NoSuchMethodException
+ */
+ private Object transform(Class<?> objectClass,Node node) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException{
+ //On cree l'objet
+ Object object = objectClass.newInstance();
+
+ //On s'occupe des attributs
+ for(int i=0; i < node.getAttributes().getLength(); i++){
+
+ try{
+ Method method = findSetterMethodByName(object.getClass(), node.getAttributes().item(i).getNodeName());
+
+ if(method.getParameterTypes()[0].isEnum()){
+ method.invoke(object, findValueOnEnum(method.getParameterTypes()[0],node.getAttributes().item(i).getNodeValue()));
+ }
+ else if(method.getParameterTypes()[0].equals(String.class)){
+ method.invoke(object, node.getAttributes().item(i).getNodeValue());
+ }
+ }
+ catch(NoSuchMethodException nsme){
+ System.out.println("eu.akka.saem.alfresco.seda.v02."+node.getNodeName()+"Type."+"set"+node.getAttributes().item(i).getNodeName()+" Introuvable");
+ }
+ catch (InvocationTargetException e) {
+ System.out.println("eu.akka.saem.alfresco.seda.v02."+node.getNodeName()+"Type."+"set"+node.getAttributes().item(i).getNodeName()+" Erreur Invocation");
+ }
+
+ }
+
+ try{
+ Method method = findMethodByName(objectClass,"setValue");
+
+
+ if(method.getParameterTypes()[0].equals(String.class)){
+ if(node.getTextContent() != null && !node.getTextContent().equals("")){
+ method.invoke(object,node.getTextContent());
+ }
+ }
+ else if(method.getParameterTypes()[0].isEnum()){
+ method.invoke(object, findValueOnEnum(method.getParameterTypes()[0],node.getTextContent()));
+ }
+
+ }
+ catch(Exception ex){
+ }
+
+ //On s'occupe des sous éléments
+ for(int i=0; i < node.getChildNodes().getLength(); i++){
+ if(node.getChildNodes().item(i).getNodeName().equals("#text"))
+ continue;
+
+ try{
+ Object objecttmp = object;
+ Method method = findSetterMethodByName(object.getClass(), node.getChildNodes().item(i).getNodeName());
+
+ if(method.getParameterTypes()[0].equals(String.class)){
+ method.invoke(objecttmp, node.getChildNodes().item(i).getTextContent());
+ }
+ else if(method.getParameterTypes()[0].isEnum()){
+ method.invoke(object, findValueOnEnum(method.getParameterTypes()[0],node.getChildNodes().item(i).getTextContent()));
+ }
+ else{
+ method.invoke(objecttmp, transform(method.getParameterTypes()[0],node.getChildNodes().item(i)));
+ }
+
+ }
+ catch(Exception nsme){
+ nsme.printStackTrace();
+ }
+ }
+ //On retourne l'objet
+
+ return object;
+ }
+
+ /**
+ *
+ * @param class1
+ * @param nodeValue
+ * @return
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ */
+ private Object findValueOnEnum(Class<?> class1, String nodeValue) throws InstantiationException, IllegalAccessException {
+ if(nodeValue==null)
+ nodeValue="";
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && nodeValue.equals(sedaAnnotation.PropertyTerm()))
+ return o.get(class1);
+ }
+
+ return null;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader.agape;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/**
+ *
+ * Description du contenu des objets AGAPE récupérés dans l'application
+ *
+ * @Class : AGAPEDescriptor.java
+ * @Package : eu.akka.saem.alfresco.seda.loader.agape
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AGAPEDescriptor.java $
+ *
+ */
+public class AGAPEDescriptor implements Serializable {
+
+ private static final long serialVersionUID = -4959911599344727426L;
+ private Integer maxOccurs;
+ private Integer minOccurs;
+ private Integer length;
+ private AGAPEType type;
+ private String Comment;
+ private List<AGAPEDescriptor> childs;
+
+ private String name;
+
+ public AGAPEDescriptor(String name){
+ this.name = name;
+ this.type = AGAPEType.ELEMENT;
+ this.setMaxOccurs(1);
+ this.setMinOccurs(1);
+ this.length = 1;
+ this.Comment = "";
+ }
+
+ public AGAPEDescriptor(String name, AGAPEType type){
+ this.name = name;
+ this.type = type;
+ this.setMaxOccurs(1);
+ this.setMinOccurs(1);
+ this.length = 1;
+ this.Comment = "";
+ }
+
+ public AGAPEDescriptor(String name,Integer maxOccurs,Integer minOccurs){
+ this.name = name;
+ this.setMaxOccurs(maxOccurs);
+ this.setMinOccurs(minOccurs);
+ this.length = minOccurs;
+ this.Comment = "";
+ }
+
+ public AGAPEDescriptor(String name,Integer maxOccurs,Integer minOccurs,Integer length, String comment){
+ this.name = name;
+ this.setMaxOccurs(maxOccurs);
+ this.setMinOccurs(minOccurs);
+ this.length = length;
+ this.Comment = comment;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List<AGAPEDescriptor> getChilds() {
+ return childs;
+ }
+
+ public void setChilds(List<AGAPEDescriptor> childs) {
+ this.childs = childs;
+ }
+
+ public void addChilds(AGAPEDescriptor child){
+ if(this.childs == null)
+ this.childs = new ArrayList<AGAPEDescriptor>();
+
+ this.childs.add(child);
+ }
+
+ public AGAPEType getType() {
+ return type;
+ }
+
+ public void setType(AGAPEType type) {
+ this.type = type;
+ }
+
+ public Integer getMaxOccurs() {
+ return maxOccurs;
+ }
+
+ public void setMaxOccurs(Integer maxOccurs) {
+ this.maxOccurs = maxOccurs;
+ }
+
+ public Integer getMinOccurs() {
+ return minOccurs;
+ }
+
+ public void setMinOccurs(Integer minOccurs) {
+ this.minOccurs = minOccurs;
+ this.length = minOccurs;
+ }
+
+ public String getComment() {
+ return Comment;
+ }
+
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ public Integer getLength() {
+ return length;
+ }
+
+ public void setLength(Integer length) {
+ this.length = length;
+ }
+
+ public JSONObject toJSON() {
+ JSONObject o = new JSONObject();
+ try {
+ o.put("maxOccurs",maxOccurs);
+
+ o.put("minOccurs",minOccurs);
+ o.put("length",length);
+ o.put("name",name);
+ //o.put("type",type.toString());
+ o.put("Comment",Comment);
+
+ JSONArray array = new JSONArray();
+ if(childs!=null){
+ for(AGAPEDescriptor a:childs)
+ array.put(a.toJSON());
+ }
+
+ o.put("childs", array);
+ } catch (JSONException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return o;
+ }
+
+ public static AGAPEDescriptor JSONToObject(JSONObject object) {
+ AGAPEDescriptor a = null;
+ try {
+ a = new AGAPEDescriptor(object.getString("name"),object.getInt("maxOccurs"),object.getInt("minOccurs"),object.getInt("length"),object.getString("Comment"));
+ JSONArray array = object.getJSONArray("childs");
+ for(int i = 0;i<array.length();i++){
+ a.addChilds(AGAPEDescriptor.JSONToObject(array.getJSONObject(i)));
+ }
+ } catch (JSONException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return a;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader.agape;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import eu.akka.saem.alfresco.seda.loader.JSONLoader;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+
+
+/**
+ *
+ * Objet java récupérés depuis l'application AGAPE
+ *
+ * @Class : AGAPEObject.java
+ * @Package : eu.akka.saem.alfresco.seda.loader.agape
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AGAPEObject.java $
+ *
+ */
+public class AGAPEObject {
+
+ private static final long serialVersionUID = 2821215568982629674L;
+ private Object object;
+ private AGAPEDescriptor descriptor;
+
+ public AGAPEObject(AGAPEDescriptor descriptor,Object object){
+ this.object = object;
+ this.descriptor = descriptor;
+ }
+
+ public Object getObject() {
+ return object;
+ }
+
+ public void setObject(Object object) {
+ this.object = object;
+ }
+
+ public AGAPEDescriptor getDescriptor() {
+ return descriptor;
+ }
+
+ public void setDescriptor(AGAPEDescriptor descriptor) {
+ this.descriptor = descriptor;
+ }
+
+ public String toString(){
+ return "";
+ }
+
+ public String toJSON(){
+ JSONObject o = new JSONObject();
+ try {
+ o.put("object", SEDAWriter.transformSEDAObjectToJSON(object));
+
+ o.put("descriptor", descriptor.toJSON());
+ } catch (JSONException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return o.toString();
+ }
+
+ public static AGAPEObject JSONToObject(String json){
+ try {
+ JSONObject o = new JSONObject(json);
+ AGAPEObject ao = new AGAPEObject(AGAPEDescriptor.JSONToObject((JSONObject) o.get("descriptor")), JSONLoader.SEDALoader((JSONObject)o.get("object")));
+ return ao;
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader.agape;
+
+/**
+ *
+ * Enumeration des types AGAPE
+ *
+ * @Class : AGAPEType.java
+ * @Package : eu.akka.saem.alfresco.seda.loader.agape
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AGAPEType.java $
+ *
+ */
+public enum AGAPEType {
+ ELEMENT,
+ ATTRIBUT,
+ VALUE
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader.rng;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description du contenu des objets RNG récupérés dans l'application
+ *
+ * @Class : RNGDescriptor.java
+ * @Package : eu.akka.saem.alfresco.seda.loader.rng
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: RNGDescriptor.java $
+ *
+ */
+public class RNGDescriptor {
+ private Integer maxOccurs;
+ private Integer minOccurs;
+ private Integer length;
+ private XMLType type;
+ private List<RNGDescriptor> childs;
+
+ private String name;
+
+ public RNGDescriptor(String name){
+ this.name = name;
+ this.type = XMLType.ELEMENT;
+ this.setMaxOccurs(1);
+ this.setMinOccurs(1);
+ this.length = 1;
+ }
+
+ public RNGDescriptor(String name, XMLType type){
+ this.name = name;
+ this.type = type;
+ this.setMaxOccurs(1);
+ this.setMinOccurs(1);
+ this.length = 1;
+ }
+
+ public RNGDescriptor(String name,Integer maxOccurs,Integer minOccurs){
+ this.name = name;
+ this.setMaxOccurs(maxOccurs);
+ this.setMinOccurs(minOccurs);
+ this.length = 1;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List<RNGDescriptor> getChilds() {
+ return childs;
+ }
+
+ public void setChilds(List<RNGDescriptor> childs) {
+ this.childs = childs;
+ }
+
+ public void addChilds(RNGDescriptor child){
+ if(this.childs == null)
+ this.childs = new ArrayList<RNGDescriptor>();
+
+ this.childs.add(child);
+ }
+
+ public XMLType getType() {
+ return type;
+ }
+
+ public void setType(XMLType type) {
+ this.type = type;
+ }
+
+ public Integer getMaxOccurs() {
+ return maxOccurs;
+ }
+
+ public void setMaxOccurs(Integer maxOccurs) {
+ this.maxOccurs = maxOccurs;
+ }
+
+ public Integer getMinOccurs() {
+ return minOccurs;
+ }
+
+ public void setMinOccurs(Integer minOccurs) {
+ this.minOccurs = minOccurs;
+ }
+
+ public Integer getLength() {
+ return length;
+ }
+
+ public void setLength(Integer length) {
+ this.length = length;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader.rng;
+
+
+/**
+ *
+ * Objet java récupérés depuis l'application AGAPE
+ *
+ * @Class : RNGObject.java
+ * @Package : eu.akka.saem.alfresco.seda.loader.rng
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: RNGObject.java $
+ *
+ */
+public class RNGObject {
+ private Object object;
+ private RNGDescriptor descriptor;
+
+ public RNGObject(RNGDescriptor descriptor,Object object){
+ this.object = object;
+ this.descriptor = descriptor;
+ }
+
+
+ public Object getObject() {
+ return object;
+ }
+
+ public void setObject(Object object) {
+ this.object = object;
+ }
+
+ public RNGDescriptor getDescriptor() {
+ return descriptor;
+ }
+
+ public void setDescriptor(RNGDescriptor descriptor) {
+ this.descriptor = descriptor;
+ }
+
+ public String toString(){
+ return "";
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.loader.rng;
+
+/**
+ *
+ * Enumeration des types XML des objets AGAPE
+ *
+ * @Class : XMLType.java
+ * @Package : eu.akka.saem.alfresco.seda.loader.rng
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: XMLType.java $
+ *
+ */
+public enum XMLType {
+ ELEMENT,
+ ATTRIBUT,
+ VALUE
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Accusé de réception pour une communication d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDeliveryAcknowledgement")
+public class ArchiveDeliveryAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DeliveryAuthorizationRequestIdentifier;
+ private ArchivesIDType DeliveryAuthorizationRequestReplyIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Authentication;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryAcknowledgementType(){
+ ControlAuthority = new ArrayList<OrganizationType>();
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'autorisation de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryAuthorizationRequestIdentifier() {
+ return DeliveryAuthorizationRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'autorisation de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestReplyIdentifier",Cardinality="1..1")
+ public void setDeliveryAuthorizationRequestIdentifier(
+ ArchivesIDType deliveryAuthorizationRequestIdentifier) {
+ DeliveryAuthorizationRequestIdentifier = deliveryAuthorizationRequestIdentifier;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'autorisation de communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryAuthorizationRequestReplyIdentifier() {
+ return DeliveryAuthorizationRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'autorisation de communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestIdentifier",Cardinality="1..1")
+ public void setDeliveryAuthorizationRequestReplyIdentifier(
+ ArchivesIDType deliveryAuthorizationRequestReplyIdentifier) {
+ DeliveryAuthorizationRequestReplyIdentifier = deliveryAuthorizationRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public SignatureType getAuthentication() {
+ return Authentication;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public void setAuthentication(SignatureType authentication) {
+ Authentication = authentication;
+ }
+
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Accusé de réception de réponse à une demande d'autorisation pour une communication d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDeliveryAuthorizationRequestReplyAcknowledgement")
+public class ArchiveDeliveryAuthorizationRequestReplyAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DeliveryAuthorizationRequestReplyAcknowledgementIdentifier;
+ private ArchivesIDType DeliveryAuthorizationRequestReplyIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryAuthorizationRequestReplyAcknowledgementType(){
+ ControlAuthority = new ArrayList<OrganizationType>();
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la réponse à la demande d'autorisation de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryAuthorizationRequestReplyAcknowledgementIdentifier() {
+ return DeliveryAuthorizationRequestReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la réponse à la demande d'autorisation de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public void setDeliveryAuthorizationRequestReplyAcknowledgementIdentifier(
+ ArchivesIDType deliveryAuthorizationRequestReplyAcknowledgementIdentifier) {
+ DeliveryAuthorizationRequestReplyAcknowledgementIdentifier = deliveryAuthorizationRequestReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'autorisation de communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryAuthorizationRequestReplyIdentifier() {
+ return DeliveryAuthorizationRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'autorisation de communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestIdentifier",Cardinality="1..1")
+ public void setDeliveryAuthorizationRequestReplyIdentifier(
+ ArchivesIDType deliveryAuthorizationRequestReplyIdentifier) {
+ DeliveryAuthorizationRequestReplyIdentifier = deliveryAuthorizationRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Réponse donnée à une demande d'autorisation de communication ou d'élimination d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDeliveryAuthorizationRequestReply")
+public class ArchiveDeliveryAuthorizationRequestReplyType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DeliveryAcknowledgementIdentifier;
+ private ArchivesIDType DeliveryIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private OrganizationType Requester;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Signature;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryAuthorizationRequestReplyType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAcknowledgementIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryAcknowledgementIdentifier() {
+ return DeliveryAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAcknowledgementIdentifier",Cardinality="1..1")
+ public void setDeliveryAcknowledgementIdentifier(
+ ArchivesIDType deliveryAcknowledgementIdentifier) {
+ DeliveryAcknowledgementIdentifier = deliveryAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryIdentifier() {
+ return DeliveryIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryIdentifier",Cardinality="1..1")
+ public void setDeliveryIdentifier(ArchivesIDType deliveryIdentifier) {
+ DeliveryIdentifier = deliveryIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Requester",Cardinality="1..1")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Requester",Cardinality="1..1")
+ public OrganizationType getRequester() {
+ return Requester;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setRequester(OrganizationType requester) {
+ Requester = requester;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Signature",Cardinality="0..1")
+ public SignatureType getSignature() {
+ return Signature;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Signature",Cardinality="0..1")
+ public void setSignature(SignatureType signature) {
+ Signature = signature;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Demande d'autorisation pour une communication d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDeliveryAuthorizationRequest")
+public class ArchiveDeliveryAuthorizationRequestType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DeliveryAuthorizationRequestIdentifier;
+ private ArchivesIDType ArchiveDeliveryRequestIdentifier;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType Requester;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Authentication;
+ private ArchiveType Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryAuthorizationRequestType(){
+ ControlAuthority = new ArrayList<OrganizationType>();
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'autorisation de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryAuthorizationRequestIdentifier() {
+ return DeliveryAuthorizationRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'autorisation de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationRequestIdentifier",Cardinality="1..1")
+ public void setDeliveryAuthorizationRequestIdentifier(
+ ArchivesIDType deliveryAuthorizationRequestIdentifier) {
+ DeliveryAuthorizationRequestIdentifier = deliveryAuthorizationRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de communication (permet de rappeler la demande initiale du demandeur)
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ArchiveDeliveryRequestIdentifier",Cardinality="0..1")
+ public ArchivesIDType getArchiveDeliveryRequestIdentifier() {
+ return ArchiveDeliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de communication (permet de rappeler la demande initiale du demandeur)
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ArchiveDeliveryRequestIdentifier",Cardinality="0..1")
+ public void setArchiveDeliveryRequestIdentifier(
+ ArchivesIDType archiveDeliveryRequestIdentifier) {
+ ArchiveDeliveryRequestIdentifier = archiveDeliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Requester",Cardinality="1..1")
+ public OrganizationType getRequester() {
+ return Requester;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Requester",Cardinality="1..1")
+ public void setRequester(OrganizationType requester) {
+ Requester = requester;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public SignatureType getAuthentication() {
+ return Authentication;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public void setAuthentication(SignatureType authentication) {
+ Authentication = authentication;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..1")
+ public ArchiveType getArchive() {
+ return Archive;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..1")
+ public void setArchive(ArchiveType archive) {
+ Archive = archive;
+ }
+
+ @SEDA(Position=13,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=13,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.IndicatorType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Demande de communication d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDeliveryRequestReply")
+public class ArchiveDeliveryRequestReplyType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DeliveryRequestIdentifier;
+ private IndicatorType Derogation;
+ private List<ArchivesIDType>UnitIdentifier;
+ private OrganizationType AccessRequester;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Authentication;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryRequestReplyType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de la demande de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryRequestIdentifier() {
+ return DeliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestIdentifier",Cardinality="1..1")
+ public void setDeliveryRequestIdentifier(
+ ArchivesIDType deliveryRequestIdentifier) {
+ DeliveryRequestIdentifier = deliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Derogation",Cardinality="1..1")
+ public IndicatorType getDerogation() {
+ return Derogation;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Derogation",Cardinality="1..1")
+ public void setDerogation(IndicatorType derogation) {
+ Derogation = derogation;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="AccessRequester",Cardinality="1..1")
+ public OrganizationType getAccessRequester() {
+ return AccessRequester;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="AccessRequester",Cardinality="1..1")
+ public void setAccessRequester(OrganizationType accessRequester) {
+ AccessRequester = accessRequester;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public SignatureType getAuthentication() {
+ return Authentication;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public void setAuthentication(SignatureType authentication) {
+ Authentication = authentication;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Demande de communication d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDeliveryRequestReply")
+public class ArchiveDeliveryRequestType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DeliveryRequestIdentifier;
+ private ArchivesIDType DeliveryRequestReplyIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private OrganizationType AccessRequester;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Authentication;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryRequestType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de la demande de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryRequestIdentifier() {
+ return DeliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de communication
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestIdentifier",Cardinality="1..1")
+ public void setDeliveryRequestIdentifier(
+ ArchivesIDType deliveryRequestIdentifier) {
+ DeliveryRequestIdentifier = deliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de communcation
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryRequestReplyIdentifier() {
+ return DeliveryRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de communcation
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestReplyIdentifier",Cardinality="1..1")
+ public void setDeliveryRequestReplyIdentifier(
+ ArchivesIDType deliveryRequestReplyIdentifier) {
+ DeliveryRequestReplyIdentifier = deliveryRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="AccessRequester",Cardinality="1..1")
+ public OrganizationType getAccessRequester() {
+ return AccessRequester;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="AccessRequester",Cardinality="1..1")
+ public void setAccessRequester(OrganizationType accessRequester) {
+ AccessRequester = accessRequester;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public SignatureType getAuthentication() {
+ return Authentication;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public void setAuthentication(SignatureType authentication) {
+ Authentication = authentication;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.HashCodeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Communication d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDelivery")
+public class ArchiveDeliveryType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private List<ArchivesIDType> DeliveryAuthorizationIdentifier;
+ private ArchivesIDType DeliveryIdentifier;
+ private ArchivesIDType DeliveryRequestIdentifier;
+ private List<ArchivesIDType>UnitIdentifier;
+ private OrganizationType Requester;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Signature;
+ private HashCodeType HashCode;
+ private ArchiveType Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDeliveryType(){
+ setDeliveryAuthorizationIdentifier(new ArrayList<ArchivesIDType>());
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de l'autorisation de communication accordée par une autorité de contrôle
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationIdentifier",Cardinality="0..n")
+ public List<ArchivesIDType> getDeliveryAuthorizationIdentifier() {
+ return DeliveryAuthorizationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'autorisation de communication accordée par une autorité de contrôle
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationIdentifier",Cardinality="0..n")
+ public void setDeliveryAuthorizationIdentifier(
+ List<ArchivesIDType> deliveryAuthorizationIdentifier) {
+ DeliveryAuthorizationIdentifier = deliveryAuthorizationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'autorisation de communication accordée par une autorité de contrôle
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryAuthorizationIdentifier",Cardinality="0..n")
+ public void setDeliveryAuthorizationIdentifier(
+ ArchivesIDType deliveryAuthorizationIdentifier) {
+ DeliveryAuthorizationIdentifier.add(deliveryAuthorizationIdentifier);
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la communication
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryIdentifier() {
+ return DeliveryIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la communication
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryIdentifier",Cardinality="1..1")
+ public void setDeliveryIdentifier(ArchivesIDType deliveryIdentifier) {
+ DeliveryIdentifier = deliveryIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDeliveryRequestIdentifier() {
+ return DeliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="DeliveryRequestIdentifier",Cardinality="1..1")
+ public void setDeliveryRequestIdentifier(
+ ArchivesIDType deliveryRequestIdentifier) {
+ DeliveryRequestIdentifier = deliveryRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Requester",Cardinality="1..1")
+ public OrganizationType getRequester() {
+ return Requester;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Requester",Cardinality="1..1")
+ public void setRequester(OrganizationType requester) {
+ Requester = requester;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Signature",Cardinality="0..1")
+ public SignatureType getSignature() {
+ return Signature;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Signature",Cardinality="0..1")
+ public void setSignature(SignatureType signature) {
+ Signature = signature;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="HashCode",Cardinality="0..1")
+ public HashCodeType getHashCode() {
+ return HashCode;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="HashCode",Cardinality="0..1")
+ public void setHashCode(HashCodeType hashCode) {
+ HashCode = hashCode;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..1")
+ public ArchiveType getArchive() {
+ return Archive;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..1")
+ public void setArchive(ArchiveType archive) {
+ Archive = archive;
+ }
+
+ @SEDA(Position=13,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=13,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Accord pour la destruction d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDestructionAcceptance")
+public class ArchiveDestructionAcceptanceType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DestructionAcceptanceIdentifier;
+ private ArchivesIDType DestructionRequestIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+ private List<ArchiveType> Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDestructionAcceptanceType(){
+ Archive = new ArrayList<ArchiveType>();
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ ControlAuthority = new ArrayList<OrganizationType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+
+
+ /**
+ * Element
+ * @param Identification de l'accord pour élimination
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionAcceptanceIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionAcceptanceIdentifier() {
+ return DestructionAcceptanceIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identification de l'accord pour élimination
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionAcceptanceIdentifier",Cardinality="1..1")
+ public void setDestructionAcceptanceIdentifier(
+ ArchivesIDType destructionAcceptanceIdentifier) {
+ DestructionAcceptanceIdentifier = destructionAcceptanceIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'élimination ou de la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestIdentifier() {
+ return DestructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'élimination ou de la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public void setDestructionRequestIdentifier(
+ ArchivesIDType destructionRequestIdentifier) {
+ DestructionRequestIdentifier = destructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public List<ArchiveType> getArchive() {
+ return Archive;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void setArchive(List<ArchiveType> archive) {
+ Archive = archive;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void addArchive(ArchiveType archive) {
+ Archive.add(archive);
+ }
+
+ @SEDA(Position=13,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=13,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+
+/**
+ *
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDestructionNotification")
+public class ArchiveDestructionNotificationType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DestructionAcceptanceIdentifier;
+ private DateTimeType DestructionDate;
+ private ArchivesIDType DestructionNotificationIdentifier;
+ private ArchivesIDType DestructionRequestIdentifier;
+ private List<ArchivesIDType>UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDestructionNotificationType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionAcceptanceIdentifier",Cardinality="0..1")
+ public ArchivesIDType getDestructionAcceptanceIdentifier() {
+ return DestructionAcceptanceIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionAcceptanceIdentifier",Cardinality="0..1")
+ public void setDestructionAcceptanceIdentifier(
+ ArchivesIDType destructionAcceptanceIdentifier) {
+ DestructionAcceptanceIdentifier = destructionAcceptanceIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionDate",Cardinality="1..1")
+ public DateTimeType getDestructionDate() {
+ return DestructionDate;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionDate",Cardinality="1..1")
+ public void setDestructionDate(DateTimeType destructionDate) {
+ DestructionDate = destructionDate;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="DestructionNotificationIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionNotificationIdentifier() {
+ return DestructionNotificationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="DestructionNotificationIdentifier",Cardinality="1..1")
+ public void setDestructionNotificationIdentifier(
+ ArchivesIDType destructionNotificationIdentifier) {
+ DestructionNotificationIdentifier = destructionNotificationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestIdentifier() {
+ return DestructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public void setDestructionRequestIdentifier(
+ ArchivesIDType destructionRequestIdentifier) {
+ DestructionRequestIdentifier = destructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Accusé de réception de la réponse négative à une demande d'élimination d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDestructionRequestReplyReplyAcknowledgement")
+public class ArchiveDestructionRequestReplyReplyAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DestructionRequestReplyAcknowledgementIdentifier;
+ private ArchivesIDType DestructionRequestReplyIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDestructionRequestReplyReplyAcknowledgementType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ ControlAuthority = new ArrayList<OrganizationType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'élimination ou à la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestReplyIdentifier() {
+ return DestructionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'élimination ou à la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestReplyIdentifier",Cardinality="1..1")
+ public void setDestructionRequestReplyIdentifier(
+ ArchivesIDType destructionRequestReplyIdentifier) {
+ DestructionRequestReplyIdentifier = destructionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la réponse à la demande d'élimination ou à la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestReplyAcknowledgementIdentifier() {
+ return DestructionRequestReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la réponse à la demande d'élimination ou à la demande d'autorisation d'éliminationt
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public void setDestructionRequestReplyAcknowledgementIdentifier(
+ ArchivesIDType destructionRequestReplyAcknowledgementIdentifier) {
+ DestructionRequestReplyAcknowledgementIdentifier = destructionRequestReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Réponse à une demande de destruction d'archives (accusé de réception, rejet, anomalie, commentaires, réponse des services de contrôle...)
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDestructionRequestReply")
+public class ArchiveDestructionRequestReplyType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DestructionRequestIdentifier;
+ private ArchivesIDType DestructionRequestReplyIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDestructionRequestReplyType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ ControlAuthority = new ArrayList<OrganizationType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'élimination ou de la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestIdentifier() {
+ return DestructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'élimination ou de la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public void setDestructionRequestIdentifier(
+ ArchivesIDType destructionRequestIdentifier) {
+ DestructionRequestIdentifier = destructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'élimination ou à la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestReplyIdentifier() {
+ return DestructionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande d'élimination ou à la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestReplyIdentifier",Cardinality="1..1")
+ public void setDestructionRequestReplyIdentifier(
+ ArchivesIDType destructionRequestReplyIdentifier) {
+ DestructionRequestReplyIdentifier = destructionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.HashCodeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Demande d'élimination d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveDestructionRequest")
+public class ArchiveDestructionRequestType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType DestructionRequestIdentifier;
+ private List<ArchivesIDType>UnitIdentifier;
+ private List<OrganizationType> ControlAuthority;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private List<ArchiveType> Archive;
+ private List<HashCodeType> Integrity;
+ private SignatureType Authentication;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveDestructionRequestType(){
+ ControlAuthority = new ArrayList<OrganizationType>();
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ setArchive(new ArrayList<ArchiveType>());
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'élimination ou de la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getDestructionRequestIdentifier() {
+ return DestructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande d'élimination ou de la demande d'autorisation d'élimination
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DestructionRequestIdentifier",Cardinality="1..1")
+ public void setDestructionRequestIdentifier(
+ ArchivesIDType destructionRequestIdentifier) {
+ DestructionRequestIdentifier = destructionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public List<OrganizationType> getControlAuthority() {
+ return ControlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(List<OrganizationType> controlAuthority) {
+ ControlAuthority = controlAuthority;
+ }
+
+ /**
+ * Element
+ * @param ervices de Contrôle
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="ControlAuthority",Cardinality="0..n")
+ public void setControlAuthority(OrganizationType controlAuthority) {
+ ControlAuthority.add(controlAuthority);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public SignatureType getAuthentication() {
+ return Authentication;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Authentication",Cardinality="0..1")
+ public void setAuthentication(SignatureType authentication) {
+ Authentication = authentication;
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public List<ArchiveType> getArchive() {
+ return Archive;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void setArchive(List<ArchiveType> archive) {
+ Archive = archive;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void addArchive(ArchiveType archive) {
+ Archive.add(archive);
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public List<HashCodeType> getIntegrity() {
+ return Integrity;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public void setIntegrity(List<HashCodeType> integrity) {
+ Integrity = integrity;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public void addIntegrity(HashCodeType integrity) {
+ Integrity.add(integrity);
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Accusé de réception d'une notification de modification d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveModificationNotificationAcknowledgement")
+public class ArchiveModificationNotificationAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType ModificationNotificationAcknowledgementIdentifier;
+ private ArchivesIDType ModificationNotificationIdentifier;
+ private CodeReplyType ReplyCode;
+ private List<ArchivesIDType> UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveModificationNotificationAcknowledgementType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la notification de modification
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ModificationNotificationAcknowledgementIdentifier",Cardinality="1..1")
+ public ArchivesIDType getModificationNotificationAcknowledgementIdentifier() {
+ return ModificationNotificationAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la notification de modification
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ModificationNotificationAcknowledgementIdentifier",Cardinality="1..1")
+ public void setModificationNotificationAcknowledgementIdentifier(
+ ArchivesIDType modificationNotificationAcknowledgementIdentifier) {
+ ModificationNotificationAcknowledgementIdentifier = modificationNotificationAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identification de la notification de modification
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ModificationNotificationIdentifier",Cardinality="1..1")
+ public ArchivesIDType getModificationNotificationIdentifier() {
+ return ModificationNotificationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identification de la notification de modification
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ModificationNotificationIdentifier",Cardinality="1..1")
+ public void setModificationNotificationIdentifier(
+ ArchivesIDType modificationNotificationIdentifier) {
+ ModificationNotificationIdentifier = modificationNotificationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+
+/**
+ * Notification de modification d'archives (format ou métadonnées)
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveModificationNotification")
+public class ArchiveModificationNotificationType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private DateTimeType ModificationDate;
+ private ArchivesIDType ModificationNotificationIdentifier;
+ private List<ArchivesIDType>UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveModificationNotificationType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Date de la modification
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ModificationDate",Cardinality="0..1")
+ public DateTimeType getModificationDate() {
+ return ModificationDate;
+ }
+
+ /**
+ * Element
+ * @param Date de la modification
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ModificationDate",Cardinality="0..1")
+ public void setModificationDate(DateTimeType modificationDate) {
+ ModificationDate = modificationDate;
+ }
+
+ /**
+ * Element
+ * @param Identification de la notification de modification
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ModificationNotificationIdentifier",Cardinality="1..1")
+ public ArchivesIDType getModificationNotificationIdentifier() {
+ return ModificationNotificationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identification de la notification de modification
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ModificationNotificationIdentifier",Cardinality="1..1")
+ public void setModificationNotificationIdentifier(
+ ArchivesIDType modificationNotificationIdentifier) {
+ ModificationNotificationIdentifier = modificationNotificationIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Indique si le demandeur souhaite qu'une procédure de dérogation soit enclenchée en cas de non communicabilité de l'archive demandée en communication
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu demandé
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ @SEDA(Position=9,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Réponse à une demande de restitution d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveRestitutionAcknowledgement")
+public class ArchiveRestitutionAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private ArchivesIDType RestitutionAcknowledgementIdentifier;
+ private ArchivesIDType RestitutionIdentifier;
+ private List<ArchivesIDType> UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+ private List<ArchiveType> Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveRestitutionAcknowledgementType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la demande de restitution
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionAcknowledgementIdentifier",Cardinality="0..1")
+ public ArchivesIDType getRestitutionAcknowledgementIdentifier() {
+ return RestitutionAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de restitution
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionAcknowledgementIdentifier",Cardinality="0..1")
+ public void setRestitutionAcknowledgementIdentifier(ArchivesIDType restitutionAcknowledgementIdentifier) {
+ RestitutionAcknowledgementIdentifier = restitutionAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de restitution
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionIdentifier",Cardinality="1..1")
+ public ArchivesIDType getRestitutionIdentifier() {
+ return RestitutionIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de restitution
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionIdentifier",Cardinality="1..1")
+ public void setRestitutionIdentifier(
+ ArchivesIDType restitutionIdentifier) {
+ RestitutionIdentifier = restitutionIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public List<ArchiveType> getArchive() {
+ return Archive;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void setArchive(List<ArchiveType> archive) {
+ Archive = archive;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void addArchive(ArchiveType archive) {
+ Archive.add(archive);
+ }
+
+
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Réponse à une demande de restitution d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveRestitutionRequestReply")
+public class ArchiveRestitutionRequestReplyType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private ArchivesIDType RestitutionRequestIdentifier;
+ private ArchivesIDType RestitutionRequestReplyIdentifier;
+ private List<ArchivesIDType> UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveRestitutionRequestReplyType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la demande de restitution
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestIdentifier",Cardinality="0..1")
+ public ArchivesIDType getRestitutionRequestIdentifier() {
+ return RestitutionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de restitution
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestIdentifier",Cardinality="0..1")
+ public void setRestitutionRequestIdentifier(ArchivesIDType restitutionRequestIdentifier) {
+ RestitutionRequestIdentifier = restitutionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de restitution
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getRestitutionRequestReplyIdentifier() {
+ return RestitutionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de restitution
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestReplyIdentifier",Cardinality="1..1")
+ public void setRestitutionRequestReplyIdentifier(
+ ArchivesIDType restitutionRequestReplyIdentifier) {
+ RestitutionRequestReplyIdentifier = restitutionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Demande de restitution d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveRestitutionRequest")
+public class ArchiveRestitutionRequestType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType RestitutionRequestIdentifier;
+ private List<ArchivesIDType> UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+ private List<ArchiveType> Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveRestitutionRequestType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ Archive = new ArrayList<ArchiveType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la demande de restitution
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestIdentifier",Cardinality="0..1")
+ public ArchivesIDType getRestitutionRequestIdentifier() {
+ return RestitutionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de restitution
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestIdentifier",Cardinality="0..1")
+ public void setRestitutionRequestIdentifier(ArchivesIDType restitutionRequestIdentifier) {
+ RestitutionRequestIdentifier = restitutionRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public List<ArchiveType> getArchive() {
+ return Archive;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void setArchive(List<ArchiveType> archive) {
+ Archive = archive;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void addArchive(ArchiveType archive) {
+ Archive.add(archive);
+ }
+
+
+ @SEDA(Position=10,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.HashCodeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Demande de restitution d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveRestitution")
+public class ArchiveRestitutionType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType RestitutionIdentifier;
+ private ArchivesIDType RestitutionRequestReplyIdentifier;
+ private List<ArchivesIDType> UnitIdentifier;
+ private OrganizationType OriginatingAgency;
+ private OrganizationType ArchivalAgency;
+ private List<HashCodeType> Integrity;
+ private SignatureType NonRepudiation;
+ private List<ArchiveType> Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveRestitutionType(){
+ UnitIdentifier = new ArrayList<ArchivesIDType>();
+ Archive = new ArrayList<ArchiveType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la demande de restitution
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionIdentifier",Cardinality="0..1")
+ public ArchivesIDType getRestitutionIdentifier() {
+ return RestitutionIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de restitution
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionIdentifier",Cardinality="0..1")
+ public void setRestitutionIdentifier(ArchivesIDType restitutionIdentifier) {
+ RestitutionIdentifier = restitutionIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de restitution
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getRestitutionRequestReplyIdentifier() {
+ return RestitutionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de restitution
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="RestitutionRequestReplyIdentifier",Cardinality="1..1")
+ public void setRestitutionRequestReplyIdentifier(
+ ArchivesIDType restitutionRequestReplyIdentifier) {
+ RestitutionRequestReplyIdentifier = restitutionRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public List<ArchivesIDType> getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void setUnitIdentifier(List<ArchivesIDType> unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Tout identifiant permettant de reconnaître le contenu à restituer
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..n")
+ public void addUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier.add(unitIdentifier);
+ }
+
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public OrganizationType getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="1..1")
+ public void setOriginatingAgency(OrganizationType originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public List<HashCodeType> getIntegrity() {
+ return Integrity;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public void setIntegrity(List<HashCodeType> integrity) {
+ Integrity = integrity;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public void addIntegrity(HashCodeType integrity) {
+ Integrity.add(integrity);
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public List<ArchiveType> getArchive() {
+ return Archive;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void setArchive(List<ArchiveType> archive) {
+ Archive = archive;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="1..n")
+ public void addArchive(ArchiveType archive) {
+ Archive.add(archive);
+ }
+
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Prise en charge d'un transfert à titre de versement
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransferAcceptance")
+public class ArchiveTransferAcceptanceType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private ArchivesIDType TransferAcceptanceIdentifier;
+ private ArchivesIDType TransferIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType Approval;
+ private List<ArchiveType> Archive;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferAcceptanceType(){
+ Archive = new ArrayList<ArchiveType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @return Référence à un autre transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferAcceptanceIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferAcceptanceIdentifier() {
+ return TransferAcceptanceIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Référence à un autre transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferAcceptanceIdentifier",Cardinality="1..1")
+ public void setTransferAcceptanceIdentifier(ArchivesIDType transferAcceptanceIdentifier) {
+ TransferAcceptanceIdentifier = transferAcceptanceIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Identifiant du transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferIdentifier() {
+ return TransferIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant du transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferIdentifier",Cardinality="1..1")
+ public void setTransferIdentifier(ArchivesIDType transferIdentifier) {
+ TransferIdentifier = transferIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Approval",Cardinality="0..1")
+ public SignatureType getApproval() {
+ return Approval;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Approval",Cardinality="0..1")
+ public void setApproval(SignatureType approval) {
+ Approval = approval;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="0..n")
+ public List<ArchiveType> getArchive() {
+ return Archive;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="0..n")
+ public void setArchive(List<ArchiveType> archive) {
+ Archive = archive;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Archive",Cardinality="0..n")
+ public void addArchive(ArchiveType archive) {
+ Archive.add(archive);
+ }
+
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+
+/**
+ * Accusé de réception d'une réponse à un transfert d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransferReplyAcknowledgement")
+public class ArchiveTransferReplyAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private ArchivesIDType TransferReplyAcknowledgementIdentifier;
+ private ArchivesIDType TransferReplyIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferReplyAcknowledgementType(){
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @return Référence à un autre transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferReplyAcknowledgementIdentifier() {
+ return TransferReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Référence à un autre transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public void setTransferReplyAcknowledgementIdentifier(ArchivesIDType transferReplyAcknowledgementIdentifier) {
+ TransferReplyAcknowledgementIdentifier = transferReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Identifiant du transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferReplyIdentifier() {
+ return TransferReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant du transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferReplyIdentifier",Cardinality="1..1")
+ public void setTransferReplyIdentifier(ArchivesIDType transferReplyIdentifier) {
+ TransferReplyIdentifier = transferReplyIdentifier;
+ }
+
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Réponse à un transfert d'archives (accusé de réception, rejet, anomalie..)
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransferReply")
+public class ArchiveTransferReplyType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private ArchivesIDType TransferIdentifier;
+ private ArchivesIDType TransferReplyIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+ private SignatureType NonRepudiation;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferReplyType(){
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+
+ /**
+ * Element
+ * @return Identifiant du transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferIdentifier() {
+ return TransferIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant du transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferIdentifier",Cardinality="1..1")
+ public void setTransferIdentifier(ArchivesIDType transferIdentifier) {
+ TransferIdentifier = transferIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la réponse à la demande de transfert (permet par exemple de rappeler l'accord donné par le service d'archives)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferReplyIdentifier() {
+ return TransferReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de transfert (permet par exemple de rappeler l'accord donné par le service d'archives)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferReplyIdentifier",Cardinality="1..1")
+ public void setTransferReplyIdentifier(
+ ArchivesIDType transferReplyIdentifier) {
+ TransferReplyIdentifier = transferReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+
+
+ @SEDA(Position=9,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+
+/**
+ * Accusé de réception d'une réponse à une demande de transfert d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransferRequestReplyAcknowledgement")
+public class ArchiveTransferRequestReplyAcknowledgementType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private ArchivesIDType TransferRequestReplyAcknowledgementIdentifier;
+ private ArchivesIDType TransferRequestReplyIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferRequestReplyAcknowledgementType(){
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la réponse à la demande de transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferRequestReplyAcknowledgementIdentifier() {
+ return TransferRequestReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'accusé de réception de la réponse à la demande de transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyAcknowledgementIdentifier",Cardinality="1..1")
+ public void setTransferRequestReplyAcknowledgementIdentifier(
+ ArchivesIDType transferRequestReplyAcknowledgementIdentifier) {
+ TransferRequestReplyAcknowledgementIdentifier = transferRequestReplyAcknowledgementIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferRequestReplyIdentifier() {
+ return TransferRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyIdentifier",Cardinality="1..1")
+ public void setTransferRequestReplyIdentifier(
+ ArchivesIDType transferRequestReplyIdentifier) {
+ TransferRequestReplyIdentifier = transferRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeReplyType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+
+/**
+ * Réponse à une demande de transfert d'archives (acceptation, refus, exigences...)
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransferRequestReply")
+public class ArchiveTransferRequestReplyType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private CodeReplyType ReplyCode;
+ private DateTimeType TransferDate;
+ private ArchivesIDType TransferRequestIdentifier;
+ private ArchivesIDType TransferRequestReplyIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferRequestReplyType(){
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public CodeReplyType getReplyCode() {
+ return ReplyCode;
+ }
+
+ /**
+ * Element
+ * @param Code de la réponse (OK, anomalie...)
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ReplyCode",Cardinality="1..1")
+ public void setReplyCode(CodeReplyType replyCode) {
+ ReplyCode = replyCode;
+ }
+
+ /**
+ * Element
+ * @param Date prévue pour le transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferDate",Cardinality="0..1")
+ public DateTimeType getTransferDate() {
+ return TransferDate;
+ }
+
+ /**
+ * Element
+ * @param Date prévue pour le transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferDate",Cardinality="0..1")
+ public void setTransferDate(DateTimeType transferDate) {
+ TransferDate = transferDate;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferRequestIdentifier() {
+ return TransferRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestIdentifier",Cardinality="1..1")
+ public void setTransferRequestIdentifier(
+ ArchivesIDType transferRequestIdentifier) {
+ TransferRequestIdentifier = transferRequestIdentifier;
+ }
+
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de transfert
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferRequestReplyIdentifier() {
+ return TransferRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de transfert
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyIdentifier",Cardinality="1..1")
+ public void setTransferRequestReplyIdentifier(
+ ArchivesIDType transferRequestReplyIdentifier) {
+ TransferRequestReplyIdentifier = transferRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.HashCodeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+
+/**
+ *
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransferRequest")
+public class ArchiveTransferRequestType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType RelatedTransferReference;
+ private DateTimeType TransferDate;
+ private ArchivesIDType TransferRequestIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+ private List<HashCodeType> Integrity;
+ private List<ArchiveType> Contains;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferRequestType(){
+ Integrity = new ArrayList<HashCodeType>();
+ Contains = new ArrayList<ArchiveType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1")
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @param Date prévue pour le transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="TransferDate",Cardinality="0..1")
+ public DateTimeType getTransferDate() {
+ return TransferDate;
+ }
+
+ /**
+ * Element
+ * @param Date prévue pour le transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="TransferDate",Cardinality="0..1")
+ public void setTransferDate(DateTimeType transferDate) {
+ TransferDate = transferDate;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestIdentifier",Cardinality="1..1")
+ public ArchivesIDType getTransferRequestIdentifier() {
+ return TransferRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la demande de transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestIdentifier",Cardinality="1..1")
+ public void setTransferRequestIdentifier(
+ ArchivesIDType transferRequestIdentifier) {
+ TransferRequestIdentifier = transferRequestIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Référence à un autre transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="RelatedTransferReference",Cardinality="0..1")
+ public ArchivesIDType getRelatedTransferReference() {
+ return RelatedTransferReference;
+ }
+
+ /**
+ * Element
+ * @param Référence à un autre transfert
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="RelatedTransferReference",Cardinality="0..1")
+ public void setRelatedTransferReference(ArchivesIDType relatedTransferReference) {
+ RelatedTransferReference = relatedTransferReference;
+ }
+
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public List<HashCodeType> getIntegrity() {
+ return Integrity;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public void setIntegrity(List<HashCodeType> integrity) {
+ Integrity = integrity;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n")
+ public void addIntegrity(HashCodeType integrity) {
+ Integrity.add(integrity);
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..n")
+ public List<ArchiveType> getContains() {
+ return Contains;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..n")
+ public void setContains(List<ArchiveType> contains) {
+ Contains = contains;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..n")
+ public void addContains(ArchiveType contains) {
+ Contains.add(contains);
+ }
+
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02;
+
+
+import java.util.*;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.HashCodeType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.SignatureType;
+
+/**
+ * Transfer d'archives
+ * @author benjamin.catinot
+ */
+@SEDA(PropertyTerm="ArchiveTransfer")
+public class ArchiveTransferType {
+
+ @SuppressWarnings("unused")
+ private static final long serialVersionUID = 8106741656939374933L;
+
+ private String ID;
+ private String xmlns = "fr:gouv:ae:archive:draft:standard_echange_v0.2";
+ private String Comment;
+ private DateTimeType Date;
+ private ArchivesIDType RelatedTransferReference;
+ private ArchivesIDType TransferIdentifier;
+ private ArchivesIDType TransferRequestReplyIdentifier;
+ private OrganizationType TransferringAgency;
+ private OrganizationType ArchivalAgency;
+ private List<HashCodeType> Integrity;
+ private SignatureType NonRepudiation;
+ private List<ArchiveType> Contains;
+
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="xmlns",Cardinality="1..1")
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ public ArchiveTransferType(){
+ Integrity = new ArrayList<HashCodeType>();
+ Contains = new ArrayList<ArchiveType>();
+ }
+
+ /**
+ * Element
+ * @return Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1",FormName="Commentaire",FormDescription="Commentaires",FormType=FieldType.TEXTEAREA)
+ public String getComment() {
+ return Comment;
+ }
+
+ /**
+ * Element
+ * @param Commentaires
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Comment",Cardinality="0..1",FormName="Commentaire",FormDescription="Commentaires",FormType=FieldType.TEXTEAREA)
+ public void setComment(String comment) {
+ Comment = comment;
+ }
+
+ /**
+ * Element
+ * @return Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1",FormName="Date",FormDescription="Date du transfert")
+ public DateTimeType getDate() {
+ return Date;
+ }
+
+ /**
+ * Element
+ * @param Date du transfert
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Date",Cardinality="1..1",FormName="Date",FormDescription="Date du transfert")
+ public void setDate(DateTimeType date) {
+ Date = date;
+ }
+
+ /**
+ * Element
+ * @return Référence à un autre transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="RelatedTransferReference",Cardinality="0..1",FormName="Référence à un autre transfert",FormDescription="Référence à un autre transfert")
+ public ArchivesIDType getRelatedTransferReference() {
+ return RelatedTransferReference;
+ }
+
+ /**
+ * Element
+ * @param Référence à un autre transfert
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="RelatedTransferReference",Cardinality="0..1",FormName="Référence à un autre transfert",FormDescription="Référence à un autre transfert")
+ public void setRelatedTransferReference(ArchivesIDType relatedTransferReference) {
+ RelatedTransferReference = relatedTransferReference;
+ }
+
+ /**
+ * Element
+ * @return Identifiant du transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferIdentifier",Cardinality="1..1",FormName="Identifiant du transfert",FormDescription="Identifiant du transfert")
+ public ArchivesIDType getTransferIdentifier() {
+ return TransferIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant du transfert
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="TransferIdentifier",Cardinality="1..1",FormName="Identifiant du transfert",FormDescription="Identifiant du transfert")
+ public void setTransferIdentifier(ArchivesIDType transferIdentifier) {
+ TransferIdentifier = transferIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la réponse à la demande de transfert (permet par exemple de rappeler l'accord donné par le service d'archives)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyIdentifier",Cardinality="0..1",FormName="Identifiant de la réponse à la demande de transfert",FormDescription="Identifiant de la réponse à la demande de transfert (permet par exemple de rappeler l'accord donné par le service d'archives)")
+ public ArchivesIDType getTransferRequestReplyIdentifier() {
+ return TransferRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la réponse à la demande de transfert (permet par exemple de rappeler l'accord donné par le service d'archives)
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="TransferRequestReplyIdentifier",Cardinality="0..1",FormName="Identifiant de la réponse à la demande de transfert",FormDescription="Identifiant de la réponse à la demande de transfert (permet par exemple de rappeler l'accord donné par le service d'archives)")
+ public void setTransferRequestReplyIdentifier(
+ ArchivesIDType transferRequestReplyIdentifier) {
+ TransferRequestReplyIdentifier = transferRequestReplyIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1",FormName="Service versant",FormDescription="")
+ public OrganizationType getTransferringAgency() {
+ return TransferringAgency;
+ }
+
+ /**
+ * Element
+ * @param Service versant
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgency",Cardinality="1..1",FormName="Service versant",FormDescription="")
+ public void setTransferringAgency(OrganizationType transferringAgency) {
+ TransferringAgency = transferringAgency;
+ }
+
+
+ /**
+ * Element
+ * @return Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1",FormName="Service d'archives",FormDescription="")
+ public OrganizationType getArchivalAgency() {
+ return ArchivalAgency;
+ }
+
+ /**
+ * Element
+ * @param Service d'archive
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgency",Cardinality="1..1",FormName="Service d'archives",FormDescription="")
+ public void setArchivalAgency(OrganizationType archivalAgency) {
+ ArchivalAgency = archivalAgency;
+ }
+
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n",FormName="Empreinte",FormDescription="")
+ public List<HashCodeType> getIntegrity() {
+ return Integrity;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n",FormName="Empreinte",FormDescription="")
+ public void setIntegrity(List<HashCodeType> integrity) {
+ Integrity = integrity;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Integrity",Cardinality="0..n",FormName="Empreinte",FormDescription="")
+ public void addIntegrity(HashCodeType integrity) {
+ Integrity.add(integrity);
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1",FormName="Signature",FormDescription="")
+ public SignatureType getNonRepudiation() {
+ return NonRepudiation;
+ }
+
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="NonRepudiation",Cardinality="0..1",FormName="Signature",FormDescription="")
+ public void setNonRepudiation(SignatureType nonRepudiation) {
+ NonRepudiation = nonRepudiation;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..n",FormName="Archives",FormDescription="")
+ public List<ArchiveType> getContains() {
+ return Contains;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..n",FormName="Archives",FormDescription="")
+ public void setContains(List<ArchiveType> contains) {
+ Contains = contains;
+ }
+
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..n",FormName="Archives",FormDescription="")
+ public void addContains(ArchiveType contains) {
+ Contains.add(contains);
+ }
+
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return ID;
+ }
+
+ @SEDA(Position=12,Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String iD) {
+ ID = iD;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+/**
+ * Règle à appliquer en matière d'accès ou de conservation de l'archive ou l'objet d'archive.
+ * @author benjamin.catinot
+ *
+ */
+public class AccessRestrictionRulesType {
+
+
+ private CodeAccessRestrictionType Code;
+ private DateType StartDate;
+
+ /**
+ * Element
+ * @return Indique la règle à appliquer
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Code",Cardinality="1..1",FormName="Code",FormDescription="Indique la règle à appliquer")
+ public CodeAccessRestrictionType getCode() {
+ return Code;
+ }
+
+ /**
+ * Element
+ * @param Indique la règle à appliquer
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Code",Cardinality="1..1",FormName="Code",FormDescription="Indique la règle à appliquer")
+ public void setCode(CodeAccessRestrictionType code) {
+ Code = code;
+ }
+
+ /**
+ * Element
+ * @return Date de départ du calcul
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="StartDate",Cardinality="1..1",FormName="Date de départ du calcul",FormDescription="Date de départ du calcul")
+ public DateType getStartDate() {
+ return StartDate;
+ }
+
+ /**
+ * Element
+ * @param Date de départ du calcul
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="StartDate",Cardinality="1..1",FormName="Date de départ du calcul",FormDescription="Date de départ du calcul")
+ public void setStartDate(DateType startDate) {
+ StartDate = startDate;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Lieu où une organisation ou une personne peuvent être jointes ou trouvées.
+ * @author benjamin.catinot
+ *
+ */
+public class AddressType {
+ private String BlockName;
+ private String BuildingName;
+ private String BuildingNumber;
+ private String CityName;
+ private String CitySubDivisionName;
+ private ArchivesCountryType Country;
+ private String FloorIdentification;
+ private ArchivesCodeType Postcode;
+ private String PostOfficeBox;
+ private String RoomIdentification;
+ private String StreetName;
+
+ /**
+ * Element
+ * @return Nom du corps de bâtiment.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="BlockName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Quartier",FormDescription="Nom du corps de bâtiment.")
+ public String getBlockName() {
+ return BlockName;
+ }
+
+ /**
+ * Element
+ * @param Nom du corps de bâtiment.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="BlockName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Quartier",FormDescription="Nom du corps de bâtiment.")
+ public void setBlockName(String blockName) {
+ BlockName = blockName;
+ }
+
+ /**
+ * Element
+ * @return Nom du bâtiment.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="BuildingName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Bâtiment",FormDescription="Nom du bâtiment.")
+ public String getBuildingName() {
+ return BuildingName;
+ }
+
+ /**
+ * Element
+ * @param Nom du bâtiment.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="BuildingName",Cardinality="0..1",FormName="Bâtiment",FormType=FieldType.TEXT,FormDescription="Nom du bâtiment.")
+ public void setBuildingName(String buildingName) {
+ BuildingName = buildingName;
+ }
+
+ /**
+ * Element
+ * @return Numéro, exprimé en texte, d'un bâtiment sur la voie à cette adresse.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="BuildingNumber",Cardinality="0..1",FormName="Numéro",FormType=FieldType.TEXT,FormDescription="Numéro, exprimé en texte, d'un bâtiment sur la voie à cette adresse.")
+ public String getBuildingNumber() {
+ return BuildingNumber;
+ }
+
+ /**
+ * Element
+ * @param Numéro, exprimé en texte, d'un bâtiment sur la voie à cette adresse.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="BuildingNumber",Cardinality="0..1",FormName="Numéro",FormType=FieldType.TEXT,FormDescription="Numéro, exprimé en texte, d'un bâtiment sur la voie à cette adresse.")
+ public void setBuildingNumber(String buildingNumber) {
+ BuildingNumber = buildingNumber;
+ }
+
+ /**
+ * Element
+ * @return Localité. Eléments de la norme Afnor XP Z 10-011: Zone d'habitation : il s'agit en général de la commune d'implantation du destinataire. Elle est identifiée par son libellé INSEE sauf dans quelques cas ou le libellé postal diffère du libellé INSEE, généralement pour lever les ambiguïtés. Par exception, la localité de destination est dans certains cas un lieu dit si celui-ci est le siège d'un bureau distributeur.Exemple : Pyla-sur-Mer en Gironde (CP : 33115, commune 33529 la Teste de Buch).
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="CityName",Cardinality="0..1",FormName="Localité",FormType=FieldType.TEXT,FormDescription="Eléments de la norme Afnor XP Z 10-011: Zone d'habitation : il s'agit en général de la commune d'implantation du destinataire. Elle est identifiée par son libellé INSEE sauf dans quelques cas ou le libellé postal diffère du libellé INSEE, généralement pour lever les ambiguïtés. Par exception, la localité de destination est dans certains cas un lieu dit si celui-ci est le siège d'un bureau distributeur.Exemple : Pyla-sur-Mer en Gironde (CP : 33115, commune 33529 la Teste de Buch).")
+ public String getCityName() {
+ return CityName;
+ }
+
+ /**
+ * Element
+ * @param Localité. Eléments de la norme Afnor XP Z 10-011: Zone d'habitation : il s'agit en général de la commune d'implantation du destinataire. Elle est identifiée par son libellé INSEE sauf dans quelques cas ou le libellé postal diffère du libellé INSEE, généralement pour lever les ambiguïtés. Par exception, la localité de destination est dans certains cas un lieu dit si celui-ci est le siège d'un bureau distributeur.Exemple : Pyla-sur-Mer en Gironde (CP : 33115, commune 33529 la Teste de Buch).
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="CityName",Cardinality="0..1",FormName="Localité",FormType=FieldType.TEXT,FormDescription="Eléments de la norme Afnor XP Z 10-011: Zone d'habitation : il s'agit en général de la commune d'implantation du destinataire. Elle est identifiée par son libellé INSEE sauf dans quelques cas ou le libellé postal diffère du libellé INSEE, généralement pour lever les ambiguïtés. Par exception, la localité de destination est dans certains cas un lieu dit si celui-ci est le siège d'un bureau distributeur.Exemple : Pyla-sur-Mer en Gironde (CP : 33115, commune 33529 la Teste de Buch).")
+ public void setCityName(String cityName) {
+ CityName = cityName;
+ }
+
+ /**
+ * Element
+ * @return Nom d'une sous division de la localité où se trouve l'adresse, par exemple un arrondissement ou un quartier.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="CitySub-DivisionName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Arrondissement / quartier",FormDescription="Nom d'une sous division de la localité où se trouve l'adresse, par exemple un arrondissement ou un quartier.")
+ public String getCitySubDivisionName() {
+ return CitySubDivisionName;
+ }
+
+ /**
+ * Element
+ * @param Nom d'une sous division de la localité où se trouve l'adresse, par exemple un arrondissement ou un quartier.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="CitySub-DivisionName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Arrondissement / quartier",FormDescription="Nom d'une sous division de la localité où se trouve l'adresse, par exemple un arrondissement ou un quartier.")
+ public void setCitySubDivisionName(String citySubDivisionName) {
+ CitySubDivisionName = citySubDivisionName;
+ }
+
+ /**
+ * Element
+ * @return Identifiant unique du pays de l'adresse (Reference ISO 3166 and UN/ECE Rec 3).
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Country",Cardinality="0..1",FormName="Pays",FormType=FieldType.COMBOBOX,FormDescription="Identifiant unique du pays de l'adresse (Reference ISO 3166 and UN/ECE Rec 3).")
+ public ArchivesCountryType getCountry() {
+ return Country;
+ }
+
+ /**
+ * Element
+ * @param Identifiant unique du pays de l'adresse (Reference ISO 3166 and UN/ECE Rec 3).
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Country",Cardinality="0..1",FormName="Pays",FormType=FieldType.COMBOBOX,FormDescription="Identifiant unique du pays de l'adresse (Reference ISO 3166 and UN/ECE Rec 3).")
+ public void setCountry(ArchivesCountryType country) {
+ Country = country;
+ }
+
+ /**
+ * Element
+ * @return Etage ou niveau.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="FloorIdentification",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Etage",FormDescription="Etage ou niveau.")
+ public String getFloorIdentification() {
+ return FloorIdentification;
+ }
+
+ /**
+ * Element
+ * @param Etage ou niveau.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="FloorIdentification",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Etage",FormDescription="Etage ou niveau.")
+ public void setFloorIdentification(String floorIdentification) {
+ FloorIdentification = floorIdentification;
+ }
+
+ /**
+ * Element
+ * @return Code postal.
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Postcode",Cardinality="0..1",FormName="Code postal",FormDescription="Code postal")
+ public ArchivesCodeType getPostcode() {
+ return Postcode;
+ }
+
+ /**
+ * Element
+ * @param Code postal.
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="Postcode",Cardinality="0..1",FormName="Code postal",FormDescription="Code postal")
+ public void setPostcode(ArchivesCodeType postcode) {
+ Postcode = postcode;
+ }
+
+ /**
+ * Element
+ * @return Boite postale.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="PostOfficeBox",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Boite postale",FormDescription="Boite postale")
+ public String getPostOfficeBox() {
+ return PostOfficeBox;
+ }
+
+ /**
+ * Element
+ * @param Boite postale.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="PostOfficeBox",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Boite postale",FormDescription="Boite postale")
+ public void setPostOfficeBox(String postOfficeBox) {
+ PostOfficeBox = postOfficeBox;
+ }
+
+ /**
+ * Element
+ * @return Identifiant de la salle ou de la pièce.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="RoomIdentification",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Pièce",FormDescription="Identifiant de la salle ou de la pièce.")
+ public String getRoomIdentification() {
+ return RoomIdentification;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de la salle ou de la pièce.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="RoomIdentification",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Pièce",FormDescription="Identifiant de la salle ou de la pièce.")
+ public void setRoomIdentification(String roomIdentification) {
+ RoomIdentification = roomIdentification;
+ }
+
+ /**
+ * Element
+ * @return Nom de la voie.
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="StreetName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Voie",FormDescription="Nom de la voie.")
+ public String getStreetName() {
+ return StreetName;
+ }
+
+ /**
+ * Element
+ * @param Nom de la voie.
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="StreetName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Voie",FormDescription="Nom de la voie.")
+ public void setStreetName(String streetName) {
+ StreetName = streetName;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+
+/**
+ * Règle à appliquer en matière d'accès ou de conservation de l'archive ou l'objet d'archive.
+ * @author benjamin.catinot
+ *
+ */
+public class AppraisalRulesType {
+
+ private CodeAppraisalType Code;
+ private ArchivesDurationType Duration;
+ private DateType StartDate;
+
+ /**
+ * Element
+ * @return Indique la règle à appliquer
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Code",Cardinality="1..1",FormName="Code",FormDescription="Indique la règle à appliquer")
+ public CodeAppraisalType getCode() {
+ return Code;
+ }
+
+ /**
+ * Element
+ * @param Indique la règle à appliquer
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Code",Cardinality="1..1",FormName="Code",FormDescription="Indique la règle à appliquer")
+ public void setCode(CodeAppraisalType code) {
+ Code = code;
+ }
+
+ /**
+ * Element
+ * @return Indique la durée à appliquer
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Duration",Cardinality="1..1",FormName="Durée d'utilité administrative",FormDescription="Indique la durée à appliquer")
+ public ArchivesDurationType getDuration() {
+ return Duration;
+ }
+
+ /**
+ * Element
+ * @param Indique la durée à appliquer
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="Duration",Cardinality="1..1",FormName="Durée d'utilité administrative",FormDescription="Indique la durée à appliquer")
+ public void setDuration(ArchivesDurationType duration) {
+ Duration = duration;
+ }
+
+ /**
+ * Element
+ * @return Date de départ du calcul
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="StartDate",Cardinality="1..1",FormName="Date de départ du calcul",FormDescription="Date de départ du calcul")
+ public DateType getStartDate() {
+ return StartDate;
+ }
+
+ /**
+ * Element
+ * @param Date de départ du calcul
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="StartDate",Cardinality="0..1",FormName="Date de départ du calcul",FormDescription="Date de départ du calcul")
+ public void setStartDate(DateType startDate) {
+ StartDate = startDate;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Sous-ensemble d'une archive.
+ * @author benjamin.catinot
+ *
+ */
+public class ArchiveObjectType {
+
+ private ArchivesIDType ArchivalAgencyObjectIdentifier;
+ private CodeDescriptionLevelType DescriptionLevel;
+ private String Name;
+ private ArchivesIDType TransferringAgencyObjectIdentifier;
+ private ContentDescriptionType ContentDescription;
+ private AppraisalRulesType Appraisal;
+ private AccessRestrictionRulesType AccessRestriction;
+ private List<DocumentType> Document;
+ private List<ArchiveObjectType> Contains;
+
+ public ArchiveObjectType(){
+
+ }
+
+ /**
+ * Element
+ * @return Identifiant de l'objet fourni par le service d'archives. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgencyObjectIdentifier",Cardinality="0..1",FormName="Identifiant unité documentaire service d'archive",FormDescription="Identifiant de l'objet fourni par le service d'archives. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.")
+ public ArchivesIDType getArchivalAgencyObjectIdentifier() {
+ return ArchivalAgencyObjectIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant de l'objet fourni par le service d'archives. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgencyObjectIdentifier",Cardinality="0..1",FormName="Identifiant unité documentaire service d'archive",FormDescription="Identifiant de l'objet fourni par le service d'archives. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.")
+ public void setArchivalAgencyObjectIdentifier(
+ ArchivesIDType archivalAgencyObjectIdentifier) {
+ ArchivalAgencyObjectIdentifier = archivalAgencyObjectIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLevel",Cardinality="0..1",FormName="Niveau de description",FormDescription="Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.")
+ public CodeDescriptionLevelType getDescriptionLevel() {
+ return DescriptionLevel;
+ }
+
+ /**
+ * Element
+ * @param Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLevel",Cardinality="0..1",FormName="Niveau de description",FormDescription="Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.")
+ public void setDescriptionLevel(CodeDescriptionLevelType descriptionLevel) {
+ DescriptionLevel = descriptionLevel;
+ }
+
+ /**
+ * Element
+ * @return Intitulé du contenu d'information.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Name",Cardinality="1..1",FormType=FieldType.TEXT,FormName="Nom",FormDescription="Intitulé du contenu d'information.")
+ public String getName() {
+ return Name;
+ }
+
+ /**
+ *
+ * @param Intitulé du contenu d'information.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Name",Cardinality="1..1",FormType=FieldType.TEXT,FormName="Nom",FormDescription="Intitulé du contenu d'information.")
+ public void setName(String name) {
+ Name = name;
+ }
+
+ /**
+ *
+ * @return Identifiant de l'objet fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.Intitulé du contenu d'information.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgencyObjectIdentifier",Cardinality="0..1",FormName="Identifiant d'origine",FormDescription="Identifiant de l'objet fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.Intitulé du contenu d'information.")
+ public ArchivesIDType getTransferringAgencyObjectIdentifier() {
+ return TransferringAgencyObjectIdentifier;
+ }
+
+ /**
+ *
+ * @param Identifiant de l'objet fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.Intitulé du contenu d'information.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgencyObjectIdentifier",Cardinality="0..1",FormName="Identifiant d'origine",FormDescription="Identifiant de l'objet fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.Intitulé du contenu d'information.")
+ public void setTransferringAgencyObjectIdentifier(
+ ArchivesIDType transferringAgencyObjectIdentifier) {
+ TransferringAgencyObjectIdentifier = transferringAgencyObjectIdentifier;
+ }
+
+ /**
+ *
+ * @return Description du contenu
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescription",Cardinality="0..1",FormName="Description du contenu",FormDescription="Description du contenu")
+ public ContentDescriptionType getContentDescription() {
+ return ContentDescription;
+ }
+
+ /**
+ * Element
+ * @param Description du contenu
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescription",Cardinality="0..1",FormName="Description du contenu",FormDescription="Description du contenu")
+ public void setContentDescription(ContentDescriptionType contentDescription) {
+ ContentDescription = contentDescription;
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Appraisal",Cardinality="0..1",FormName="Règle de sort final",FormDescription="Règle de sort final")
+ public AppraisalRulesType getAppraisal() {
+ return Appraisal;
+ }
+
+ /**
+ * Element
+ * @param appraisal
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Appraisal",Cardinality="0..1",FormName="Règle de sort final",FormDescription="Règle de sort final")
+ public void setAppraisal(AppraisalRulesType appraisal) {
+ Appraisal = appraisal;
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..1",FormName="Règle de restriction d'accès",FormDescription="Règle de restriction d'accès")
+ public AccessRestrictionRulesType getAccessRestriction() {
+ return AccessRestriction;
+ }
+
+ /**
+ * Element
+ * @param accessRestriction
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..1",FormName="Règle de restriction d'accès",FormDescription="Règle de restriction d'accès")
+ public void setAccessRestriction(AccessRestrictionRulesType accessRestriction) {
+ AccessRestriction = accessRestriction;
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Document",Cardinality="0..n",FormName="Document",FormDescription="Document")
+ public List<DocumentType> getDocument() {
+ return Document;
+ }
+
+ /**
+ * Element
+ * @param document
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Document",Cardinality="0..n",FormName="Document",FormDescription="Document")
+ public void setDocument(List<DocumentType> document) {
+ Document = document;
+ }
+
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Document",Cardinality="0..n",FormName="Document jointe",FormDescription="Document")
+ public void addDocument(DocumentType document) {
+ if(Document == null)
+ Document = new ArrayList<DocumentType>();
+
+ Document.add(document);
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="0..n",FormName="Unité documentaire",FormDescription="Unité documentaire")
+ public List<ArchiveObjectType> getContains() {
+ return Contains;
+ }
+
+ /**
+ * Element
+ * @param contains
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="0..n",FormName="Unité documentaire",FormDescription="Unité documentaire")
+ public void setContains(List<ArchiveObjectType> contains) {
+ Contains = contains;
+ }
+
+ /**
+ * Element
+ * @param contains
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="0..n",FormName="Unité documentaire",FormDescription="Unité documentaire")
+ public void addContains(ArchiveObjectType contains) {
+ if(Contains == null)
+ Contains = new ArrayList<ArchiveObjectType>();
+
+ Contains.add(contains);
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.util.ArrayList;
+import java.util.List;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Ensemble constitué d'un contenu d'information et de son information de pérennisation.
+ * @author benjamin.catinot
+ *
+ */
+public class ArchiveType {
+
+ private ArchivesIDType ArchivalAgencyArchiveIdentifier;
+ private ArchivesIDType ArchivalAgreement;
+ private ArchivesIDType ArchivalProfile;
+ private List<CodeLanguageType> DescriptionLanguage;
+ private CodeDescriptionLevelType DescriptionLevel;
+ private String Name;
+ private List<ArchivesCodeType> ServiceLevel;
+ private ArchivesIDType TransferringAgencyArchiveIdentifier;
+ private ContentDescriptionType ContentDescription;
+ private AppraisalRulesType Appraisal;
+ private AccessRestrictionRulesType AccessRestriction;
+ private List<DocumentType> Document;
+ private List<ArchiveObjectType> Contains;
+
+ public ArchiveType(){
+ }
+
+
+ /**
+ * Element
+ * @return Identifiant de l'archive attribué par le service d'archive. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgencyArchiveIdentifier",Cardinality="0..1",FormName="Identifiant de l'archive",FormDescription="Identifiant de l'archive attribué par le service d'archive. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire")
+ public ArchivesIDType getArchivalAgencyArchiveIdentifier() {
+ return ArchivalAgencyArchiveIdentifier;
+ }
+ /**
+ * Element
+ * @param Identifiant de l'archive attribué par le service d'archive. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgencyArchiveIdentifier",Cardinality="0..1",FormName="Identifiant de l'archive",FormDescription="Identifiant de l'archive attribué par le service d'archive. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire")
+ public void setArchivalAgencyArchiveIdentifier(
+ ArchivesIDType archivalAgencyArchiveIdentifier) {
+ ArchivalAgencyArchiveIdentifier = archivalAgencyArchiveIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Indique la convention d'archivage à appliquer pour l'archive..
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgreement",Cardinality="0..1",FormName="Convention",FormDescription="Indique la convention d'archivage à appliquer pour l'archive..")
+ public ArchivesIDType getArchivalAgreement() {
+ return ArchivalAgreement;
+ }
+
+ /**
+ * Element
+ * @param Indique la convention d'archivage à appliquer pour l'archive..
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalAgreement",Cardinality="0..1",FormName="Convention",FormDescription="Indique la convention d'archivage à appliquer pour l'archive..")
+ public void setArchivalAgreement(ArchivesIDType archivalAgreement) {
+ ArchivalAgreement = archivalAgreement;
+ }
+
+ /**
+ * Element
+ * @return Indique la méthodologie de production de l'archive appliquée (structure adaptée au domaine particulier traité, par exemple archivage d'un dossier de marché public).
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalProfile",Cardinality="0..1",FormName="Profil",FormDescription="Indique la méthodologie de production de l'archive appliquée (structure adaptée au domaine particulier traité, par exemple archivage d'un dossier de marché public).")
+ public ArchivesIDType getArchivalProfile() {
+ return ArchivalProfile;
+ }
+
+ /**
+ * Element
+ * @param Indique la méthodologie de production de l'archive appliquée (structure adaptée au domaine particulier traité, par exemple archivage d'un dossier de marché public).
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="ArchivalProfile",Cardinality="0..1",FormName="Profil",FormDescription="Indique la méthodologie de production de l'archive appliquée (structure adaptée au domaine particulier traité, par exemple archivage d'un dossier de marché public).")
+ public void setArchivalProfile(ArchivesIDType archivalProfile) {
+ ArchivalProfile = archivalProfile;
+ }
+
+ /**
+ * Element
+ * @return Langue des descriptions.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLanguage",Cardinality="1..n",FormName="Langue de la description",FormDescription="Langue des descriptions.")
+ public List<CodeLanguageType> getDescriptionLanguage() {
+ return DescriptionLanguage;
+ }
+
+ /**
+ * Element
+ * @param Langue des descriptions.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLanguage",Cardinality="1..n",FormName="Langue de la description",FormDescription="Langue des descriptions.")
+ public void setDescriptionLanguage(List<CodeLanguageType> descriptionLanguage) {
+ DescriptionLanguage = descriptionLanguage;
+ }
+
+ /**
+ * Element
+ * @param Langue des descriptions.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLanguage",Cardinality="1..n",FormName="Langue de la description",FormDescription="Langue des descriptions.")
+ public void addDescriptionLanguage(CodeLanguageType descriptionLanguage) {
+ if(DescriptionLanguage == null)
+ DescriptionLanguage = new ArrayList<CodeLanguageType>();
+
+ DescriptionLanguage.add(descriptionLanguage);
+ }
+
+ /**
+ * Element
+ * @return Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLevel",Cardinality="1..1",FormName="Niveau de description",FormDescription="Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.")
+ public CodeDescriptionLevelType getDescriptionLevel() {
+ return DescriptionLevel;
+ }
+
+ /**
+ * Element
+ * @param Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="DescriptionLevel",Cardinality="1..1",FormName="Niveau de description",FormDescription="Indique si l'objet décrit est un groupe de documents, un sous-groupe de documents, un dossier, ou une pièce.")
+ public void setDescriptionLevel(CodeDescriptionLevelType descriptionLevel) {
+ DescriptionLevel = descriptionLevel;
+ }
+
+ /**
+ * Element
+ * @return Intitulé du contenu d'information.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Name",Cardinality="1..1", FormType=FieldType.TEXT,FormName="Nom",FormDescription="Intitulé du contenu d'information.")
+ public String getName() {
+ return Name;
+ }
+
+ /**
+ * Element
+ * @param Intitulé du contenu d'information.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Name",Cardinality="1..1", FormType=FieldType.TEXT,FormName="Nom",FormDescription="Intitulé du contenu d'information.")
+ public void setName(String name) {
+ Name = name;
+ }
+
+ /**
+ * Element
+ * @return Niveau de service demandé (disponibilité, sécurité...), en référence aux différents niveaux prévus par le contrat ou la convention passée entre le service versant et le service d'archives.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ServiceLevel",Cardinality="0..n",FormName="Niveau de service demandé",FormDescription="Niveau de service demandé (disponibilité, sécurité...), en référence aux différents niveaux prévus par le contrat ou la convention passée entre le service versant et le service d'archives.")
+ public List<ArchivesCodeType> getServiceLevel() {
+ return ServiceLevel;
+ }
+
+ /**
+ * Element
+ * @param Niveau de service demandé (disponibilité, sécurité...), en référence aux différents niveaux prévus par le contrat ou la convention passée entre le service versant et le service d'archives.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ServiceLevel",Cardinality="0..n",FormName="Niveau de service demandé",FormDescription="Niveau de service demandé (disponibilité, sécurité...), en référence aux différents niveaux prévus par le contrat ou la convention passée entre le service versant et le service d'archives.")
+ public void setServiceLevel(List<ArchivesCodeType> serviceLevel) {
+ ServiceLevel = serviceLevel;
+ }
+
+ /**
+ * Element
+ * @param Niveau de service demandé (disponibilité, sécurité...), en référence aux différents niveaux prévus par le contrat ou la convention passée entre le service versant et le service d'archives.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="ServiceLevel",Cardinality="0..n",FormName="Niveau de service demandé",FormDescription="Niveau de service demandé (disponibilité, sécurité...), en référence aux différents niveaux prévus par le contrat ou la convention passée entre le service versant et le service d'archives.")
+ public void addServiceLevel(ArchivesCodeType serviceLevel) {
+ if(ServiceLevel == null)
+ ServiceLevel = new ArrayList<ArchivesCodeType>();
+
+ ServiceLevel.add(serviceLevel);
+ }
+
+ /**
+ * Element
+ * @return Identifiant d'archive fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire..
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgencyArchiveIdentifier",Cardinality="0..1",FormName="Identifiant service versant",FormDescription="Identifiant d'archive fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire..")
+ public ArchivesIDType getTransferringAgencyArchiveIdentifier() {
+ return TransferringAgencyArchiveIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant d'archive fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire..
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="TransferringAgencyArchiveIdentifier",Cardinality="0..1",FormName="Identifiant service versant",FormDescription="Identifiant d'archive fourni par le service versant. L'identifiant pour l'émetteur du message est recommandé, si ce n'est obligatoire..")
+ public void setTransferringAgencyArchiveIdentifier(
+ ArchivesIDType transferringAgencyArchiveIdentifier) {
+ TransferringAgencyArchiveIdentifier = transferringAgencyArchiveIdentifier;
+ }
+
+ /**
+ * Element
+ * @return Description du contenu de l'archive.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescription",Cardinality="1..1",FormName="Description du contenu",FormDescription="Description du contenu de l'archive.")
+ public ContentDescriptionType getContentDescription() {
+ return ContentDescription;
+ }
+
+ /**
+ * Element
+ * @param Description du contenu de l'archive.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescription",Cardinality="1..1",FormName="Description du contenu",FormDescription="Description du contenu de l'archive.")
+ public void setContentDescription(ContentDescriptionType contentDescription) {
+ ContentDescription = contentDescription;
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Appraisal",Cardinality="0..1",FormName="Règle de sort final",FormDescription="Règle de sort final")
+ public AppraisalRulesType getAppraisal() {
+ return Appraisal;
+ }
+
+ /**
+ * Element
+ * @param appraisal
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Appraisal",Cardinality="0..1",FormName="Règle de sort final",FormDescription="Règle de sort final")
+ public void setAppraisal(AppraisalRulesType appraisal) {
+ Appraisal = appraisal;
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..1",FormName="Règle de restriction d'accès",FormDescription="Règle de restriction d'accès")
+ public AccessRestrictionRulesType getAccessRestriction() {
+ return AccessRestriction;
+ }
+
+ /**
+ * Element
+ * @param accessRestriction
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..1",FormName="Règle de restriction d'accès",FormDescription="Règle de restriction d'accès")
+ public void setAccessRestriction(AccessRestrictionRulesType accessRestriction) {
+ AccessRestriction = accessRestriction;
+ }
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Document",Cardinality="0..n",FormName="Document",FormDescription="Document")
+ public List<DocumentType> getDocument() {
+ return Document;
+ }
+
+ /**
+ * Element
+ * @param document
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Document",Cardinality="0..n",FormName="Document",FormDescription="Document")
+ public void setDocument(List<DocumentType> document) {
+ Document = document;
+ }
+
+
+
+ /**
+ * Element
+ * @param document
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Document",Cardinality="0..n",FormName="Document",FormDescription="Document")
+ public void addDocument(DocumentType document) {
+ if(Document == null)
+ Document = new ArrayList<DocumentType>();
+
+ Document.add(document);
+ }
+
+
+ /**
+ * Element
+ * @return
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="0..n",FormName="Unité documentaire",FormDescription="Unité documentaire")
+ public List<ArchiveObjectType> getContains() {
+ return Contains;
+ }
+
+ /**
+ * Element
+ * @param contains
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="0..n",FormName="Unité documentaire",FormDescription="Unité documentaire")
+ public void setContains(List<ArchiveObjectType> contains) {
+ Contains = contains;
+ }
+
+ /**
+ * Element
+ * @param contains
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="0..n",FormName="Unité documentaire",FormDescription="Unité documentaire")
+ public void addContains(ArchiveObjectType contains) {
+ if(Contains == null)
+ Contains = new ArrayList<ArchiveObjectType>();
+ Contains.add(contains);
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.CharacterSetCodeContentType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.CharacterSetEncodingCodeContentType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.FileTypeCodeType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.MIMEMediaTypeContentType;
+
+/**
+ * A set of finite-length sequences of binary octets.
+ * @author benjamin.catinot
+ *
+ */
+public class ArchivesBinaryObjectType {
+
+ private FileTypeCodeType format;
+ private MIMEMediaTypeContentType mimeCode;
+ private CharacterSetEncodingCodeContentType encodingCode;
+ private CharacterSetCodeContentType characterSetCode;
+ private String uri;
+ private String filename = "";
+ private String value;
+
+ /**
+ * Attribute
+ * @return he format of the binary content.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="format",FormType=FieldType.COMBOBOX)
+ public FileTypeCodeType getFormat() {
+ return format;
+ }
+
+ /**
+ * Attribute
+ * @param he format of the binary content.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="format",FormType=FieldType.COMBOBOX)
+ public void setFormat(FileTypeCodeType format) {
+ this.format = format;
+ }
+
+ /**
+ * Attribute
+ * @return The mime type of the binary object.
+ */
+ @SEDA(Position=3,Type=SEDAType.ATTRIBUTE,PropertyTerm="mimeCode",FormType=FieldType.COMBOBOX)
+ public MIMEMediaTypeContentType getMimeCode() {
+ return mimeCode;
+ }
+
+ /**
+ * Attribute
+ * @param The mime type of the binary object.
+ */
+ @SEDA(Position=3,Type=SEDAType.ATTRIBUTE,PropertyTerm="mimeCode",FormType=FieldType.COMBOBOX)
+ public void setMimeCode(MIMEMediaTypeContentType mimeCode) {
+ this.mimeCode = mimeCode;
+ }
+
+ /**
+ * Attribute
+ * @return The character set of the binary object if the mime type is text.
+ */
+ @SEDA(Position=5,Type=SEDAType.ATTRIBUTE,PropertyTerm="characterSetCode",FormType=FieldType.COMBOBOX)
+ public CharacterSetCodeContentType getCharacterSetCode() {
+ return characterSetCode;
+ }
+
+ /**
+ * Attribute
+ * @param The character set of the binary object if the mime type is text.
+ */
+ @SEDA(Position=5,Type=SEDAType.ATTRIBUTE,PropertyTerm="characterSetCode",FormType=FieldType.COMBOBOX)
+ public void setCharacterSetCode(CharacterSetCodeContentType characterSetCode) {
+ this.characterSetCode = characterSetCode;
+ }
+
+ /**
+ * Attribute
+ * @return The Uniform Resource Identifier that identifies where the binary object is located.
+ */
+ @SEDA(Position=6,Type=SEDAType.ATTRIBUTE,PropertyTerm="uri",FormType=FieldType.TEXT)
+ public String getUri() {
+ return uri;
+ }
+
+ /**
+ * Attribute
+ * @param The Uniform Resource Identifier that identifies where the binary object is located.
+ */
+ @SEDA(Position=6,Type=SEDAType.ATTRIBUTE,PropertyTerm="uri",FormType=FieldType.TEXT)
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * Attribute
+ * @return Specifies the decoding algorithm of the binary object.
+ */
+ @SEDA(Position=7,Type=SEDAType.ATTRIBUTE,PropertyTerm="encodingCode",FormType=FieldType.COMBOBOX)
+ public CharacterSetEncodingCodeContentType getEncodingCode() {
+ return encodingCode;
+ }
+
+ /**
+ * Attribute
+ * @param Specifies the decoding algorithm of the binary object.
+ */
+ @SEDA(Position=7,Type=SEDAType.ATTRIBUTE,PropertyTerm="encodingCode",FormType=FieldType.COMBOBOX)
+ public void setEncodingCode(CharacterSetEncodingCodeContentType encodingCode) {
+ this.encodingCode = encodingCode;
+ }
+
+ /**
+ * Attribute
+ * @return The filename of the binary object.
+ */
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="filename",FormType=FieldType.TEXT)
+ public String getFilename() {
+ return filename;
+ }
+
+ /**
+ * Attribute
+ * @param The filename of the binary object.
+ */
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="filename",FormType=FieldType.TEXT)
+ public void setFilename(String filename) {
+ //this.value = filename;
+ this.filename = filename;
+ }
+
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.DATETIME)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.DATETIME)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information.
+ * @author benjamin.catinot
+ *
+ */
+public class ArchivesCodeType {
+ private String listID;
+ private String listAgencyName;
+ private String listName;
+ private String listVersionID;
+ private String name;
+ private String languageID;
+ private String listURI;
+ private String listSchemeURI;
+ private String value;
+
+
+ /**
+ * Attribut
+ * @return The identification of a list of codes.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listID",FormType=FieldType.TEXT)
+ public String getListID() {
+ return listID;
+ }
+
+ /**
+ * Attribut
+ * @param The identification of a list of codes.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listID",FormType=FieldType.TEXT)
+ public void setListID(String listID) {
+ this.listID = listID;
+ }
+
+ /**
+ * Attribut
+ * @return The name of the agency that maintains the code list.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="listAgencyName",FormType=FieldType.TEXT)
+ public String getListAgencyName() {
+ return listAgencyName;
+ }
+
+ /**
+ * Attribut
+ * @param The name of the agency that maintains the code list.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="listAgencyName",FormType=FieldType.TEXT)
+ public void setListAgencyName(String listAgencyName) {
+ this.listAgencyName = listAgencyName;
+ }
+
+ /**
+ * Attribut
+ * @return The name of a list of codes.
+ */
+ @SEDA(Position=3,Type=SEDAType.ATTRIBUTE,PropertyTerm="listName",FormType=FieldType.TEXT)
+ public String getListName() {
+ return listName;
+ }
+
+ /**
+ * Attribut
+ * @param The name of a list of codes.
+ */
+ @SEDA(Position=3,Type=SEDAType.ATTRIBUTE,PropertyTerm="listName",FormType=FieldType.TEXT)
+ public void setListName(String listName) {
+ this.listName = listName;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=4,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=4,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @return The textual equivalent of the code content.
+ */
+ @SEDA(Position=5,Type=SEDAType.ATTRIBUTE,PropertyTerm="name",FormType=FieldType.TEXT)
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Attribut
+ * @param The textual equivalent of the code content.
+ */
+ @SEDA(Position=5,Type=SEDAType.ATTRIBUTE,PropertyTerm="name",FormType=FieldType.TEXT)
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Attribut
+ * @return The identifier of the language used in the corresponding text String.
+ */
+ @SEDA(Position=6,Type=SEDAType.ATTRIBUTE,PropertyTerm="languageID",FormType=FieldType.TEXT)
+ public String getLanguageID() {
+ return languageID;
+ }
+
+ /**
+ * Attribut
+ * @param The identifier of the language used in the corresponding text String.
+ */
+ @SEDA(Position=6,Type=SEDAType.ATTRIBUTE,PropertyTerm="languageID",FormType=FieldType.TEXT)
+ public void setLanguageID(String languageID) {
+ this.languageID = languageID;
+ }
+
+ /**
+ * Attribut
+ * @return The Uniform Resource Identifier that identifies where the code list is located.
+ */
+ @SEDA(Position=7,Type=SEDAType.ATTRIBUTE,PropertyTerm="listURI",FormType=FieldType.TEXT)
+ public String getListURI() {
+ return listURI;
+ }
+
+ /**
+ * Attribut
+ * @param The Uniform Resource Identifier that identifies where the code list is located.
+ */
+ @SEDA(Position=7,Type=SEDAType.ATTRIBUTE,PropertyTerm="listURI",FormType=FieldType.TEXT)
+ public void setListURI(String listURI) {
+ this.listURI = listURI;
+ }
+
+ /**
+ * Attribut
+ * @return The Uniform Resource Identifier that identifies where the code list scheme is located.
+ */
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="listSchemeURI",FormType=FieldType.TEXT)
+ public String getListSchemeURI() {
+ return listSchemeURI;
+ }
+
+ /**
+ * Attribut
+ * @param The Uniform Resource Identifier that identifies where the code list scheme is located.
+ */
+ @SEDA(Position=8,Type=SEDAType.ATTRIBUTE,PropertyTerm="listSchemeURI",FormType=FieldType.TEXT)
+ public void setListSchemeURI(String listSchemeURI) {
+ this.listSchemeURI = listSchemeURI;
+ }
+
+
+ @SEDA(Position=9,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=9,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.ISOTwoletterCountryCodeIdentifierContentType;
+
+/**
+ * Identifiants des noms de pays (source ISO 3166-1 2A).
+ * @author benjamin.catinot
+ *
+ */
+public class ArchivesCountryType {
+ private String listVersionID;
+ private ISOTwoletterCountryCodeIdentifierContentType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value")
+ public ISOTwoletterCountryCodeIdentifierContentType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value")
+ public void setValue(ISOTwoletterCountryCodeIdentifierContentType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID")
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID")
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Duree.
+ * @author benjamin.catinot
+ *
+ */
+public class ArchivesDurationType {
+
+ private String value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * A set of finite-length sequences of binary octets.
+ * @author benjamin.catinot
+ *
+ */
+public class ArchivesHashcodeBinaryObjectType {
+ private String algorithme;
+ private String value;
+
+ /**
+ * Attribut
+ * @return Algorithme utilise pour encoder la valeur.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="algorithme",FormType=FieldType.TEXT)
+ public String getAlgorithme() {
+ return algorithme;
+ }
+
+ /**
+ * Attribut
+ * @param Algorithme utilise pour encoder la valeur.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="algorithme",FormType=FieldType.TEXT)
+ public void setAlgorithme(String algorithme) {
+ this.algorithme = algorithme;
+ }
+
+ @SEDA(Position=2,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=2,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+public class ArchivesIDType {
+ private String schemeID;
+ private String schemeName;
+ private String schemeAgencyName;
+ private String schemeVersionID;
+ private String schemeDataURI;
+ private String schemeURI;
+ private String value;
+
+ /**
+ * Attribut
+ * The identification of the identification scheme.
+ * @return Identification Scheme. Identifier
+ */
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeID",FormType=FieldType.TEXT)
+ public String getSchemeID() {
+ return schemeID;
+ }
+
+ @SEDA(Position=1,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=1,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * The identification of the identification scheme.
+ * @param Identification Scheme. Identifier
+ */
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeID",FormType=FieldType.TEXT)
+ public void setSchemeID(String schemeID) {
+ this.schemeID = schemeID;
+ }
+
+ /**
+ * Attribut
+ * @return The name of the identification scheme.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeName",FormType=FieldType.TEXT)
+ public String getSchemeName() {
+ return schemeName;
+ }
+
+ /**
+ * Attribut
+ * @param The name of the identification scheme.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeName",FormType=FieldType.TEXT)
+ public void setSchemeName(String schemeName) {
+ this.schemeName = schemeName;
+ }
+
+ /**
+ * Attribut
+ * @return The identification of the agency that maintains the identification scheme.
+ */
+ @SEDA(Position=3,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeAgencyName",FormType=FieldType.TEXT)
+ public String getSchemeAgencyName() {
+ return schemeAgencyName;
+ }
+
+ /**
+ * Attribut
+ * @param The identification of the agency that maintains the identification scheme.
+ */
+ @SEDA(Position=3,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeAgencyName",FormType=FieldType.TEXT)
+ public void setSchemeAgencyName(String schemeAgencyName) {
+ this.schemeAgencyName = schemeAgencyName;
+ }
+
+ /**
+ * Attribut
+ * @return The name of the agency that maintains the identification scheme.
+ */
+ @SEDA(Position=4,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeVersionID",FormType=FieldType.TEXT)
+ public String getSchemeVersionID() {
+ return schemeVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The name of the agency that maintains the identification scheme.
+ */
+ @SEDA(Position=4,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeVersionID",FormType=FieldType.TEXT)
+ public void setSchemeVersionID(String schemeVersionID) {
+ this.schemeVersionID = schemeVersionID;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the identification scheme.
+ */
+ @SEDA(Position=5,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeDataURI",FormType=FieldType.TEXT)
+ public String getSchemeDataURI() {
+ return schemeDataURI;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the identification scheme.
+ */
+ @SEDA(Position=5,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeDataURI",FormType=FieldType.TEXT)
+ public void setSchemeDataURI(String schemeDataURI) {
+ this.schemeDataURI = schemeDataURI;
+ }
+
+ /**
+ * Attribut
+ * @return The Uniform Resource Identifier that identifies where the identification scheme data is located.
+ */
+ @SEDA(Position=6,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeURI",FormType=FieldType.TEXT)
+ public String getSchemeURI() {
+ return schemeURI;
+ }
+
+ /**
+ * Attribut
+ * @param The Uniform Resource Identifier that identifies where the identification scheme data is located.
+ */
+ @SEDA(Position=6,Type=SEDAType.ATTRIBUTE,PropertyTerm="schemeURI",FormType=FieldType.TEXT)
+ public void setSchemeURI(String schemeURI) {
+ this.schemeURI = schemeURI;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.AccessRestrictionCodeType;
+
+/**
+ * Code correspondant au niveau de restriction d'access (source: loi archive).
+ * @author benjamin.catinot
+ *
+ */
+public class CodeAccessRestrictionType {
+ private String listVersionID;
+ private AccessRestrictionCodeType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public AccessRestrictionCodeType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public void setValue(AccessRestrictionCodeType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.AppraisalCodeType;
+
+/**
+ * Code correspondant au sort-final.
+ * @author benjamin.catinot
+ *
+ */
+public class CodeAppraisalType {
+ private String listVersionID;
+ private AppraisalCodeType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public AppraisalCodeType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public void setValue(AppraisalCodeType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.LevelDescriptionType;
+
+/**
+ * Code correspondant au niveau de description archivistique (source: EAD).
+ * @author benjamin.catinot
+ *
+ */
+public class CodeDescriptionLevelType {
+ private String listVersionID;
+ private LevelDescriptionType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public LevelDescriptionType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public void setValue(LevelDescriptionType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.COMBOBOX)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.COMBOBOX)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.DocumentTypeCodeType;
+
+/**
+ * Code correspondant au type de document (source OAIS).
+ * @author benjamin.catinot
+ *
+ */
+public class CodeDocumentType {
+ private String listVersionID;
+ private DocumentTypeCodeType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value", FormType=FieldType.COMBOBOX)
+ public DocumentTypeCodeType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value", FormType=FieldType.COMBOBOX)
+ public void setValue(DocumentTypeCodeType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID", FormType=FieldType.TEXT)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID", FormType=FieldType.TEXT)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Code correspondant au type de mot-clef.
+ * @author benjamin.catinot
+ *
+ */
+public class CodeKeywordType {
+ private String listVersionID;
+ private eu.akka.saem.alfresco.seda.v02.simpleType.KeywordType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public eu.akka.saem.alfresco.seda.v02.simpleType.KeywordType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public void setValue(eu.akka.saem.alfresco.seda.v02.simpleType.KeywordType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.LanguageCodeType;
+/**
+ * Code correspondant à la langue (source ISO-639).
+ * @author benjamin.catinot
+ *
+ */
+public class CodeLanguageType {
+ private String listVersionID;
+ private LanguageCodeType value;
+
+ @SEDA(Position=1,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public LanguageCodeType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=1,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.COMBOBOX)
+ public void setValue(LanguageCodeType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=2,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID",FormType=FieldType.TEXT)
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.ReplyCodeType;
+
+/**
+ * Code retour du traitement (type d'erreur ou ok).
+ * @author benjamin.catinot
+ *
+ */
+public class CodeReplyType {
+ private String listVersionID;
+ private ReplyCodeType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value")
+ public ReplyCodeType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value")
+ public void setValue(ReplyCodeType value) {
+ this.value = value;
+ }
+
+ /**
+ * Attribut
+ * @return The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID")
+ public String getListVersionID() {
+ return listVersionID;
+ }
+
+ /**
+ * Attribut
+ * @param The version of the code list.
+ */
+ @SEDA(Position=1,Type=SEDAType.ATTRIBUTE,PropertyTerm="listVersionID")
+ public void setListVersionID(String listVersionID) {
+ this.listVersionID = listVersionID;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Moyens de communication des personnes et/ou organisations (téléphone, fax, e-mail, etc.) sauf courrier postal.
+ * @author benjamin.catinot
+ *
+ */
+public class CommunicationType {
+ private ArchivesCodeType Channel;
+ private String CompleteNumber;
+ private ArchivesIDType URI;
+
+ /**
+ * Element
+ * @return Un numéro à composer complet.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="CompleteNumber",FormType=FieldType.TEXT,Cardinality="0..1",FormName="Numéro",FormDescription="Un numéro à composer complet")
+ public String getCompleteNumber() {
+ return CompleteNumber;
+ }
+
+ /**
+ * Element
+ * @param Un numéro à composer complet.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="CompleteNumber",FormType=FieldType.TEXT,Cardinality="0..1",FormName="Numéro",FormDescription="Un numéro à composer complet")
+ public void setCompleteNumber(String completeNumber) {
+ CompleteNumber = completeNumber;
+ }
+
+ /**
+ * Element
+ * @return Un identifiant URI (Uniform Resource Identifier), terme générique pour tous les types de noms et d'adresses qui réfèrent des objets sur le Word Wide Web (e. e-mail, URL, etc.).
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="URI",Cardinality="0..1",FormName="URI",FormDescription="Un identifiant URI (Uniform Resource Identifier), terme générique pour tous les types de noms et d'adresses qui réfèrent des objets sur le Word Wide Web (e. e-mail, URL, etc.).")
+ public ArchivesIDType getURI() {
+ return URI;
+ }
+
+ /**
+ * Element
+ * @param Un identifiant URI (Uniform Resource Identifier), terme générique pour tous les types de noms et d'adresses qui réfèrent des objets sur le Word Wide Web (e. e-mail, URL, etc.).
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="URI",Cardinality="0..1",FormName="URI",FormDescription="Un identifiant URI (Uniform Resource Identifier), terme générique pour tous les types de noms et d'adresses qui réfèrent des objets sur le Word Wide Web (e. e-mail, URL, etc.).")
+ public void setURI(ArchivesIDType uRI) {
+ URI = uRI;
+ }
+
+
+ /**
+ * Element
+ * @return Un code spécifiant le canal ou la manière dont s'établit la communication (téléphone, e-mail, etc.).
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Channel",Cardinality="0..1",FormName="Type/Outil de communication",FormDescription="Un code spécifiant le canal ou la manière dont s'établit la communication (téléphone, e-mail, etc.).")
+ public ArchivesCodeType getChannel() {
+ return Channel;
+ }
+
+ /**
+ * Element
+ * @param Un code spécifiant le canal ou la manière dont s'établit la communication (téléphone, e-mail, etc.).
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Channel",Cardinality="0..1",FormName="Type/Outil de communication",FormDescription="Un code spécifiant le canal ou la manière dont s'établit la communication (téléphone, e-mail, etc.).")
+ public void setChannel(ArchivesCodeType channel) {
+ Channel = channel;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Informations relatives à une personne ou à une organisation qui agit comme point de contact avec une autre personne ou une autre organisation.
+ * @author benjamin.catinot
+ *
+ */
+public class ContactType {
+ private String DepartmentName;
+ private ArchivesIDType Identification;
+ private String PersonName;
+ private String Responsibility;
+ private AddressType Address;
+ private List<CommunicationType> Communication;
+
+ public ContactType(){
+ }
+
+ /**
+ * Element
+ * Service auquel appartient le contact dans une organisation (exemple: Support).
+ * @return
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="DepartmentName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Service",FormDescription="Service auquel appartient le contact dans une organisation (exemple: Support).")
+ public String getDepartmentName() {
+ return DepartmentName;
+ }
+
+ /**
+ * Element
+ * @param Service auquel appartient le contact dans une organisation (exemple: Support).
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="DepartmentName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Service",FormDescription="Service auquel appartient le contact dans une organisation (exemple: Support).")
+ public void setDepartmentName(String departmentName) {
+ DepartmentName = departmentName;
+ }
+
+ /**
+ * Element
+ * @return Identifiant du contact. A titre indicatif, la longueur du champ peut être de 30 caractères.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Identification",Cardinality="0..1",FormName="Identifiant",FormDescription="Identifiant du contact. A titre indicatif, la longueur du champ peut être de 30 caractères.")
+ public ArchivesIDType getIdentification() {
+ return Identification;
+ }
+
+ /**
+ * Element
+ * @param Identifiant du contact. A titre indicatif, la longueur du champ peut être de 30 caractères.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Identification",Cardinality="0..1",FormName="Identifiant",FormDescription="Identifiant du contact. A titre indicatif, la longueur du champ peut être de 30 caractères.")
+ public void setIdentification(ArchivesIDType identification) {
+ Identification = identification;
+ }
+
+ /**
+ * Element
+ * @return Nom de la personne ou du service à contacter.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="PersonName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Nom",FormDescription="Nom de la personne ou du service à contacter.")
+ public String getPersonName() {
+ return PersonName;
+ }
+
+ /**
+ * Element
+ * @param Nom de la personne ou du service à contacter.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="PersonName",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Nom",FormDescription="Nom de la personne ou du service à contacter.")
+ public void setPersonName(String personName) {
+ PersonName = personName;
+ }
+
+ /**
+ * Element
+ * @return Description textuelle des responsabilité(s) générales ou spécifiques du contact.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Responsibility",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Attributions",FormDescription="Description textuelle des responsabilité(s) générales ou spécifiques du contact.")
+ public String getResponsibility() {
+ return Responsibility;
+ }
+
+ /**
+ * Element
+ * @param Description textuelle des responsabilité(s) générales ou spécifiques du contact.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Responsibility",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Attributions",FormDescription="Description textuelle des responsabilité(s) générales ou spécifiques du contact.")
+ public void setResponsibility(String responsibility) {
+ Responsibility = responsibility;
+ }
+
+ /**
+ * Element
+ * @return Adressse du contact.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Address",Cardinality="0..1",FormName="Adressse",FormDescription="Adressse du contact.")
+ public AddressType getAddress() {
+ return Address;
+ }
+
+ /**
+ * Element
+ * @param Adressse du contact.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Address",Cardinality="0..1",FormName="Adressse",FormDescription="Adressse du contact.")
+ public void setAddress(AddressType address) {
+ Address = address;
+ }
+
+ /**
+ * Element
+ * @return Moyen de communication du contact.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Communication",Cardinality="0..n",FormName="Moyen de communication",FormDescription="Moyen de communication du contact.")
+ public List<CommunicationType> getCommunication() {
+ return Communication;
+ }
+
+ /**
+ * Element
+ * Moyen de communication du contact.
+ * @param communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Communication",Cardinality="0..n",FormName="Moyen de communication",FormDescription="Moyen de communication du contact.")
+ public void setCommunication(List<CommunicationType> communication) {
+ Communication = communication;
+ }
+
+ /**
+ * Element
+ * Moyen de communication du contact.
+ * @param communication
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Communication",Cardinality="0..n",FormName="Moyen de communication",FormDescription="Moyen de communication du contact.")
+ public void addCommunication(CommunicationType communication) {
+ if(Communication == null)
+ Communication = new ArrayList<CommunicationType>();
+
+ Communication.add(communication);
+ }
+
+}
--- /dev/null
+
+
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Informations sur le contenu de l'archive ou l'objet.
+ * @author benjamin.catinot
+ *
+ */
+public class ContentDescriptionType {
+
+ private String CustodialHistory;
+ private String Description;
+ private List<ArchivesIDType> FilePlanPosition;
+ private List<String> Format;
+ private List<CodeLanguageType> Language;
+ private DateType LatestDate;
+ private DateType OldestDate;
+ private String OtherDescriptiveData;
+ private List<ArchivesIDType> RelatedObjectReference;
+ private List<MeasureType> Size;
+ private List<OrganizationType> OriginatingAgency;
+ private OrganizationType Repository;
+ private List<KeywordType> ContentDescriptive;
+ private List<AccessRestrictionRulesType> AccessRestriction;
+ private List<OtherMetadataType> OtherMetadata;
+ private String Id;
+
+ public ContentDescriptionType(){
+
+ }
+
+ /**
+ *
+ * @return Enumère les changements successifs de propriété, de responsabilité et de conservation de l'objet avant son entrée dans le lieu de conservation. On peut indiquer notamment comment s'est effectué le passage de l'application d'origine au fichier archivable.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="CustodialHistory",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Historique de conservation",FormDescription="Enumère les changements successifs de propriété, de responsabilité et de conservation de l'objet avant son entrée dans le lieu de conservation. On peut indiquer notamment comment s'est effectué le passage de l'application d'origine au fichier archivable.")
+ public String getCustodialHistory() {
+ return CustodialHistory;
+ }
+
+ /**
+ *
+ * @param Enumère les changements successifs de propriété, de responsabilité et de conservation de l'objet avant son entrée dans le lieu de conservation. On peut indiquer notamment comment s'est effectué le passage de l'application d'origine au fichier archivable.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="CustodialHistory",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Historique de conservation",FormDescription="Enumère les changements successifs de propriété, de responsabilité et de conservation de l'objet avant son entrée dans le lieu de conservation. On peut indiquer notamment comment s'est effectué le passage de l'application d'origine au fichier archivable.")
+ public void setCustodialHistory(String custodialHistory) {
+ CustodialHistory = custodialHistory;
+ }
+
+ /**
+ *
+ * @return Permet de donner des précisions sur le contenu de l'objet. Il permet aussi de donner des précisions réservées aux professionnels et auxquelles le public ne doit pas avoir accès.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Description",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Description",FormDescription="Permet de donner des précisions sur le contenu de l'objet. Il permet aussi de donner des précisions réservées aux professionnels et auxquelles le public ne doit pas avoir accès.")
+ public String getDescription() {
+ return Description;
+ }
+
+ /**
+ *
+ * @param Permet de donner des précisions sur le contenu de l'objet. Il permet aussi de donner des précisions réservées aux professionnels et auxquelles le public ne doit pas avoir accès.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Description",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Description",FormDescription="Permet de donner des précisions sur le contenu de l'objet. Il permet aussi de donner des précisions réservées aux professionnels et auxquelles le public ne doit pas avoir accès.")
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ /**
+ *
+ * @return Classement de l'objet transféré dans le (ou les) plan(s) de classement du (ou des) producteur.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="FilePlanPosition",Cardinality="0..n",FormName="FilePlanPosition",FormDescription="Classement de l'objet transféré dans le (ou les) plan(s) de classement du (ou des) producteur.")
+ public List<ArchivesIDType> getFilePlanPosition() {
+ return FilePlanPosition;
+ }
+
+ /**
+ *
+ * @param Classement de l'objet transféré dans le (ou les) plan(s) de classement du (ou des) producteur.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="FilePlanPosition",Cardinality="0..n",FormName="FilePlanPosition",FormDescription="Classement de l'objet transféré dans le (ou les) plan(s) de classement du (ou des) producteur.")
+ public void setFilePlanPosition(List<ArchivesIDType> filePlanPosition) {
+ FilePlanPosition = filePlanPosition;
+ }
+
+ /**
+ *
+ * @param Classement de l'objet transféré dans le (ou les) plan(s) de classement du (ou des) producteur.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="FilePlanPosition",Cardinality="0..n",FormName="FilePlanPosition",FormDescription="Classement de l'objet transféré dans le (ou les) plan(s) de classement du (ou des) producteur.")
+ public void addFilePlanPosition(ArchivesIDType filePlanPosition) {
+ if(FilePlanPosition == null)
+ FilePlanPosition = new ArrayList<ArchivesIDType>();
+
+ FilePlanPosition.add(filePlanPosition);
+ }
+
+ /**
+ *
+ * @return Permet d'indiquer d'autres formats respectés par l'objet que ceux qui sont mentionnés dans les éléments BinaryObject (par exemple: le fichier pdf contient du texte avec des balises XML).
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Format",Cardinality="0..n",FormName="Format",FormDescription="Permet d'indiquer d'autres formats respectés par l'objet que ceux qui sont mentionnés dans les éléments BinaryObject (par exemple: le fichier pdf contient du texte avec des balises XML).")
+ public List<String> getFormat() {
+ return Format;
+ }
+
+ /**
+ *
+ * @param Permet d'indiquer d'autres formats respectés par l'objet que ceux qui sont mentionnés dans les éléments BinaryObject (par exemple: le fichier pdf contient du texte avec des balises XML).
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Format",Cardinality="0..n",FormName="Format",FormDescription="Permet d'indiquer d'autres formats respectés par l'objet que ceux qui sont mentionnés dans les éléments BinaryObject (par exemple: le fichier pdf contient du texte avec des balises XML).")
+ public void setFormat(List<String> format) {
+ Format = format;
+ }
+
+ /**
+ *
+ * @param Permet d'indiquer d'autres formats respectés par l'objet que ceux qui sont mentionnés dans les éléments BinaryObject (par exemple: le fichier pdf contient du texte avec des balises XML).
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Format",Cardinality="0..n",FormName="Format",FormDescription="Permet d'indiquer d'autres formats respectés par l'objet que ceux qui sont mentionnés dans les éléments BinaryObject (par exemple: le fichier pdf contient du texte avec des balises XML).")
+ public void addFormat(String format) {
+ if(Format == null)
+ Format = new ArrayList<String>();
+
+ Format.add(format);
+ }
+
+ /**
+ *
+ * @return Langue du contenu de l'objet.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Language",Cardinality="1..n",FormName="Langue du contenu",FormDescription="Langue du contenu")
+ public List<CodeLanguageType> getLanguage() {
+ return Language;
+ }
+
+ /**
+ *
+ * @param Langue du contenu de l'objet.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Language",Cardinality="1..n",FormName="Langue du contenu",FormDescription="Langue du contenu")
+ public void setLanguage(List<CodeLanguageType> language) {
+ Language = language;
+ }
+
+ /**
+ *
+ * @param Langue du contenu de l'objet.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Language",Cardinality="1..n",FormName="Langue du contenu",FormDescription="Langue du contenu")
+ public void addLanguage(CodeLanguageType language) {
+ if(Language == null)
+ Language = new ArrayList<CodeLanguageType>();
+
+ Language.add(language);
+ }
+
+ /**
+ *
+ * @return Date de fin du contenu.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="LatestDate",Cardinality="0..1",FormName="Date de fin",FormDescription="Date de fin du contenu.")
+ public DateType getLatestDate() {
+ return LatestDate;
+ }
+
+ /**
+ *
+ * @param Date de fin du contenu.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="LatestDate",Cardinality="0..1",FormName="Date de fin",FormDescription="Date de fin du contenu.")
+ public void setLatestDate(DateType latestDate) {
+ LatestDate = latestDate;
+ }
+
+ /**
+ *
+ * @return Date et heure de début du contenu d'information.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OldestDate",Cardinality="0..1",FormName="Date de début",FormDescription="Date et heure de début du contenu d'information.")
+ public DateType getOldestDate() {
+ return OldestDate;
+ }
+
+ /**
+ *
+ * @param Date et heure de début du contenu d'information.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="OldestDate",Cardinality="0..1",FormName="Date de début",FormDescription="Date et heure de début du contenu d'information.")
+ public void setOldestDate(DateType oldestDate) {
+ OldestDate = oldestDate;
+ }
+
+ /**
+ *
+ * @return Autres informations sur l'objet.
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OtherDescriptiveData",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Autres informations",FormDescription="Autres informations sur l'objet.")
+ public String getOtherDescriptiveData() {
+ return OtherDescriptiveData;
+ }
+
+ /**
+ *
+ * @param Autres informations sur l'objet.
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="OtherDescriptiveData",Cardinality="0..1",FormType=FieldType.TEXT,FormName="Autres informations",FormDescription="Autres informations sur l'objet.")
+ public void setOtherDescriptiveData(String otherDescriptiveData) {
+ OtherDescriptiveData = otherDescriptiveData;
+ }
+
+ /**
+ *
+ * @return Permet d'indiquer la référence d'un autre objet et la nature du lien avec ce dernier.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="RelatedObjectReference",Cardinality="0..n",FormName="Référence complémentaire",FormDescription="Permet d'indiquer la référence d'un autre objet et la nature du lien avec ce dernier.")
+ public List<ArchivesIDType> getRelatedObjectReference() {
+ return RelatedObjectReference;
+ }
+
+ /**
+ *
+ * @param Permet d'indiquer la référence d'un autre objet et la nature du lien avec ce dernier.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="RelatedObjectReference",Cardinality="0..n",FormName="Référence complémentaire",FormDescription="Permet d'indiquer la référence d'un autre objet et la nature du lien avec ce dernier.")
+ public void setRelatedObjectReference(List<ArchivesIDType> relatedObjectReference) {
+ RelatedObjectReference = relatedObjectReference;
+ }
+
+ /**
+ *
+ * @param Permet d'indiquer la référence d'un autre objet et la nature du lien avec ce dernier.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="RelatedObjectReference",Cardinality="0..n",FormName="Référence complémentaire",FormDescription="Permet d'indiquer la référence d'un autre objet et la nature du lien avec ce dernier.")
+ public void addRelatedObjectReference(ArchivesIDType relatedObjectReference) {
+ if(RelatedObjectReference == null)
+ RelatedObjectReference = new ArrayList<ArchivesIDType>();
+
+ RelatedObjectReference.add(relatedObjectReference);
+ }
+
+ /**
+ *
+ * @return Taille de l'objet en octets, nombre d'entregistrements...
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Size",Cardinality="0..n",FormName="Taille",FormDescription="Taille de l'objet en octets, nombre d'entregistrements...")
+ public List<MeasureType> getSize() {
+ return Size;
+ }
+
+ /**
+ *
+ * @param Taille de l'objet en octets, nombre d'entregistrements...
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Size",Cardinality="0..n",FormName="Taille",FormDescription="Taille de l'objet en octets, nombre d'entregistrements...")
+ public void setSize(List<MeasureType> size) {
+ Size = size;
+ }
+
+
+ /**
+ *
+ * @param Taille de l'objet en octets, nombre d'entregistrements...
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Size",Cardinality="0..n",FormName="Taille",FormDescription="Taille de l'objet en octets, nombre d'entregistrements...")
+ public void addSize(MeasureType size) {
+ if(Size == null)
+ Size = new ArrayList<MeasureType>();
+
+ Size.add(size);
+ }
+
+ /**
+ *
+ * @return
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="0..n",FormName="Service producteur",FormDescription="Service producteur")
+ public List<OrganizationType> getOriginatingAgency() {
+ return OriginatingAgency;
+ }
+
+ /**
+ *
+ * @param originatingAgency
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="0..n",FormName="Service producteur",FormDescription="Service producteur")
+ public void setOriginatingAgency(List<OrganizationType> originatingAgency) {
+ OriginatingAgency = originatingAgency;
+ }
+
+ /**
+ *
+ * @param originatingAgency
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="OriginatingAgency",Cardinality="0..n",FormName="Service producteur",FormDescription="Service producteur")
+ public void addOriginatingAgency(OrganizationType originatingAgency) {
+ if(OriginatingAgency == null)
+ OriginatingAgency = new ArrayList<OrganizationType>();
+
+ OriginatingAgency.add(originatingAgency);
+ }
+
+ /**
+ *
+ * @return
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Repository",Cardinality="0..1",FormName="Service d'archives",FormDescription="Service d'archives")
+ public OrganizationType getRepository() {
+ return Repository;
+ }
+
+ /**
+ *
+ * @param repository
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Repository",Cardinality="0..1",FormName="Service d'archives",FormDescription="Service d'archives")
+ public void setRepository(OrganizationType repository) {
+ Repository = repository;
+ }
+
+ /**
+ *
+ * @return
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescriptive",Cardinality="0..n",FormName="Mot-clé",FormDescription="Mot-clé")
+ public List<KeywordType> getContentDescriptive() {
+ return ContentDescriptive;
+ }
+
+ /**
+ *
+ * @param contentDescriptive
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescriptive",Cardinality="0..n",FormName="Mot-clé",FormDescription="Mot-clé")
+ public void setContentDescriptive(List<KeywordType> contentDescriptive) {
+ ContentDescriptive = contentDescriptive;
+ }
+
+ /**
+ *
+ * @param contentDescriptive
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="ContentDescriptive",Cardinality="0..n",FormName="Mot-clé",FormDescription="Mot-clé")
+ public void addContentDescriptive(KeywordType contentDescriptive) {
+ if(ContentDescriptive == null)
+ ContentDescriptive = new ArrayList<KeywordType>();
+
+ ContentDescriptive.add(contentDescriptive);
+ }
+
+ /**
+ *
+ * @return
+ */
+ @SEDA(Position=14,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..n",FormName="Régle de restriction d'accès",FormDescription="Régle de restriction d'accès")
+ public List<AccessRestrictionRulesType> getAccessRestriction() {
+ return AccessRestriction;
+ }
+
+ /**
+ *
+ * @param accessRestriction
+ */
+ @SEDA(Position=14,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..n",FormName="Régle de restriction d'accès",FormDescription="Régle de restriction d'accès")
+ public void setAccessRestriction(List<AccessRestrictionRulesType> accessRestriction) {
+ AccessRestriction = accessRestriction;
+ }
+
+ /**
+ *
+ * @param accessRestriction
+ */
+ @SEDA(Position=14,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..n",FormName="Régle de restriction d'accès",FormDescription="Régle de restriction d'accès")
+ public void addAccessRestriction(AccessRestrictionRulesType accessRestriction) {
+ if(AccessRestriction == null)
+ AccessRestriction = new ArrayList<AccessRestrictionRulesType>();
+
+ AccessRestriction.add(accessRestriction);
+ }
+
+ /**
+ *
+ * @return
+ */
+ @SEDA(Position=15,Type=SEDAType.ELEMENT,PropertyTerm="OtherMetadata",Cardinality="0..n",FormName="Autre métadonnées",FormDescription="Autre métadonnées")
+ public List<OtherMetadataType> getOtherMetadata() {
+ return OtherMetadata;
+ }
+
+ /**
+ *
+ * @param otherMetadata
+ */
+ @SEDA(Position=15,Type=SEDAType.ELEMENT,PropertyTerm="OtherMetadata",Cardinality="0..n",FormName="Autre métadonnées",FormDescription="Autre métadonnées")
+ public void setOtherMetadata(List<OtherMetadataType> otherMetadata) {
+ OtherMetadata = otherMetadata;
+ }
+
+ /**
+ *
+ * @param otherMetadata
+ */
+ @SEDA(Position=15,Type=SEDAType.ELEMENT,PropertyTerm="OtherMetadata",Cardinality="0..n",FormName="Autre métadonnées",FormDescription="Autre métadonnées")
+ public void addOtherMetadata(OtherMetadataType otherMetadata) {
+ if(OtherMetadata == null)
+ OtherMetadata = new ArrayList<OtherMetadataType>();
+
+ OtherMetadata.add(otherMetadata);
+ }
+
+ @SEDA(Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public String getId() {
+ return Id;
+ }
+
+ @SEDA(Type=SEDAType.ATTRIBUTE,PropertyTerm="Id",Cardinality="0..1")
+ public void setId(String id) {
+ Id = id;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.util.Date;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+
+public class DateTimeType {
+
+ private Date date;
+
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.DATETIMEWITHHOURS)
+ public String getValue() {
+ ISO8601 da = new ISO8601(date);
+ return da.DateToCompleteString();
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.DATETIMEWITHHOURS)
+ public void setValue(String date) {
+ ISO8601 da = new ISO8601(date);
+ this.date = da.getDate();
+ }
+
+ public void setDate(Date date){
+ this.date = date;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+
+public class DateType {
+private Date date;
+
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.DATETIME)
+ public String getValue() {
+ ISO8601 da = new ISO8601(date);
+ return da.DateToString("yyyy-MM-dd");
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.DATETIME)
+ public void setValue(String date) {
+ ISO8601 da = new ISO8601(date);
+ this.date = da.getDate();
+ }
+
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Ensemble de données relatives à une pièce physique ou électronique qui fournit des informations ou des preuves.
+ * @author benjamin.catinot
+ *
+ */
+public class DocumentType {
+ private List<ArchivesBinaryObjectType> Attachment;
+ private List<IndicatorType> Control;
+ private IndicatorType Copy;
+ private DateTimeType Creation;
+ private String Description;
+ private ArchivesIDType Identification;
+ private DateTimeType Issue;
+ private List<ArchivesIDType> ItemIdentifier;
+ private String Purpose;
+ private DateTimeType Receipt;
+ private DateTimeType Response;
+ private List<ArchivesCodeType> Status;
+ private DateTimeType Submission;
+ private List<CodeDocumentType> Type;
+ private List<OtherMetadataType> OtherMetadata;
+
+ public DocumentType(){
+ }
+
+ /**
+ * Element
+ * @return Pièce jointe ou annexée. Dans une période transitoire, le même format peut aussi servir à indiquer une pièce "papier" et sa localisation.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Attachment",Cardinality="1..n",FormName="Pièce jointe",FormDescription="Pièce jointe ou annexée.")
+ public List<ArchivesBinaryObjectType> getAttachment() {
+ return Attachment;
+ }
+
+ /**
+ * Element
+ * @param Pièce jointe ou annexée. Dans une période transitoire, le même format peut aussi servir à indiquer une pièce "papier" et sa localisation.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Attachment",Cardinality="1..n",FormName="Pièce jointe",FormDescription="Pièce jointe ou annexée.")
+ public void setAttachment(List<ArchivesBinaryObjectType> attachment) {
+ Attachment = attachment;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Attachment",Cardinality="1..n",FormName="Pièce jointe",FormDescription="Pièce jointe ou annexée.")
+ public void addAttachment(ArchivesBinaryObjectType attachment) {
+ if(Attachment == null)
+ Attachment = new ArrayList<ArchivesBinaryObjectType>();
+
+ Attachment.add(attachment);
+ }
+
+ /**
+ * Element
+ * @return Indique si des exigences de contrôle portent sur le document.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Control",Cardinality="0..n",FormName="Présence d'exigences de contrôle",FormDescription="Indique si des exigences de contrôle portent sur le document.")
+ public List<IndicatorType> getControl() {
+ return Control;
+ }
+
+ /**
+ * Element
+ * @param Indique si des exigences de contrôle portent sur le document.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Control",Cardinality="0..n",FormName="Présence d'exigences de contrôle",FormDescription="Indique si des exigences de contrôle portent sur le document.")
+ public void setControl(List<IndicatorType> control) {
+ Control = control;
+ }
+
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Control",Cardinality="0..n",FormName="Présence d'exigences de contrôle",FormDescription="Indique si des exigences de contrôle portent sur le document.")
+ public void addControl(IndicatorType control) {
+ if(Control == null)
+ Control = new ArrayList<IndicatorType>();
+
+ Control.add(control);
+ }
+
+ /**
+ * Element
+ * @return Indique s'il s'agit d'un original ou d'une copie.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Copy",Cardinality="0..1",FormName="Exemplaire",FormDescription="Indique s'il s'agit d'un original ou d'une copie.")
+ public IndicatorType getCopy() {
+ return Copy;
+ }
+
+ /**
+ * Element
+ * @param Indique s'il s'agit d'un original ou d'une copie.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Copy",Cardinality="0..1",FormName="Exemplaire",FormDescription="Indique s'il s'agit d'un original ou d'une copie.")
+ public void setCopy(IndicatorType copy) {
+ Copy = copy;
+ }
+
+ /**
+ * Element
+ * @return Date de création.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Creation",Cardinality="0..1",FormName="Date de création",FormDescription="Date de création")
+ public DateTimeType getCreation() {
+ return Creation;
+ }
+
+ /**
+ * Element
+ * @param Date de création.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="Creation",Cardinality="0..1",FormName="Date de création",FormDescription="Date de création")
+ public void setCreation(DateTimeType creation) {
+ Creation = creation;
+ }
+
+ /**
+ * Element
+ * @return Description du document.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Description",Cardinality="0..1", FormType=FieldType.TEXT,FormName="Description",FormDescription="Description du document.")
+ public String getDescription() {
+ return Description;
+ }
+
+ /**
+ * Element
+ * @param Description du document.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Description",Cardinality="0..1", FormType=FieldType.TEXT,FormName="Description",FormDescription="Description du document.")
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ /**
+ * Element
+ * @return Identifiant unique du document.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Identification",Cardinality="0..1",FormName="Identifiant",FormDescription="Identifiant unique du document.")
+ public ArchivesIDType getIdentification() {
+ return Identification;
+ }
+
+ /**
+ * Element
+ * @param Identifiant unique du document.
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Identification",Cardinality="0..1",FormName="Identifiant",FormDescription="Identifiant unique du document.")
+ public void setIdentification(ArchivesIDType identification) {
+ Identification = identification;
+ }
+
+ /**
+ * Element
+ * @return Date d'émission du document.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Issue",Cardinality="0..1",FormName="Date d'émission",FormDescription="Date d'émission du document.")
+ public DateTimeType getIssue() {
+ return Issue;
+ }
+
+ /**
+ * Element
+ * @param Date d'émission du document.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Issue",Cardinality="0..1",FormName="Date d'émission",FormDescription="Date d'émission du document.")
+ public void setIssue(DateTimeType issue) {
+ Issue = issue;
+ }
+
+ /**
+ * Element
+ * @return Identifiant unique d'un élément particulier dans le document.
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ItemIdentifier",Cardinality="0..n",FormName="Identifiant unique d'un élément particulier dans le document",FormDescription="Identifiant unique d'un élément particulier dans le document.")
+ public List<ArchivesIDType> getItemIdentifier() {
+ return ItemIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant unique d'un élément particulier dans le document.
+ */
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ItemIdentifier",Cardinality="0..n",FormName="Identifiant unique d'un élément particulier dans le document",FormDescription="Identifiant unique d'un élément particulier dans le document.")
+ public void setItemIdentifier(List<ArchivesIDType> itemIdentifier) {
+ ItemIdentifier = itemIdentifier;
+ }
+
+ @SEDA(Position=8,Type=SEDAType.ELEMENT,PropertyTerm="ItemIdentifier",Cardinality="0..n",FormName="Identifiant unique d'un élément particulier dans le document",FormDescription="Identifiant unique d'un élément particulier dans le document.")
+ public void addItemIdentifier(ArchivesIDType itemIdentifier) {
+ if(ItemIdentifier == null)
+ ItemIdentifier = new ArrayList<ArchivesIDType>();
+
+ ItemIdentifier.add(itemIdentifier);
+ }
+
+ /**
+ * Element
+ * @return Objet ou objectif du document.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Purpose",Cardinality="0..1", FormType=FieldType.TEXT,FormName="Objet",FormDescription="Objet ou objectif du document.")
+ public String getPurpose() {
+ return Purpose;
+ }
+
+ /**
+ * Element
+ * @param Objet ou objectif du document.
+ */
+ @SEDA(Position=9,Type=SEDAType.ELEMENT,PropertyTerm="Purpose",Cardinality="0..1", FormType=FieldType.TEXT,FormName="Objet",FormDescription="Objet ou objectif du document.")
+ public void setPurpose(String purpose) {
+ Purpose = purpose;
+ }
+
+ /**
+ * Element
+ * @return Date de réception.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Receipt",Cardinality="0..1",FormName="Date de réception",FormDescription="Date de réception.")
+ public DateTimeType getReceipt() {
+ return Receipt;
+ }
+
+ /**
+ * Element
+ * @param Date de réception.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Receipt",Cardinality="0..1",FormName="Date de réception",FormDescription="Date de réception.")
+ public void setReceipt(DateTimeType receipt) {
+ Receipt = receipt;
+ }
+
+ /**
+ * Element
+ * @return Date de réponse.
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Response",Cardinality="0..1",FormName="Date de réponse",FormDescription="Date de réponse.")
+ public DateTimeType getResponse() {
+ return Response;
+ }
+
+ /**
+ * Element
+ * @param Date de réponse.
+ */
+ @SEDA(Position=11,Type=SEDAType.ELEMENT,PropertyTerm="Response",Cardinality="0..1",FormName="Date de réponse",FormDescription="Date de réponse.")
+ public void setResponse(DateTimeType response) {
+ Response = response;
+ }
+
+ /**
+ * Element
+ * @return Etat du document (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature d'un document a été vérifiée avant transfert aux archives.
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Status",Cardinality="0..n",FormName="Etat",FormDescription="Etat du document (par rapport avec son cycle de vie).")
+ public List<ArchivesCodeType> getStatus() {
+ return Status;
+ }
+
+ /**
+ * Element
+ * @param Etat du document (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature d'un document a été vérifiée avant transfert aux archives.
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Status",Cardinality="0..n",FormName="Etat",FormDescription="Etat du document (par rapport avec son cycle de vie).")
+ public void setStatus(List<ArchivesCodeType> status) {
+ Status = status;
+ }
+
+ /**
+ * Element
+ * @param Etat du document (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature d'un document a été vérifiée avant transfert aux archives.
+ */
+ @SEDA(Position=12,Type=SEDAType.ELEMENT,PropertyTerm="Status",Cardinality="0..n",FormName="Etat",FormDescription="Etat du document (par rapport avec son cycle de vie).")
+ public void addStatus(ArchivesCodeType status) {
+ if(Status == null)
+ Status = new ArrayList<ArchivesCodeType>();
+
+ Status.add(status);
+ }
+
+ /**
+ * Element
+ * @return Date de soumission du document par un émetteur à un destinataire.
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="Submission",Cardinality="0..1",FormName="Date de soumission",FormDescription="Date de soumission du document par un émetteur à un destinataire.")
+ public DateTimeType getSubmission() {
+ return Submission;
+ }
+
+ /**
+ * Element
+ * @param Date de soumission du document par un émetteur à un destinataire.
+ */
+ @SEDA(Position=13,Type=SEDAType.ELEMENT,PropertyTerm="Submission",Cardinality="0..1",FormName="Date de soumission",FormDescription="Date de soumission du document par un émetteur à un destinataire.")
+ public void setSubmission(DateTimeType submission) {
+ Submission = submission;
+ }
+
+ /**
+ * Element
+ * @return Type de document, permet notamment de différencier un objet contenu et l'information de représentation ou de pérennisation de cet objet (OAIS), par exemple les données d'une base de données et le descriptif de sa structure.
+ */
+ @SEDA(Position=14,Type=SEDAType.ELEMENT,PropertyTerm="Type",Cardinality="0..n",FormName="Type",FormDescription="")
+ public List<CodeDocumentType> getType() {
+ return Type;
+ }
+
+ /**
+ * Element
+ * @param Type de document, permet notamment de différencier un objet contenu et l'information de représentation ou de pérennisation de cet objet (OAIS), par exemple les données d'une base de données et le descriptif de sa structure.
+ */
+ @SEDA(Position=14,Type=SEDAType.ELEMENT,PropertyTerm="Type",Cardinality="0..n",FormName="Type",FormDescription="Type de document")
+ public void setType(List<CodeDocumentType> type) {
+ Type = type;
+ }
+
+ /**
+ * Element
+ * @param Type de document, permet notamment de différencier un objet contenu et l'information de représentation ou de pérennisation de cet objet (OAIS), par exemple les données d'une base de données et le descriptif de sa structure.
+ */
+ @SEDA(Position=14,Type=SEDAType.ELEMENT,PropertyTerm="Type",Cardinality="0..n",FormName="Type",FormDescription="Type de document")
+ public void addType(CodeDocumentType type) {
+ if(Type == null)
+ Type = new ArrayList<CodeDocumentType>();
+
+ Type.add(type);
+ }
+
+ /**
+ * Element
+ * @return Métadonnées métier (par exemple IPTC).
+ */
+ @SEDA(Position=15,Type=SEDAType.ELEMENT,PropertyTerm="OtherMetadata",Cardinality="0..n",FormName="Métadonnées métier",FormDescription="Métadonnées métier")
+ public List<OtherMetadataType> getOtherMetadata() {
+ return OtherMetadata;
+ }
+
+ /**
+ * Element
+ * @param Métadonnées métier (par exemple IPTC).
+ */
+ @SEDA(Position=15,Type=SEDAType.ELEMENT,PropertyTerm="OtherMetadata",Cardinality="0..n",FormName="Métadonnées métier",FormDescription="Métadonnées métier")
+ public void setOtherMetadata(List<OtherMetadataType> otherMetadata) {
+ OtherMetadata = otherMetadata;
+ }
+
+ /**
+ * Element
+ * @param Métadonnées métier (par exemple IPTC).
+ */
+ @SEDA(Position=15,Type=SEDAType.ELEMENT,PropertyTerm="OtherMetadata",Cardinality="0..n",FormName="Métadonnées métier",FormDescription="Métadonnées métier")
+ public void addOtherMetadata(OtherMetadataType otherMetadata) {
+ if(OtherMetadata == null)
+ OtherMetadata = new ArrayList<OtherMetadataType>();
+
+ OtherMetadata.add(otherMetadata);
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+
+/**
+ * Empreinte associée à un fichier ou une partie de fichier aux fins d'en contrôler l'intégrité. Le mécanisme de description du HashCode reprend le mécanisme de référence décrit dans XMLDsig
+ * @author benjamin.catinot
+ *
+ */
+public class HashCodeType {
+
+ private ArchivesHashcodeBinaryObjectType Contains;
+ private ArchivesIDType UnitIdentifier;
+
+ /**
+ * Element
+ * @return Empreinte d'un élément de l'archive.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..1")
+ public ArchivesHashcodeBinaryObjectType getContains() {
+ return Contains;
+ }
+
+ /**
+ * Element
+ * @param Empreinte d'un élément de l'archive.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="Contains",Cardinality="1..1")
+ public void setContains(ArchivesHashcodeBinaryObjectType contains) {
+ Contains = contains;
+ }
+
+ /**
+ * Element
+ * @return Identifiant permettant de reconnaître l'élément dont l'empreinte est founie, qui peut être une archive, ou tout autre objet qui la compose.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..1")
+ public ArchivesIDType getUnitIdentifier() {
+ return UnitIdentifier;
+ }
+
+ /**
+ * Element
+ * @param Identifiant permettant de reconnaître l'élément dont l'empreinte est founie, qui peut être une archive, ou tout autre objet qui la compose.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="UnitIdentifier",Cardinality="1..1")
+ public void setUnitIdentifier(ArchivesIDType unitIdentifier) {
+ UnitIdentifier = unitIdentifier;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+
+public class ISO8601 {
+ private Date date;
+ private String format = "";
+
+ public ISO8601(String stringdate){
+ try {
+ StringToComplete(stringdate);
+ return ;
+ } catch (ParseException e) {
+ }
+ try {
+ StringToCompleteDateHoursMinutesSeconds(stringdate);
+ return ;
+ } catch (ParseException e) {
+ }
+ try {
+ StringToCompleteDateHoursMinutes(stringdate);
+ return ;
+ } catch (ParseException e) {
+ }
+ try {
+ StringToCompleteDate(stringdate);
+ return ;
+ } catch (ParseException e) {
+ }
+ try {
+ StringToYearMonth(stringdate);
+ return ;
+ } catch (ParseException e) {
+ }
+ try {
+ StringToYear(stringdate);
+ return ;
+ } catch (ParseException e) {
+ }
+
+
+
+
+
+ }
+
+ public ISO8601(Date date){
+ this.date = date;
+ }
+
+ private void StringToYear(String stringdate) throws ParseException{
+ format = "yyyy";
+ SimpleDateFormat df = new SimpleDateFormat(format);
+ date = df.parse(stringdate);
+ }
+
+ private void StringToYearMonth(String stringdate) throws ParseException{
+ format = "yyyy-MM";
+ SimpleDateFormat df = new SimpleDateFormat(format);
+ date = df.parse(stringdate);
+ }
+
+ private void StringToCompleteDate(String input) throws ParseException{
+ format = "yyyy-MM-dd";
+ SimpleDateFormat df = new SimpleDateFormat(format);
+ date = df.parse(input);
+ }
+
+ private void StringToCompleteDateHoursMinutes(String input) throws ParseException{
+ format = "yyyy-MM-dd'T'HH:mmz";
+ SimpleDateFormat df = new SimpleDateFormat(format);
+ //this is zero time so we need to add that TZ indicator for
+ if (input.endsWith("Z") ) {
+ input = input.substring(0,input.length()-1) + "GMT-00:00";
+ } else {
+ int inset = 6;
+ String s0 = input.substring( 0, input.length() - inset );
+ String s1 = input.substring( input.length() - inset, input.length() );
+ input = s0 + "GMT" + s1;
+ }
+
+ date = df.parse(input);
+ }
+
+ private void StringToCompleteDateHoursMinutesSeconds(String input) throws ParseException{
+ format = "yyyy-MM-dd'T'HH:mmz";
+ SimpleDateFormat df = new SimpleDateFormat(format);
+ //this is zero time so we need to add that TZ indicator for
+ if (input.endsWith("Z") ) {
+ input = input.substring(0,input.length()-1) + "GMT-00:00";
+ } else {
+ int inset = 6;
+ String s0 = input.substring( 0, input.length() - inset );
+ String s1 = input.substring( input.length() - inset, input.length() );
+ input = s0 + "GMT" + s1;
+ }
+
+ date = df.parse(input);
+ }
+
+ private void StringToComplete(String input) throws ParseException{
+ format = "yyyy-MM-dd'T'HH:mm:ssz";
+ SimpleDateFormat df = new SimpleDateFormat(format);
+ //this is zero time so we need to add that TZ indicator for
+ if (input.endsWith("Z") ) {
+ input = input.substring(0,input.length()-1) + "GMT-00:00";
+ } else {
+ int inset = 6;
+ String s0 = input.substring( 0, input.length() - inset );
+ String s1 = input.substring( input.length() - inset, input.length() );
+ input = s0 + "GMT" + s1;
+ }
+
+ date = df.parse(input);
+ }
+
+ public String DateToString(String format){
+ if(date == null)
+ return "";
+
+ SimpleDateFormat df = new SimpleDateFormat(format);
+
+ if(format.endsWith("z")){
+ String output = df.format( date );
+ int inset0 = 2;
+ String s0 = output.substring( 0, output.length() - inset0 );
+ String s1 = output.substring( output.length() - inset0, output.length() );
+ return s0 + ":" + s1;
+ }
+ else{
+ return df.format(date);
+ }
+ }
+
+ public String DateToString(){
+ return DateToString(format);
+ }
+
+ public String DateToCompleteString(){
+ if(date == null)
+ return "";
+
+ TimeZone tz = TimeZone.getTimeZone("UTC");
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz");
+ df.setTimeZone(tz);
+ String output = df.format( date );
+ output = output.replace("UTC","Z");
+ return output;
+ }
+
+ public Date getDate(){
+ return date;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.IndicatorCodeType;
+
+/**
+ * A list of two mutually exclusive values that express the only possible states of a property
+ * @author benjamin.catinot
+ *
+ */
+public class IndicatorType {
+
+ private IndicatorCodeType value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value", FormType=FieldType.TEXT)
+ public IndicatorCodeType getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value", FormType=FieldType.TEXT)
+ public void setValue(IndicatorCodeType value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Mot-clé associé à une archive ou un objet d'archive.
+ * @author benjamin.catinot
+ *
+ */
+public class KeywordType {
+ private AccessRestrictionRulesType AccessRestriction;
+ private String KeywordContent;
+ private ArchivesIDType KeywordReference;
+ private CodeKeywordType KeywordType;
+
+ /**
+ * Element
+ * @return Permet d'indiquer le caractère confidentiel d'un mot-clé
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..1",FormName="Régle de restriction d'accès",FormDescription="Permet d'indiquer le caractère confidentiel d'un mot-clé")
+ public AccessRestrictionRulesType getAccessRestriction() {
+ return AccessRestriction;
+ }
+
+ /**
+ * Element
+ * @param Permet d'indiquer le caractère confidentiel d'un mot-clé
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="AccessRestriction",Cardinality="0..1",FormName="Régle de restriction d'accès",FormDescription="Permet d'indiquer le caractère confidentiel d'un mot-clé")
+ public void setAccessRestriction(AccessRestrictionRulesType accessRestriction) {
+ AccessRestriction = accessRestriction;
+ }
+
+ /**
+ * Element
+ * @return Valeur du mot-clé.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="KeywordContent",Cardinality="1..1",FormType=FieldType.TEXT,FormName="Mot-clé",FormDescription="Permet d'indiquer le caractère confidentiel d'un mot-clé")
+ public String getKeywordContent() {
+ return KeywordContent;
+ }
+
+ /**
+ * Element
+ * @param Valeur du mot-clé.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="KeywordContent",Cardinality="1..1",FormType=FieldType.TEXT,FormName="Mot-clé",FormDescription="Permet d'indiquer le caractère confidentiel d'un mot-clé")
+ public void setKeywordContent(String keywordContent) {
+ KeywordContent = keywordContent;
+ }
+
+ /**
+ * Element
+ * @return Indique, s'il en a, l'identifiant du mot clé dans une liste déposée, par exemple pour un lieu son Code Officiel Géographique selon l'INSEE.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="KeywordReference",Cardinality="0..1",FormName="Identifiant dans le référentiel associé",FormDescription="Indique, s'il en a, l'identifiant du mot clé dans une liste déposée, par exemple pour un lieu son Code Officiel Géographique selon l'INSEE.")
+ public ArchivesIDType getKeywordReference() {
+ return KeywordReference;
+ }
+
+ /**
+ * Element
+ * @param Indique, s'il en a, l'identifiant du mot clé dans une liste déposée, par exemple pour un lieu son Code Officiel Géographique selon l'INSEE.
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="KeywordReference",Cardinality="0..1",FormName="Identifiant dans le référentiel associé",FormDescription="Indique, s'il en a, l'identifiant du mot clé dans une liste déposée, par exemple pour un lieu son Code Officiel Géographique selon l'INSEE.")
+ public void setKeywordReference(ArchivesIDType keywordReference) {
+ KeywordReference = keywordReference;
+ }
+
+ /**
+ * Element
+ * @return Type de mot clé.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="KeywordType",Cardinality="0..1",FormName="Type",FormDescription="Type de mot clé.")
+ public CodeKeywordType getKeywordType() {
+ return KeywordType;
+ }
+
+ /**
+ * Element
+ * @param Type de mot clé.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="KeywordType",Cardinality="0..1",FormName="Type",FormDescription="Type de mot clé.")
+ public void setKeywordType(CodeKeywordType keywordType) {
+ KeywordType = keywordType;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.MeasurementUnitCommonCodeContentType;
+
+/**
+ * A numeric value determined by measuring an object along with the unit of measure specified or implied.
+ * @author benjamin.catinot
+ *
+ */
+public class MeasureType {
+ private String value;
+ private MeasurementUnitCommonCodeContentType unitCode;
+
+ /**
+ *
+ * @return The type of unit of measure.
+ */
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="unitCode",FormType=FieldType.COMBOBOX)
+ public MeasurementUnitCommonCodeContentType getUnitCode() {
+ return unitCode;
+ }
+
+ /**
+ *
+ * @param The type of unit of measure.
+ */
+ @SEDA(Position=0,Type=SEDAType.ATTRIBUTE,PropertyTerm="unitCode",FormType=FieldType.COMBOBOX)
+ public void setUnitCode(MeasurementUnitCommonCodeContentType unitCode) {
+ this.unitCode = unitCode;
+ }
+
+ @SEDA(Position=1,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=1,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ * Informations sur une structure organisée constituée pour un objet particulier, comme une administration, une entreprise ou une association. Par extension il peut s'agir d'une personne physique.
+ * @author benjamin.catinot
+ *
+ */
+public class OrganizationType {
+ private ArchivesCodeType BusinessType;
+ private String Description;
+ private ArchivesIDType Identification;
+ private ArchivesCodeType LegalClassification;
+ private String Name;
+ private List<ContactType> Contact;
+ private List<AddressType> Address;
+ private List<CommunicationType> Communication;
+
+ public OrganizationType(){
+
+ }
+
+ /**
+ * Element
+ * @return Code définissant la nature de l'activité de l'organisation. UN00000057 Organisation.Business Type.Code Répertoire SIRENE: Code APE (APEN ou APET suivant le niveau)
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="BusinessType",Cardinality="0..1",FormName="Code de l'activité",FormDescription="Code définissant la nature de l'activité de l'organisation. UN00000057 Organisation.Business Type.Code Répertoire SIRENE: Code APE (APEN ou APET suivant le niveau)")
+ public ArchivesCodeType getBusinessType() {
+ return BusinessType;
+ }
+
+ /**
+ * Element
+ * @param Code définissant la nature de l'activité de l'organisation. UN00000057 Organisation.Business Type.Code Répertoire SIRENE: Code APE (APEN ou APET suivant le niveau)
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="BusinessType",Cardinality="0..1",FormName="Code de l'activité",FormDescription="Code définissant la nature de l'activité de l'organisation. UN00000057 Organisation.Business Type.Code Répertoire SIRENE: Code APE (APEN ou APET suivant le niveau)")
+ public void setBusinessType(ArchivesCodeType businessType) {
+ BusinessType = businessType;
+ }
+
+ /**
+ * Element
+ * @return Description textuelle de l'organisation
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Description",Cardinality="0..1",FormName="Description",FormDescription="Description textuelle de l'organisation",FormType=FieldType.TEXTEAREA)
+ public String getDescription() {
+ return Description;
+ }
+
+ /**
+ * Element
+ * @param Description textuelle de l'organisation
+ */
+ @SEDA(Position=2,Type=SEDAType.ELEMENT,PropertyTerm="Description",Cardinality="0..1",FormName="Description",FormDescription="Description textuelle de l'organisation",FormType=FieldType.TEXTEAREA)
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ /**
+ * Element
+ * @return Identifiant unique de l'organisation. UN00000053 Organisation.Identification.Identifier.Par exemple dans le Répertoire SIRENE: SIREN ou SIRET suivant le niveau.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Identification",Cardinality="1..1",FormName="Identifiant",FormDescription="Identifiant unique de l'organisation. UN00000053 Organisation.Identification.Identifier.Par exemple dans le Répertoire SIRENE: SIREN ou SIRET suivant le niveau.")
+ public ArchivesIDType getIdentification() {
+ return Identification;
+ }
+
+ /**
+ * Element
+ * @param Identifiant unique de l'organisation. UN00000053 Organisation.Identification.Identifier.Par exemple dans le Répertoire SIRENE: SIREN ou SIRET suivant le niveau.
+ */
+ @SEDA(Position=3,Type=SEDAType.ELEMENT,PropertyTerm="Identification",Cardinality="1..1",FormName="Identifiant",FormDescription="Identifiant unique de l'organisation. UN00000053 Organisation.Identification.Identifier.Par exemple dans le Répertoire SIRENE: SIREN ou SIRET suivant le niveau.")
+ public void setIdentification(ArchivesIDType identification) {
+ Identification = identification;
+ }
+
+ /**
+ * Element
+ * @return Code définissant la catégorie juridique de l'organisation. UN00000056 Organisation.Legal Classification.Code. Répertoire SIRENE: personne morale ou pour une entreprise individuelle, la catégorie professionnelle.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="LegalClassification",Cardinality="0..1",FormName="Code de la catégorie juridique",FormDescription="Code définissant la catégorie juridique de l'organisation. UN00000056 Organisation.Legal Classification.Code. Répertoire SIRENE: personne morale ou pour une entreprise individuelle, la catégorie professionnelle.")
+ public ArchivesCodeType getLegalClassification() {
+ return LegalClassification;
+ }
+
+ /**
+ * Element
+ * @param Code définissant la catégorie juridique de l'organisation. UN00000056 Organisation.Legal Classification.Code. Répertoire SIRENE: personne morale ou pour une entreprise individuelle, la catégorie professionnelle.
+ */
+ @SEDA(Position=4,Type=SEDAType.ELEMENT,PropertyTerm="LegalClassification",Cardinality="0..1",FormName="Code de la catégorie juridique",FormDescription="Code définissant la catégorie juridique de l'organisation. UN00000056 Organisation.Legal Classification.Code. Répertoire SIRENE: personne morale ou pour une entreprise individuelle, la catégorie professionnelle.")
+ public void setLegalClassification(ArchivesCodeType legalClassification) {
+ LegalClassification = legalClassification;
+ }
+
+ /**
+ * Element
+ * @return Dénomination ou enseigne: Nom sous lequel l'organisation exerce son activité.Ex. Service d'état civil.UN000000054 Organisation.Name.Text. Répertoire SIRENE.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Name",Cardinality="0..1",FormName="Nom",FormDescription="Dénomination ou enseigne: Nom sous lequel l'organisation exerce son activité.Ex. Service d'état civil.UN000000054 Organisation.Name.Text. Répertoire SIRENE.",FormType=FieldType.TEXT)
+ public String getName() {
+ return Name;
+ }
+
+ /**
+ * Element
+ * @param Dénomination ou enseigne: Nom sous lequel l'organisation exerce son activité.Ex. Service d'état civil.UN000000054 Organisation.Name.Text. Répertoire SIRENE.
+ */
+ @SEDA(Position=5,Type=SEDAType.ELEMENT,PropertyTerm="Name",Cardinality="0..1",FormName="Nom",FormDescription="Dénomination ou enseigne: Nom sous lequel l'organisation exerce son activité.Ex. Service d'état civil.UN000000054 Organisation.Name.Text. Répertoire SIRENE.",FormType=FieldType.TEXT)
+ public void setName(String name) {
+ Name = name;
+ }
+
+ /**
+ * Element
+ * @return Contacts identifiés de l'organisation
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Contact",Cardinality="0..n",FormName="Contact",FormDescription="Contacts identifiés de l'organisation")
+ public List<ContactType> getContact() {
+ return Contact;
+ }
+
+
+ /**
+ * Element
+ * @param Contacts identifiés de l'organisation
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Contact",Cardinality="0..n",FormName="Contact",FormDescription="Contacts identifiés de l'organisation")
+ public void setContact(List<ContactType> contact) {
+ Contact = contact;
+ }
+
+ /**
+ * Element
+ * @param Contacts identifiés de l'organisation
+ */
+ @SEDA(Position=6,Type=SEDAType.ELEMENT,PropertyTerm="Contact",Cardinality="0..n",FormName="Contact",FormDescription="Contacts identifiés de l'organisation")
+ public void addContact(ContactType contact) {
+ if(Contact == null)
+ Contact = new ArrayList<ContactType>();
+
+ Contact.add(contact);
+ }
+
+ /**
+ * Element
+ * @return Adresses de l'organisation.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Address",Cardinality="0..n",FormName="Adresse",FormDescription="Adresses de l'organisation.")
+ public List<AddressType> getAddress() {
+ return Address;
+ }
+
+ /**
+ * Element
+ * @param Adresses de l'organisation.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Address",Cardinality="0..n",FormName="Adresse",FormDescription="Adresses de l'organisation.")
+ public void setAddress(List<AddressType> address) {
+ Address = address;
+ }
+
+ /**
+ * Element
+ * @param Adresses de l'organisation.
+ */
+ @SEDA(Position=7,Type=SEDAType.ELEMENT,PropertyTerm="Address",Cardinality="0..n",FormName="Adresse",FormDescription="Adresses de l'organisation.")
+ public void addAddress(AddressType address) {
+ if(Address == null)
+ Address = new ArrayList<AddressType>();
+
+ Address.add(address);
+ }
+
+ /**
+ * Element
+ * @return Moyen de communication de l'organisation.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Communication",Cardinality="0..n",FormName="Moyen de communication",FormDescription="Moyen de communication de l'organisation.")
+ public List<CommunicationType> getCommunication() {
+ return Communication;
+ }
+
+
+ /**
+ * Element
+ * @param Moyen de communication de l'organisation.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Communication",Cardinality="0..n",FormName="Moyen de communication",FormDescription="Moyen de communication de l'organisation.")
+ public void setCommunication(List<CommunicationType> communication) {
+ Communication = communication;
+ }
+
+ /**
+ * Element
+ * @param Moyen de communication de l'organisation.
+ */
+ @SEDA(Position=10,Type=SEDAType.ELEMENT,PropertyTerm="Communication",Cardinality="0..n",FormName="Moyen de communication",FormDescription="Moyen de communication de l'organisation.")
+ public void addCommunication(CommunicationType communication) {
+ if(Communication == null)
+ Communication = new ArrayList<CommunicationType>();
+
+ Communication.add(communication);
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.form.FieldType;
+
+/**
+ *
+ * @author benjamin.catinot
+ *
+ */
+public class OtherMetadataType {
+
+ private String value;
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public String getValue() {
+ return value;
+ }
+
+ @SEDA(Position=0,Type=SEDAType.VALUE,PropertyTerm="value",FormType=FieldType.TEXT)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.complexType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+
+
+/**
+ * Informations de signature du contenu. Cette signature peut être binaire (PKCS7) ou XML (DSIG ou XADES).
+ * @author benjamin.catinot
+ *
+ */
+public class SignatureType {
+ private ArchivesBinaryObjectType PKCS7Signature;
+ private SignatureType XMLSignature;
+ /**
+ * Element
+ * @return Signature Binaire de type PKCS7.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="PKCS7Signature",Cardinality="1..1")
+ public ArchivesBinaryObjectType getPKCS7Signature() {
+ return PKCS7Signature;
+ }
+
+ /**
+ * Element
+ * @param Signature Binaire de type PKCS7.
+ */
+ @SEDA(Position=0,Type=SEDAType.ELEMENT,PropertyTerm="PKCS7Signature",Cardinality="1..1")
+ public void setPKCS7Signature(ArchivesBinaryObjectType pKCS7Signature) {
+ PKCS7Signature = pKCS7Signature;
+ }
+
+ /**
+ * Element
+ * @return Signature XML de type XMLDsig ou XADES
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="XMLSignature",Cardinality="1..1")
+ public SignatureType getXMLSignature() {
+ return XMLSignature;
+ }
+
+ /**
+ * Element
+ * @param Signature Binaire de type PKCS7.
+ */
+ @SEDA(Position=1,Type=SEDAType.ELEMENT,PropertyTerm="XMLSignature",Cardinality="1..1")
+ public void setXMLSignature(SignatureType xMLSignature) {
+ XMLSignature = xMLSignature;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des codes pour la restriction d'accès
+ * Les différentes valeurs de cette table sont tirées de la loi archive.
+**/
+
+public enum AccessRestrictionCodeType {
+
+/**
+ * 0 an
+ * Documents administratifs librement communicables. (Code du Patrimoine, art. L. 213-1)
+ **/
+ @SEDA(PropertyTerm="AR038", FormName="0 an",FormDescription="Documents administratifs librement communicables. (Code du Patrimoine, art. L. 213-1)")
+AR038,
+/**
+ * 25 ans
+ * Documents dont la communication porte atteinte au secret des délibérations du Gouvernement et des autorités responsables relevant du pouvoir exécutif, à la conduite des relations extérieures, à la monnaie et au crédit public, au secret en matière commerciale et industrielle, à la recherche par les services compétents des infractions fiscales et douanières. (Code du Patrimoine, art. L. 213-2, I, 1, a)
+ **/
+ @SEDA(PropertyTerm="AR039", FormName="25 ans",FormDescription="Documents dont la communication porte atteinte au secret des délibérations du Gouvernement et des autorités responsables relevant du pouvoir exécutif, à la conduite des relations extérieures, à la monnaie et au crédit public, au secret en matière commerciale et industrielle, à la recherche par les services compétents des infractions fiscales et douanières. (Code du Patrimoine, art. L. 213-2, I, 1, a)")
+AR039,
+/**
+ * 25 ans
+ * Documents qui ne sont pas considérés comme administratifs et mentionnés au dernier alinéa de l'article 1er de la loi n° 78-753 du 17 juillet 1978 : actes et documents élaborés ou détenus par les assemblées parlementaires, avis du Conseil d'Etat et des juridictions administratives, documents de la Cour des comptes mentionnés à l'article L. 140-9 du code des juridictions financières et les documents des chambres régionales des comptes mentionnés à l'article L. 241-6 du même code, documents d'instruction des réclamations adressées au Médiateur de la République, documents préalables à l'élaboration du rapport d'accréditation des établissements de santé prévu à l'article L. 6113-6 du code de la santé publique, rapports d'audit des établissements de santé mentionnés à l'article 40 de la loi de financement de la sécurité sociale pour 2001 (n° 2000-1257 du 23 décembre 2000). (Code du Patrimoine, art. L. 213-2, I, 1, b)
+ **/
+ @SEDA(PropertyTerm="AR040", FormName="25 ans",FormDescription="Documents qui ne sont pas considérés comme administratifs et mentionnés au dernier alinéa de l'article 1er de la loi n° 78-753 du 17 juillet 1978 : actes et documents élaborés ou détenus par les assemblées parlementaires, avis du Conseil d'Etat et des juridictions administratives, documents de la Cour des comptes mentionnés à l'article L. 140-9 du code des juridictions financières et les documents des chambres régionales des comptes mentionnés à l'article L. 241-6 du même code, documents d'instruction des réclamations adressées au Médiateur de la République, documents préalables à l'élaboration du rapport d'accréditation des établissements de santé prévu à l'article L. 6113-6 du code de la santé publique, rapports d'audit des établissements de santé mentionnés à l'article 40 de la loi de financement de la sécurité sociale pour 2001 (n° 2000-1257 du 23 décembre 2000). (Code du Patrimoine, art. L. 213-2, I, 1, b)")
+AR040,
+/**
+ * 25 ans
+ * Secret statistique. (Code du Patrimoine, art. L. 213-2, I, 1, a)
+ **/
+ @SEDA(PropertyTerm="AR041", FormName="25 ans",FormDescription="Secret statistique. (Code du Patrimoine, art. L. 213-2, I, 1, a)")
+AR041,
+/**
+ * 25 ans
+ * Documents élaborés dans le cadre d'un contrat de prestation de services exécuté pour le compte d'une ou de plusieurs personnes déterminées. (Code du Patrimoine, art. L. 213-2, I, 1, c)
+ **/
+ @SEDA(PropertyTerm="AR042", FormName="25 ans",FormDescription="Documents élaborés dans le cadre d'un contrat de prestation de services exécuté pour le compte d'une ou de plusieurs personnes déterminées. (Code du Patrimoine, art. L. 213-2, I, 1, c)")
+AR042,
+/**
+ * 25 ans à compter de la date de décès de l'intéressé
+ * Documents dont la communication est susceptible de porter atteinte au secret médical. (Code du Patrimoine, art. L. 213-2, I, 2)
+ **/
+ @SEDA(PropertyTerm="AR043", FormName="25 ans à compter de la date de décès de l'intéressé",FormDescription="Documents dont la communication est susceptible de porter atteinte au secret médical. (Code du Patrimoine, art. L. 213-2, I, 2)")
+AR043,
+/**
+ * 25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans
+ * Etat civil (actes de naissance ou de mariage). (Code du Patrimoine, art. L. 213-2, I, 4, e)
+ **/
+ @SEDA(PropertyTerm="AR044", FormName="25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans",FormDescription="Etat civil (actes de naissance ou de mariage). (Code du Patrimoine, art. L. 213-2, I, 4, e)")
+AR044,
+/**
+ * 25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans
+ * Minutes et répertoires des officiers publics et ministériels. (Code du Patrimoine, art. L. 213-2, I, 4, d)
+ **/
+ @SEDA(PropertyTerm="AR045", FormName="25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans",FormDescription="Minutes et répertoires des officiers publics et ministériels. (Code du Patrimoine, art. L. 213-2, I, 4, d)")
+AR045,
+/**
+ * 25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans
+ * Documents relatifs aux enquêtes réalisées par les services de la police judiciaire. (Code du Patrimoine, art. L. 213-2, I, 4, b)
+ **/
+ @SEDA(PropertyTerm="AR046", FormName="25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans",FormDescription="Documents relatifs aux enquêtes réalisées par les services de la police judiciaire. (Code du Patrimoine, art. L. 213-2, I, 4, b)")
+AR046,
+/**
+ * 25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans
+ * Documents relatifs aux affaires portées devant les juridictions, sous réserve des dispositions particulières relatives aux jugements, et à l'exécution des décisions de justice. (Code du Patrimoine, art. L. 213-2, I, 4, c)
+ **/
+ @SEDA(PropertyTerm="AR047", FormName="25 ans à compter de la date de décès de l'intéressé si ce délai est plus court que le délai ordinaire de 75 ans",FormDescription="Documents relatifs aux affaires portées devant les juridictions, sous réserve des dispositions particulières relatives aux jugements, et à l'exécution des décisions de justice. (Code du Patrimoine, art. L. 213-2, I, 4, c)")
+AR047,
+/**
+ * 50 ans
+ * Documents dont la communication porte atteinte à la protection de la vie privée ou portant appréciation ou jugement de valeur sur une personne physique nommément désignée, ou facilement identifiable, ou qui font apparaître le comportement d'une personne dans des conditions susceptibles de lui porter préjudice. (Code du Patrimoine, art. L. 213-2, I, 3)
+ **/
+ @SEDA(PropertyTerm="AR048", FormName="50 ans",FormDescription="Documents dont la communication porte atteinte à la protection de la vie privée ou portant appréciation ou jugement de valeur sur une personne physique nommément désignée, ou facilement identifiable, ou qui font apparaître le comportement d'une personne dans des conditions susceptibles de lui porter préjudice. (Code du Patrimoine, art. L. 213-2, I, 3)")
+AR048,
+/**
+ * 50 ans
+ * Documents dont la communication porte atteinte au secret de la défense nationale, aux intérêts fondamentaux de l'État dans la conduite de la politique extérieure, à la sûreté de l'État, à la sécurité publique. (Code du Patrimoine, art. L. 213-2, I, 3)
+ **/
+ @SEDA(PropertyTerm="AR049", FormName="50 ans",FormDescription="Documents dont la communication porte atteinte au secret de la défense nationale, aux intérêts fondamentaux de l'État dans la conduite de la politique extérieure, à la sûreté de l'État, à la sécurité publique. (Code du Patrimoine, art. L. 213-2, I, 3)")
+AR049,
+/**
+ * 50 ans
+ * Documents relatifs à la construction, à l'équipement et au fonctionnement des ouvrages, bâtiments ou parties de bâtiments utilisés pour la détention de personnes ou recevant habituellement des personnes détenues. (Code du Patrimoine, art. L. 213-2, I, 3)
+ **/
+ @SEDA(PropertyTerm="AR050", FormName="50 ans",FormDescription="Documents relatifs à la construction, à l'équipement et au fonctionnement des ouvrages, bâtiments ou parties de bâtiments utilisés pour la détention de personnes ou recevant habituellement des personnes détenues. (Code du Patrimoine, art. L. 213-2, I, 3)")
+AR050,
+/**
+ * 50 ans
+ * Documents élaborés dans le cadre d'un contrat de prestation de services dont la communication porte atteinte au secret de la défense nationale, aux intérêts fondamentaux de l'État dans la conduite de la politique extérieure, à la sûreté de l'État, à la sécurité publique, à la protection de la vie privée, ou concernant des bâtiments employés pour la détention de personnes ou recevant habituellement des personnes détenues. (Code du Patrimoine, art. L. 213-2, I, 1, c)
+ **/
+ @SEDA(PropertyTerm="AR051", FormName="50 ans",FormDescription="Documents élaborés dans le cadre d'un contrat de prestation de services dont la communication porte atteinte au secret de la défense nationale, aux intérêts fondamentaux de l'État dans la conduite de la politique extérieure, à la sûreté de l'État, à la sécurité publique, à la protection de la vie privée, ou concernant des bâtiments employés pour la détention de personnes ou recevant habituellement des personnes détenues. (Code du Patrimoine, art. L. 213-2, I, 1, c)")
+AR051,
+/**
+ * 75 ans
+ * Secret statistique : données collectées au moyen de questionnaires ayant trait aux faits et aux comportements d'ordre privé. (Code du Patrimoine, art. L. 213-2, I, 4, a)
+ **/
+ @SEDA(PropertyTerm="AR052", FormName="75 ans",FormDescription="Secret statistique : données collectées au moyen de questionnaires ayant trait aux faits et aux comportements d'ordre privé. (Code du Patrimoine, art. L. 213-2, I, 4, a)")
+AR052,
+/**
+ * 75 ans
+ * Documents élaborés dans le cadre d'un contrat de prestation de services et pouvant être liés aux services de la police judiciaire ou aux affaires portées devant les juridictions. (Code du Patrimoine, art. L 213-2, I, 1, b)
+ **/
+ @SEDA(PropertyTerm="AR053", FormName="75 ans",FormDescription="Documents élaborés dans le cadre d'un contrat de prestation de services et pouvant être liés aux services de la police judiciaire ou aux affaires portées devant les juridictions. (Code du Patrimoine, art. L 213-2, I, 1, b)")
+AR053,
+/**
+ * 75 ans
+ * Etat civil (actes de naissance ou de mariage). (Code du Patrimoine, art. L. 213-2, I, 4, e)
+ **/
+ @SEDA(PropertyTerm="AR054", FormName="75 ans",FormDescription="Etat civil (actes de naissance ou de mariage). (Code du Patrimoine, art. L. 213-2, I, 4, e)")
+AR054,
+/**
+ * 75 ans
+ * Minutes et répertoires des officiers publics et ministériels. (Code du Patrimoine, art. L. 213-2, I, 4, d)
+ **/
+ @SEDA(PropertyTerm="AR055", FormName="75 ans",FormDescription="Minutes et répertoires des officiers publics et ministériels. (Code du Patrimoine, art. L. 213-2, I, 4, d)")
+AR055,
+/**
+ * 75 ans
+ * Documents relatifs aux enquêtes réalisées par les services de la police judiciaire. (Code du Patrimoine, art. L. 213-2, I, 4, b)
+ **/
+ @SEDA(PropertyTerm="AR056", FormName="75 ans",FormDescription="Documents relatifs aux enquêtes réalisées par les services de la police judiciaire. (Code du Patrimoine, art. L. 213-2, I, 4, b)")
+AR056,
+/**
+ * 75 ans
+ * Documents relatifs aux affaires portées devant les juridictions. (Code du Patrimoine, art. L. 213-2, I, 4, c)
+ **/
+ @SEDA(PropertyTerm="AR057", FormName="75 ans",FormDescription="Documents relatifs aux affaires portées devant les juridictions. (Code du Patrimoine, art. L. 213-2, I, 4, c)")
+AR057,
+/**
+ * 100 ans
+ * Documents évoquant des personnes mineures : statistiques, enquêtes de la police judiciaire, documents relatifs aux affaires portées devant les juridictions et à l'exécution des décisions de justice. (Code du Patrimoine, art. L. 213-2, I, 5)
+ **/
+ @SEDA(PropertyTerm="AR058", FormName="100 ans",FormDescription="Documents évoquant des personnes mineures : statistiques, enquêtes de la police judiciaire, documents relatifs aux affaires portées devant les juridictions et à l'exécution des décisions de justice. (Code du Patrimoine, art. L. 213-2, I, 5)")
+AR058,
+/**
+ * 100 ans
+ * Secret de la Défense nationale : documents couverts ou ayant été couverts par le secret de la défense nationale dont la communication est de nature à porter atteinte à la sécurité de personnes nommément désignées ou facilement identifiables (agents spéciaux, agents de renseignements...). (Code du Patrimoine, art. L. 213-2, I, 3)
+ **/
+ @SEDA(PropertyTerm="AR059", FormName="100 ans",FormDescription="Secret de la Défense nationale : documents couverts ou ayant été couverts par le secret de la défense nationale dont la communication est de nature à porter atteinte à la sécurité de personnes nommément désignées ou facilement identifiables (agents spéciaux, agents de renseignements...). (Code du Patrimoine, art. L. 213-2, I, 3)")
+AR059,
+/**
+ * 100 ans
+ * Documents dont la communication est de nature à porter atteinte à l'intimité de la vie sexuelle des personnes : enquêtes de la police judiciaire, documents relatifs aux affaires portées devant les juridictions. (Code du Patrimoine, art. L. 213-2, I, 5)
+ **/
+ @SEDA(PropertyTerm="AR060", FormName="100 ans",FormDescription="Documents dont la communication est de nature à porter atteinte à l'intimité de la vie sexuelle des personnes : enquêtes de la police judiciaire, documents relatifs aux affaires portées devant les juridictions. (Code du Patrimoine, art. L. 213-2, I, 5)")
+AR060,
+/**
+ * 120 ans à compter de la date de naissance si la date de décès de l'intéressé n'est pas connue
+ * Documents dont la communication est susceptible de porter atteinte au secret médical. (Code du Patrimoine, art. L. 213-2, I, 2)
+ **/
+ @SEDA(PropertyTerm="AR061", FormName="120 ans à compter de la date de naissance si la date de décès de l'intéressé n'est pas connue",FormDescription="Documents dont la communication est susceptible de porter atteinte au secret médical. (Code du Patrimoine, art. L. 213-2, I, 2)")
+AR061,
+/**
+ * Illimitée
+ * Archives publiques dont la communication est susceptible d'entraîner la diffusion d'informations permettant de concevoir, fabriquer, utiliser ou localiser des armes nucléaires, biologiques, chimiques ou toutes autres armes ayant des effets directs ou indirects de destruction d'un niveau analogue. (Code du Patrimoine, art. L. 213-2, II)
+ **/
+ @SEDA(PropertyTerm="AR062", FormName="Illimitée",FormDescription="Archives publiques dont la communication est susceptible d'entraîner la diffusion d'informations permettant de concevoir, fabriquer, utiliser ou localiser des armes nucléaires, biologiques, chimiques ou toutes autres armes ayant des effets directs ou indirects de destruction d'un niveau analogue. (Code du Patrimoine, art. L. 213-2, II)")
+AR062,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum AgencyIdentificationCodeContentType {
+
+/**
+ * CCC (Customs Co-operation Council)
+ * Customs Co-operation Council (now World Customs Organization).
+ **/
+ @SEDA(PropertyTerm="1", FormName="CCC (Customs Co-operation Council)",FormDescription="Customs Co-operation Council (now World Customs Organization).")
+NUM1,
+/**
+ * CEC (Commission of the European Communities)
+ * Generic: see also 140, 141, 142, 162.
+ **/
+ @SEDA(PropertyTerm="2", FormName="CEC (Commission of the European Communities)",FormDescription="Generic: see also 140, 141, 142, 162.")
+NUM2,
+/**
+ * IATA (International Air Transport Association)
+ * The airline industry's international organisation.
+ **/
+ @SEDA(PropertyTerm="3", FormName="IATA (International Air Transport Association)",FormDescription="The airline industry's international organisation.")
+NUM3,
+/**
+ * ICC (International Chamber of Commerce)
+ * International Chamber of Commerce.
+ **/
+ @SEDA(PropertyTerm="4", FormName="ICC (International Chamber of Commerce)",FormDescription="International Chamber of Commerce.")
+NUM4,
+/**
+ * ISO (International Organization for Standardization)
+ * International Organization of Standardization.
+ **/
+ @SEDA(PropertyTerm="5", FormName="ISO (International Organization for Standardization)",FormDescription="International Organization of Standardization.")
+NUM5,
+/**
+ * UN/ECE (United Nations - Economic Commission for Europe)
+ * United Nations Economic Commission for Europe.
+ **/
+ @SEDA(PropertyTerm="6", FormName="UN/ECE (United Nations - Economic Commission for Europe)",FormDescription="United Nations Economic Commission for Europe.")
+NUM6,
+/**
+ * CEFIC (Conseil Europeen des Federations de l'Industrie Chimique)
+ * EDI project for chemical industry.
+ **/
+ @SEDA(PropertyTerm="7", FormName="CEFIC (Conseil Europeen des Federations de l'Industrie Chimique)",FormDescription="EDI project for chemical industry.")
+NUM7,
+/**
+ * EDIFICE
+ * Standardised electronic commerce forum for companies with interests in computing, electronics and telecommunications.
+ **/
+ @SEDA(PropertyTerm="8", FormName="EDIFICE",FormDescription="Standardised electronic commerce forum for companies with interests in computing, electronics and telecommunications.")
+NUM8,
+/**
+ * GS1
+ * GS1 (formerly EAN International), an organisation of GS1 Member Organisations, which manages the GS1 System
+ **/
+ @SEDA(PropertyTerm="9", FormName="GS1",FormDescription="GS1 (formerly EAN International), an organisation of GS1 Member Organisations, which manages the GS1 System")
+NUM9,
+/**
+ * ODETTE
+ * Organization for Data Exchange through Tele-Transmission in Europe (European automotive industry project).
+ **/
+ @SEDA(PropertyTerm="10", FormName="ODETTE",FormDescription="Organization for Data Exchange through Tele-Transmission in Europe (European automotive industry project).")
+NUM10,
+/**
+ * Lloyd's register of shipping
+ * A register of ocean going vessels maintained by Lloyd's of London.
+ **/
+ @SEDA(PropertyTerm="11", FormName="Lloyd's register of shipping",FormDescription="A register of ocean going vessels maintained by Lloyd's of London.")
+NUM11,
+/**
+ * UIC (International union of railways)
+ * International Union of Railways.
+ **/
+ @SEDA(PropertyTerm="12", FormName="UIC (International union of railways)",FormDescription="International Union of Railways.")
+NUM12,
+/**
+ * ICAO (International Civil Aviation Organization)
+ * International Civil Aviation Organization.
+ **/
+ @SEDA(PropertyTerm="13", FormName="ICAO (International Civil Aviation Organization)",FormDescription="International Civil Aviation Organization.")
+NUM13,
+/**
+ * ICS (International Chamber of Shipping)
+ * International Chamber of Shipping.
+ **/
+ @SEDA(PropertyTerm="14", FormName="ICS (International Chamber of Shipping)",FormDescription="International Chamber of Shipping.")
+NUM14,
+/**
+ * RINET (Reinsurance and Insurance Network)
+ * Reinsurance and Insurance Network.
+ **/
+ @SEDA(PropertyTerm="15", FormName="RINET (Reinsurance and Insurance Network)",FormDescription="Reinsurance and Insurance Network.")
+NUM15,
+/**
+ * US, D&B (Dun & Bradstreet Corporation)
+ * Identifies the Dun & Bradstreet Corporation, UnitedStates.
+ **/
+ @SEDA(PropertyTerm="16", FormName="US, D&B (Dun & Bradstreet Corporation)",FormDescription="Identifies the Dun & Bradstreet Corporation, UnitedStates.")
+NUM16,
+/**
+ * S.W.I.F.T.
+ * Society for Worldwide Interbank Financial Telecommunications s.c.
+ **/
+ @SEDA(PropertyTerm="17", FormName="S.W.I.F.T.",FormDescription="Society for Worldwide Interbank Financial Telecommunications s.c.")
+NUM17,
+/**
+ * Conventions on SAD and transit (EC and EFTA)
+ * SAD = Single Administrative Document.
+ **/
+ @SEDA(PropertyTerm="18", FormName="Conventions on SAD and transit (EC and EFTA)",FormDescription="SAD = Single Administrative Document.")
+NUM18,
+/**
+ * FRRC (Federal Reserve Routing Code)
+ * Federal Reserve Routing Code.
+ **/
+ @SEDA(PropertyTerm="19", FormName="FRRC (Federal Reserve Routing Code)",FormDescription="Federal Reserve Routing Code.")
+NUM19,
+/**
+ * BIC (Bureau International des Containeurs)
+ * The container industry's international organisation responsible for the issuance of container-related codes.
+ **/
+ @SEDA(PropertyTerm="20", FormName="BIC (Bureau International des Containeurs)",FormDescription="The container industry's international organisation responsible for the issuance of container-related codes.")
+NUM20,
+/**
+ * Assigned by transport company
+ * Codes assigned by a transport company.
+ **/
+ @SEDA(PropertyTerm="21", FormName="Assigned by transport company",FormDescription="Codes assigned by a transport company.")
+NUM21,
+/**
+ * US, ISA (Information Systems Agreement)
+ * Codes assigned by the ISA for use by its members.
+ **/
+ @SEDA(PropertyTerm="22", FormName="US, ISA (Information Systems Agreement)",FormDescription="Codes assigned by the ISA for use by its members.")
+NUM22,
+/**
+ * FR, EDITRANSPORT
+ * French association developing EDI in transport logistics.
+ **/
+ @SEDA(PropertyTerm="23", FormName="FR, EDITRANSPORT",FormDescription="French association developing EDI in transport logistics.")
+NUM23,
+/**
+ * AU, ROA (Railways of Australia)
+ * Maintains code lists which are accepted by Australian government railways.
+ **/
+ @SEDA(PropertyTerm="24", FormName="AU, ROA (Railways of Australia)",FormDescription="Maintains code lists which are accepted by Australian government railways.")
+NUM24,
+/**
+ * EDITEX (Europe)
+ * EDI group for the textile and clothing industry.
+ **/
+ @SEDA(PropertyTerm="25", FormName="EDITEX (Europe)",FormDescription="EDI group for the textile and clothing industry.")
+NUM25,
+/**
+ * NL, Foundation Uniform Transport Code
+ * Foundation Uniform Transport Code is the EDI organisation for shippers, carriers and other logistic service providers in the Netherlands.
+ **/
+ @SEDA(PropertyTerm="26", FormName="NL, Foundation Uniform Transport Code",FormDescription="Foundation Uniform Transport Code is the EDI organisation for shippers, carriers and other logistic service providers in the Netherlands.")
+NUM26,
+/**
+ * US, FDA (Food and Drug Administration)
+ * U.S. food and drug administration.
+ **/
+ @SEDA(PropertyTerm="27", FormName="US, FDA (Food and Drug Administration)",FormDescription="U.S. food and drug administration.")
+NUM27,
+/**
+ * EDITEUR (European book sector electronic data interchange group)
+ * Code identifying the pan European user group for the book industry as an organisation responsible for code values in the book industry.
+ **/
+ @SEDA(PropertyTerm="28", FormName="EDITEUR (European book sector electronic data interchange group)",FormDescription="Code identifying the pan European user group for the book industry as an organisation responsible for code values in the book industry.")
+NUM28,
+/**
+ * GB, FLEETNET
+ * Association of fleet vehicle hiring and leasing companies in the UK.
+ **/
+ @SEDA(PropertyTerm="29", FormName="GB, FLEETNET",FormDescription="Association of fleet vehicle hiring and leasing companies in the UK.")
+NUM29,
+/**
+ * GB, ABTA (Association of British Travel Agencies)
+ * ABTA, Association of British Travel Agencies.
+ **/
+ @SEDA(PropertyTerm="30", FormName="GB, ABTA (Association of British Travel Agencies)",FormDescription="ABTA, Association of British Travel Agencies.")
+NUM30,
+/**
+ * FI, Finish State Railway
+ * Finish State Railway.
+ **/
+ @SEDA(PropertyTerm="31", FormName="FI, Finish State Railway",FormDescription="Finish State Railway.")
+NUM31,
+/**
+ * PL, Polish State Railway
+ * Polish State Railway.
+ **/
+ @SEDA(PropertyTerm="32", FormName="PL, Polish State Railway",FormDescription="Polish State Railway.")
+NUM32,
+/**
+ * BG, Bulgaria State Railway
+ * Bulgaria State Railway.
+ **/
+ @SEDA(PropertyTerm="33", FormName="BG, Bulgaria State Railway",FormDescription="Bulgaria State Railway.")
+NUM33,
+/**
+ * RO, Rumanian State Railway
+ * Rumanian State Railway.
+ **/
+ @SEDA(PropertyTerm="34", FormName="RO, Rumanian State Railway",FormDescription="Rumanian State Railway.")
+NUM34,
+/**
+ * CZ, Tchechian State Railway
+ * Tchechian State Railway.
+ **/
+ @SEDA(PropertyTerm="35", FormName="CZ, Tchechian State Railway",FormDescription="Tchechian State Railway.")
+NUM35,
+/**
+ * HU, Hungarian State Railway
+ * Hungarian State Railway.
+ **/
+ @SEDA(PropertyTerm="36", FormName="HU, Hungarian State Railway",FormDescription="Hungarian State Railway.")
+NUM36,
+/**
+ * GB, British Railways
+ * British Railways.
+ **/
+ @SEDA(PropertyTerm="37", FormName="GB, British Railways",FormDescription="British Railways.")
+NUM37,
+/**
+ * ES, Spanish National Railway
+ * Spanish National Railway.
+ **/
+ @SEDA(PropertyTerm="38", FormName="ES, Spanish National Railway",FormDescription="Spanish National Railway.")
+NUM38,
+/**
+ * SE, Swedish State Railway
+ * Swedish State Railway.
+ **/
+ @SEDA(PropertyTerm="39", FormName="SE, Swedish State Railway",FormDescription="Swedish State Railway.")
+NUM39,
+/**
+ * NO, Norwegian State Railway
+ * Norwegian State Railway.
+ **/
+ @SEDA(PropertyTerm="40", FormName="NO, Norwegian State Railway",FormDescription="Norwegian State Railway.")
+NUM40,
+/**
+ * DE, German Railway
+ * German Railway.
+ **/
+ @SEDA(PropertyTerm="41", FormName="DE, German Railway",FormDescription="German Railway.")
+NUM41,
+/**
+ * AT, Austrian Federal Railways
+ * Austrian Federal Railways.
+ **/
+ @SEDA(PropertyTerm="42", FormName="AT, Austrian Federal Railways",FormDescription="Austrian Federal Railways.")
+NUM42,
+/**
+ * LU, Luxembourg National Railway Company
+ * Luxembourg National Railway Company.
+ **/
+ @SEDA(PropertyTerm="43", FormName="LU, Luxembourg National Railway Company",FormDescription="Luxembourg National Railway Company.")
+NUM43,
+/**
+ * IT, Italian State Railways
+ * Italian State Railways.
+ **/
+ @SEDA(PropertyTerm="44", FormName="IT, Italian State Railways",FormDescription="Italian State Railways.")
+NUM44,
+/**
+ * NL, Netherlands Railways
+ * Netherlands Railways.
+ **/
+ @SEDA(PropertyTerm="45", FormName="NL, Netherlands Railways",FormDescription="Netherlands Railways.")
+NUM45,
+/**
+ * CH, Swiss Federal Railways
+ * Swiss Federal Railways.
+ **/
+ @SEDA(PropertyTerm="46", FormName="CH, Swiss Federal Railways",FormDescription="Swiss Federal Railways.")
+NUM46,
+/**
+ * DK, Danish State Railways
+ * Danish State Railways.
+ **/
+ @SEDA(PropertyTerm="47", FormName="DK, Danish State Railways",FormDescription="Danish State Railways.")
+NUM47,
+/**
+ * FR, French National Railway Company
+ * French National Railway Company.
+ **/
+ @SEDA(PropertyTerm="48", FormName="FR, French National Railway Company",FormDescription="French National Railway Company.")
+NUM48,
+/**
+ * BE, Belgian National Railway Company
+ * Belgian National Railway Company.
+ **/
+ @SEDA(PropertyTerm="49", FormName="BE, Belgian National Railway Company",FormDescription="Belgian National Railway Company.")
+NUM49,
+/**
+ * PT, Portuguese Railways
+ * Portuguese Railways.
+ **/
+ @SEDA(PropertyTerm="50", FormName="PT, Portuguese Railways",FormDescription="Portuguese Railways.")
+NUM50,
+/**
+ * SK, Slovakian State Railways
+ * Slovakian State Railways.
+ **/
+ @SEDA(PropertyTerm="51", FormName="SK, Slovakian State Railways",FormDescription="Slovakian State Railways.")
+NUM51,
+/**
+ * IE, Irish Transport Company
+ * Irish Transport Company.
+ **/
+ @SEDA(PropertyTerm="52", FormName="IE, Irish Transport Company",FormDescription="Irish Transport Company.")
+NUM52,
+/**
+ * FIATA (International Federation of Freight Forwarders Associations)
+ * International Federation of Freight Forwarders Associations.
+ **/
+ @SEDA(PropertyTerm="53", FormName="FIATA (International Federation of Freight Forwarders Associations)",FormDescription="International Federation of Freight Forwarders Associations.")
+NUM53,
+/**
+ * IMO (International Maritime Organisation)
+ * International Maritime Organisation.
+ **/
+ @SEDA(PropertyTerm="54", FormName="IMO (International Maritime Organisation)",FormDescription="International Maritime Organisation.")
+NUM54,
+/**
+ * US, DOT (United States Department of Transportation)
+ * United States Department of Transportation.
+ **/
+ @SEDA(PropertyTerm="55", FormName="US, DOT (United States Department of Transportation)",FormDescription="United States Department of Transportation.")
+NUM55,
+/**
+ * TW, Trade-van
+ * Trade-van is an EDI/VAN service centre for customs, transport, and insurance in national and international trade.
+ **/
+ @SEDA(PropertyTerm="56", FormName="TW, Trade-van",FormDescription="Trade-van is an EDI/VAN service centre for customs, transport, and insurance in national and international trade.")
+NUM56,
+/**
+ * TW, Chinese Taipei Customs
+ * Customs authorities of Chinese Taipei responsible for collecting import duties and preventing smuggling.
+ **/
+ @SEDA(PropertyTerm="57", FormName="TW, Chinese Taipei Customs",FormDescription="Customs authorities of Chinese Taipei responsible for collecting import duties and preventing smuggling.")
+NUM57,
+/**
+ * EUROFER
+ * European steel organisation - EDI project for the European steel industry.
+ **/
+ @SEDA(PropertyTerm="58", FormName="EUROFER",FormDescription="European steel organisation - EDI project for the European steel industry.")
+NUM58,
+/**
+ * DE, EDIBAU
+ * National body responsible for the German codification in the construction area.
+ **/
+ @SEDA(PropertyTerm="59", FormName="DE, EDIBAU",FormDescription="National body responsible for the German codification in the construction area.")
+NUM59,
+/**
+ * Assigned by national trade agency
+ * The code list is from a national agency.
+ **/
+ @SEDA(PropertyTerm="60", FormName="Assigned by national trade agency",FormDescription="The code list is from a national agency.")
+NUM60,
+/**
+ * Association Europeenne des Constructeurs de Materiel Aerospatial (AECMA)
+ * A code to identify the Association Europeenne des Constructeurs de Materiel Aeropsatial (European Association of Aerospace Products Manufacturers) as anauthorizing agency for code lists.
+ **/
+ @SEDA(PropertyTerm="61", FormName="Association Europeenne des Constructeurs de Materiel Aerospatial (AECMA)",FormDescription="A code to identify the Association Europeenne des Constructeurs de Materiel Aeropsatial (European Association of Aerospace Products Manufacturers) as anauthorizing agency for code lists.")
+NUM61,
+/**
+ * US, DIstilled Spirits Council of the United States (DISCUS)
+ * United States DIstilled Spirits Council of the United States (DISCUS).
+ **/
+ @SEDA(PropertyTerm="62", FormName="US, DIstilled Spirits Council of the United States (DISCUS)",FormDescription="United States DIstilled Spirits Council of the United States (DISCUS).")
+NUM62,
+/**
+ * North Atlantic Treaty Organization (NATO)
+ * A code to identify the North Atlantic Treaty Organization (NATO) as an authorizing agency for code lists.
+ **/
+ @SEDA(PropertyTerm="63", FormName="North Atlantic Treaty Organization (NATO)",FormDescription="A code to identify the North Atlantic Treaty Organization (NATO) as an authorizing agency for code lists.")
+NUM63,
+/**
+ * FR, EDIFRANCE
+ * French association responsible for coordination and promotion of EDI application in France.
+ **/
+ @SEDA(PropertyTerm="64", FormName="FR, EDIFRANCE",FormDescription="French association responsible for coordination and promotion of EDI application in France.")
+NUM64,
+/**
+ * GS1 France
+ * Organisation responsible for the GS1 System in France.
+ **/
+ @SEDA(PropertyTerm="65", FormName="GS1 France",FormDescription="Organisation responsible for the GS1 System in France.")
+NUM65,
+/**
+ * MY, Malaysian Customs and Excise
+ * Malaysia Royal Customs and Excise.
+ **/
+ @SEDA(PropertyTerm="66", FormName="MY, Malaysian Customs and Excise",FormDescription="Malaysia Royal Customs and Excise.")
+NUM66,
+/**
+ * MY, Malaysia Central Bank
+ * Malaysia Central Bank is a regulatory body set up by the government to charge with promoting economic monetary and credit condition favourable to commercial andindustrial activity.
+ **/
+ @SEDA(PropertyTerm="67", FormName="MY, Malaysia Central Bank",FormDescription="Malaysia Central Bank is a regulatory body set up by the government to charge with promoting economic monetary and credit condition favourable to commercial andindustrial activity.")
+NUM67,
+/**
+ * GS1 Italy
+ * Organisation responsible for the GS1 System in Italy.
+ **/
+ @SEDA(PropertyTerm="68", FormName="GS1 Italy",FormDescription="Organisation responsible for the GS1 System in Italy.")
+NUM68,
+/**
+ * US, National Alcohol Beverage Control Association (NABCA)
+ * United States National Alcohol Beverage Control Association (NABCA).
+ **/
+ @SEDA(PropertyTerm="69", FormName="US, National Alcohol Beverage Control Association (NABCA)",FormDescription="United States National Alcohol Beverage Control Association (NABCA).")
+NUM69,
+/**
+ * MY, Dagang.Net
+ * Malaysia, Dagang.Net is a national clearing house which provide EDI/VAN service for customs, transport, retailand financial and other industries in the national and international trade.
+ **/
+ @SEDA(PropertyTerm="70", FormName="MY, Dagang.Net",FormDescription="Malaysia, Dagang.Net is a national clearing house which provide EDI/VAN service for customs, transport, retailand financial and other industries in the national and international trade.")
+NUM70,
+/**
+ * US, FCC (Federal Communications Commission)
+ * A code representing the United States Federal Communication Commission (FCC).
+ **/
+ @SEDA(PropertyTerm="71", FormName="US, FCC (Federal Communications Commission)",FormDescription="A code representing the United States Federal Communication Commission (FCC).")
+NUM71,
+/**
+ * US, MARAD (Maritime Administration)
+ * A code representing the United States Maritime Administration (MARAD) under the Department ofTransportation (DOT).
+ **/
+ @SEDA(PropertyTerm="72", FormName="US, MARAD (Maritime Administration)",FormDescription="A code representing the United States Maritime Administration (MARAD) under the Department ofTransportation (DOT).")
+NUM72,
+/**
+ * US, DSAA (Defense Security Assistance Agency)
+ * A code representing the United States Defense Security Assistance Agency (DSAA) under the Department of Defense (DOD).
+ **/
+ @SEDA(PropertyTerm="73", FormName="US, DSAA (Defense Security Assistance Agency)",FormDescription="A code representing the United States Defense Security Assistance Agency (DSAA) under the Department of Defense (DOD).")
+NUM73,
+/**
+ * US, NRC (Nuclear Regulatory Commission)
+ * A code representing the United States Nuclear Regulatory Commission (NRC).
+ **/
+ @SEDA(PropertyTerm="74", FormName="US, NRC (Nuclear Regulatory Commission)",FormDescription="A code representing the United States Nuclear Regulatory Commission (NRC).")
+NUM74,
+/**
+ * US, ODTC (Office of Defense Trade Controls)
+ * A code representing the United States Office of Defense Trade Controls (ODTC) under the Department of State.
+ **/
+ @SEDA(PropertyTerm="75", FormName="US, ODTC (Office of Defense Trade Controls)",FormDescription="A code representing the United States Office of Defense Trade Controls (ODTC) under the Department of State.")
+NUM75,
+/**
+ * US, ATF (Bureau of Alcohol, Tobacco and Firearms)
+ * A code representing the United States Bureau of Alcohol, Tobacco and Firearms, Department of Treasury (ATF).
+ **/
+ @SEDA(PropertyTerm="76", FormName="US, ATF (Bureau of Alcohol, Tobacco and Firearms)",FormDescription="A code representing the United States Bureau of Alcohol, Tobacco and Firearms, Department of Treasury (ATF).")
+NUM76,
+/**
+ * US, BXA (Bureau of Export Administration)
+ * A code representing the United States Bureau of Export Administration (BXA) under the Department of Commerce (DOC) .
+ **/
+ @SEDA(PropertyTerm="77", FormName="US, BXA (Bureau of Export Administration)",FormDescription="A code representing the United States Bureau of Export Administration (BXA) under the Department of Commerce (DOC) .")
+NUM77,
+/**
+ * US, FWS (Fish and Wildlife Service)
+ * A code depicting the United States Fish and Wildlife Service (FWS).
+ **/
+ @SEDA(PropertyTerm="78", FormName="US, FWS (Fish and Wildlife Service)",FormDescription="A code depicting the United States Fish and Wildlife Service (FWS).")
+NUM78,
+/**
+ * US, OFAC (Office of Foreign Assets Control)
+ * A code representing the United States Office of Foreign Assets Controls (OFAC).
+ **/
+ @SEDA(PropertyTerm="79", FormName="US, OFAC (Office of Foreign Assets Control)",FormDescription="A code representing the United States Office of Foreign Assets Controls (OFAC).")
+NUM79,
+/**
+ * BRMA/RAA - LIMNET - RINET Joint Venture
+ * Joint venture between BRMA (Brokers & Reinsurance Markets Association) / RAA (Reinsurance Association of America) - LIMNET (London Insurance Market Network) - RINET (Reinsurance and Insurance Network).
+ **/
+ @SEDA(PropertyTerm="80", FormName="BRMA/RAA - LIMNET - RINET Joint Venture",FormDescription="Joint venture between BRMA (Brokers & Reinsurance Markets Association) / RAA (Reinsurance Association of America) - LIMNET (London Insurance Market Network) - RINET (Reinsurance and Insurance Network).")
+NUM80,
+/**
+ * RU, (SFT) Society for Financial Telecommunications
+ * Russian company representing the users of the Global Financial Telecommunication Network (GFTN).
+ **/
+ @SEDA(PropertyTerm="81", FormName="RU, (SFT) Society for Financial Telecommunications",FormDescription="Russian company representing the users of the Global Financial Telecommunication Network (GFTN).")
+NUM81,
+/**
+ * NO, Enhetsregisteret ved Bronnoysundregisterne
+ * The co-ordinating register for companies and business units of companies at the Bronnoysund register centre.
+ **/
+ @SEDA(PropertyTerm="82", FormName="NO, Enhetsregisteret ved Bronnoysundregisterne",FormDescription="The co-ordinating register for companies and business units of companies at the Bronnoysund register centre.")
+NUM82,
+/**
+ * US, National Retail Federation
+ * The National Retail Federation is the trade association for the general merchandise retailing industry. In addition to providing support and education services, they also maintain and publish standard colour and size codes for the retail industry.
+ **/
+ @SEDA(PropertyTerm="83", FormName="US, National Retail Federation",FormDescription="The National Retail Federation is the trade association for the general merchandise retailing industry. In addition to providing support and education services, they also maintain and publish standard colour and size codes for the retail industry.")
+NUM83,
+/**
+ * DE, BRD (Gesetzgeber der Bundesrepublik Deutschland)
+ * German legislature.
+ **/
+ @SEDA(PropertyTerm="84", FormName="DE, BRD (Gesetzgeber der Bundesrepublik Deutschland)",FormDescription="German legislature.")
+NUM84,
+/**
+ * North America, Telecommunications Industry Forum
+ * Trade association representing telecommunications service providers, equipment manufacturers, suppliers to the industry and customers.
+ **/
+ @SEDA(PropertyTerm="85", FormName="North America, Telecommunications Industry Forum",FormDescription="Trade association representing telecommunications service providers, equipment manufacturers, suppliers to the industry and customers.")
+NUM85,
+/**
+ * Assigned by party originating the message
+ * Codes assigned by the party originating the message.
+ **/
+ @SEDA(PropertyTerm="86", FormName="Assigned by party originating the message",FormDescription="Codes assigned by the party originating the message.")
+NUM86,
+/**
+ * Assigned by carrier
+ * Codes assigned by the carrier.
+ **/
+ @SEDA(PropertyTerm="87", FormName="Assigned by carrier",FormDescription="Codes assigned by the carrier.")
+NUM87,
+/**
+ * Assigned by owner of operation
+ * Assigned by owner of operation (e.g. used inconstruction).
+ **/
+ @SEDA(PropertyTerm="88", FormName="Assigned by owner of operation",FormDescription="Assigned by owner of operation (e.g. used inconstruction).")
+NUM88,
+/**
+ * Assigned by distributor
+ * Codes assigned by a distributor.
+ **/
+ @SEDA(PropertyTerm="89", FormName="Assigned by distributor",FormDescription="Codes assigned by a distributor.")
+NUM89,
+/**
+ * Assigned by manufacturer
+ * Codes assigned by a manufacturer.
+ **/
+ @SEDA(PropertyTerm="90", FormName="Assigned by manufacturer",FormDescription="Codes assigned by a manufacturer.")
+NUM90,
+/**
+ * Assigned by seller or seller's agent
+ * Codes assigned by a seller or seller's agent.
+ **/
+ @SEDA(PropertyTerm="91", FormName="Assigned by seller or seller's agent",FormDescription="Codes assigned by a seller or seller's agent.")
+NUM91,
+/**
+ * Assigned by buyer or buyer's agent
+ * Codes assigned by a buyer or buyer's agent.
+ **/
+ @SEDA(PropertyTerm="92", FormName="Assigned by buyer or buyer's agent",FormDescription="Codes assigned by a buyer or buyer's agent.")
+NUM92,
+/**
+ * AT, Austrian Customs
+ * Austrian customs organization.
+ **/
+ @SEDA(PropertyTerm="93", FormName="AT, Austrian Customs",FormDescription="Austrian customs organization.")
+NUM93,
+/**
+ * AT, Austrian PTT
+ * The Austrian organization responsible for assigning telephone (voice/data) + telex numbers, postcodes, and postal account numbers.
+ **/
+ @SEDA(PropertyTerm="94", FormName="AT, Austrian PTT",FormDescription="The Austrian organization responsible for assigning telephone (voice/data) + telex numbers, postcodes, and postal account numbers.")
+NUM94,
+/**
+ * AU, Australian Customs Service
+ * Australian Customs Service.
+ **/
+ @SEDA(PropertyTerm="95", FormName="AU, Australian Customs Service",FormDescription="Australian Customs Service.")
+NUM95,
+/**
+ * CA, Revenue Canada, Customs and Excise
+ * Canada Customs and Revenue Agency.
+ **/
+ @SEDA(PropertyTerm="96", FormName="CA, Revenue Canada, Customs and Excise",FormDescription="Canada Customs and Revenue Agency.")
+NUM96,
+/**
+ * CH, Administration federale des contributions
+ * Indirect taxation (e.g. turn-over/sales taxes).
+ **/
+ @SEDA(PropertyTerm="97", FormName="CH, Administration federale des contributions",FormDescription="Indirect taxation (e.g. turn-over/sales taxes).")
+NUM97,
+/**
+ * CH, Direction generale des douanes
+ * Customs (incl. ISO alpha 2 country code).
+ **/
+ @SEDA(PropertyTerm="98", FormName="CH, Direction generale des douanes",FormDescription="Customs (incl. ISO alpha 2 country code).")
+NUM98,
+/**
+ * CH, Division des importations et exportations, OFAEE
+ * Import and export licences.
+ **/
+ @SEDA(PropertyTerm="99", FormName="CH, Division des importations et exportations, OFAEE",FormDescription="Import and export licences.")
+NUM99,
+/**
+ * CH, Entreprise des PTT
+ * Telephone (voice/data) + telex numbers, postcodes, postal account numbers.
+ **/
+ @SEDA(PropertyTerm="100", FormName="CH, Entreprise des PTT",FormDescription="Telephone (voice/data) + telex numbers, postcodes, postal account numbers.")
+NUM100,
+/**
+ * CH, Carbura
+ * Centrale suisse pour l'importation de carburants et combustibles liquides (Oil products).
+ **/
+ @SEDA(PropertyTerm="101", FormName="CH, Carbura",FormDescription="Centrale suisse pour l'importation de carburants et combustibles liquides (Oil products).")
+NUM101,
+/**
+ * CH, Centrale suisse pour l'importation du charbon
+ * Coal.
+ **/
+ @SEDA(PropertyTerm="102", FormName="CH, Centrale suisse pour l'importation du charbon",FormDescription="Coal.")
+NUM102,
+/**
+ * CH, Office fiduciaire des importateurs de denrees alimentaires
+ * Foodstuff.
+ **/
+ @SEDA(PropertyTerm="103", FormName="CH, Office fiduciaire des importateurs de denrees alimentaires",FormDescription="Foodstuff.")
+NUM103,
+/**
+ * CH, Association suisse code des articles
+ * Swiss article numbering association.
+ **/
+ @SEDA(PropertyTerm="104", FormName="CH, Association suisse code des articles",FormDescription="Swiss article numbering association.")
+NUM104,
+/**
+ * DK, Ministry of taxation, Central Customs and Tax Administration
+ * Danish Customs administration.
+ **/
+ @SEDA(PropertyTerm="105", FormName="DK, Ministry of taxation, Central Customs and Tax Administration",FormDescription="Danish Customs administration.")
+NUM105,
+/**
+ * FR, Direction generale des douanes et droits indirects
+ * French Customs.
+ **/
+ @SEDA(PropertyTerm="106", FormName="FR, Direction generale des douanes et droits indirects",FormDescription="French Customs.")
+NUM106,
+/**
+ * FR, INSEE
+ * Institut National de la Statistique et des Etudes Economiques.
+ **/
+ @SEDA(PropertyTerm="107", FormName="FR, INSEE",FormDescription="Institut National de la Statistique et des Etudes Economiques.")
+NUM107,
+/**
+ * FR, Banque de France
+ * Banque de France.
+ **/
+ @SEDA(PropertyTerm="108", FormName="FR, Banque de France",FormDescription="Banque de France.")
+NUM108,
+/**
+ * GB, H.M. Customs & Excise
+ * United Kingdom H.M. Customs and Excise.
+ **/
+ @SEDA(PropertyTerm="109", FormName="GB, H.M. Customs & Excise",FormDescription="United Kingdom H.M. Customs and Excise.")
+NUM109,
+/**
+ * IE, Revenue Commissioners, Customs AEP project
+ * Ireland Revenue Commissioners Customs Automated Entry Processing project.
+ **/
+ @SEDA(PropertyTerm="110", FormName="IE, Revenue Commissioners, Customs AEP project",FormDescription="Ireland Revenue Commissioners Customs Automated Entry Processing project.")
+NUM110,
+/**
+ * US, U.S. Customs Service
+ * United States Customs Service.
+ **/
+ @SEDA(PropertyTerm="111", FormName="US, U.S. Customs Service",FormDescription="United States Customs Service.")
+NUM111,
+/**
+ * US, U.S. Census Bureau
+ * The Bureau of the Census of the U.S. Dept. of Commerce.
+ **/
+ @SEDA(PropertyTerm="112", FormName="US, U.S. Census Bureau",FormDescription="The Bureau of the Census of the U.S. Dept. of Commerce.")
+NUM112,
+/**
+ * GS1 US
+ * Organisation responsible for the GS1 System in the USA.
+ **/
+ @SEDA(PropertyTerm="113", FormName="GS1 US",FormDescription="Organisation responsible for the GS1 System in the USA.")
+NUM113,
+/**
+ * US, ABA (American Bankers Association)
+ * United States American Bankers Association.
+ **/
+ @SEDA(PropertyTerm="114", FormName="US, ABA (American Bankers Association)",FormDescription="United States American Bankers Association.")
+NUM114,
+/**
+ * US, ANSI ASC X12
+ * American National Standards Institute ASC X12.
+ **/
+ @SEDA(PropertyTerm="116", FormName="US, ANSI ASC X12",FormDescription="American National Standards Institute ASC X12.")
+NUM116,
+/**
+ * AT, Geldausgabeautomaten-Service Gesellschaft m.b.H.
+ * Austrian Geldausgabeautomaten-Service Gesellschaft m.b.H.
+ **/
+ @SEDA(PropertyTerm="117", FormName="AT, Geldausgabeautomaten-Service Gesellschaft m.b.H.",FormDescription="Austrian Geldausgabeautomaten-Service Gesellschaft m.b.H.")
+NUM117,
+/**
+ * SE, Svenska Bankfoereningen
+ * Swedish bankers association.
+ **/
+ @SEDA(PropertyTerm="118", FormName="SE, Svenska Bankfoereningen",FormDescription="Swedish bankers association.")
+NUM118,
+/**
+ * IT, Associazione Bancaria Italiana
+ * Italian Associazione Bancaria Italiana.
+ **/
+ @SEDA(PropertyTerm="119", FormName="IT, Associazione Bancaria Italiana",FormDescription="Italian Associazione Bancaria Italiana.")
+NUM119,
+/**
+ * IT, Socieata' Interbancaria per l'Automazione
+ * Italian Socieata' Interbancaria per l'Automazione.
+ **/
+ @SEDA(PropertyTerm="120", FormName="IT, Socieata' Interbancaria per l'Automazione",FormDescription="Italian Socieata' Interbancaria per l'Automazione.")
+NUM120,
+/**
+ * CH, Telekurs AG
+ * Swiss Telekurs AG.
+ **/
+ @SEDA(PropertyTerm="121", FormName="CH, Telekurs AG",FormDescription="Swiss Telekurs AG.")
+NUM121,
+/**
+ * CH, Swiss Securities Clearing Corporation
+ * Swiss Securities Clearing Corporation.
+ **/
+ @SEDA(PropertyTerm="122", FormName="CH, Swiss Securities Clearing Corporation",FormDescription="Swiss Securities Clearing Corporation.")
+NUM122,
+/**
+ * NO, Norwegian Interbank Research Organization
+ * Norwegian Interbank Research Organization.
+ **/
+ @SEDA(PropertyTerm="123", FormName="NO, Norwegian Interbank Research Organization",FormDescription="Norwegian Interbank Research Organization.")
+NUM123,
+/**
+ * NO, Norwegian Bankers' Association
+ * Norwegian Bankers' Association.
+ **/
+ @SEDA(PropertyTerm="124", FormName="NO, Norwegian Bankers' Association",FormDescription="Norwegian Bankers' Association.")
+NUM124,
+/**
+ * FI, The Finnish Bankers' Association
+ * Finnish Bankers' Association.
+ **/
+ @SEDA(PropertyTerm="125", FormName="FI, The Finnish Bankers' Association",FormDescription="Finnish Bankers' Association.")
+NUM125,
+/**
+ * US, NCCMA (Account Analysis Codes)
+ * The United States organization responsible for issuing account analysis codes.
+ **/
+ @SEDA(PropertyTerm="126", FormName="US, NCCMA (Account Analysis Codes)",FormDescription="The United States organization responsible for issuing account analysis codes.")
+NUM126,
+/**
+ * DE, ARE (AbRechnungs Einheit)
+ * A German code for subsidiary unit number.
+ **/
+ @SEDA(PropertyTerm="127", FormName="DE, ARE (AbRechnungs Einheit)",FormDescription="A German code for subsidiary unit number.")
+NUM127,
+/**
+ * BE, Belgian Bankers' Association
+ * Belgian Bankers' Association.
+ **/
+ @SEDA(PropertyTerm="128", FormName="BE, Belgian Bankers' Association",FormDescription="Belgian Bankers' Association.")
+NUM128,
+/**
+ * BE, Belgian Ministry of Finance
+ * VAT numbers.
+ **/
+ @SEDA(PropertyTerm="129", FormName="BE, Belgian Ministry of Finance",FormDescription="VAT numbers.")
+NUM129,
+/**
+ * DK, Danish Bankers Association
+ * Code identifying the organisation responsible for the issuance of bank related codes in Denmark.
+ **/
+ @SEDA(PropertyTerm="130", FormName="DK, Danish Bankers Association",FormDescription="Code identifying the organisation responsible for the issuance of bank related codes in Denmark.")
+NUM130,
+/**
+ * DE, German Bankers Association
+ * German Bankers' Association.
+ **/
+ @SEDA(PropertyTerm="131", FormName="DE, German Bankers Association",FormDescription="German Bankers' Association.")
+NUM131,
+/**
+ * GB, BACS Limited
+ * An organization that operates the United Kingdom's electronic fund transfer service on behalf of the major Banks and Building Societies.
+ **/
+ @SEDA(PropertyTerm="132", FormName="GB, BACS Limited",FormDescription="An organization that operates the United Kingdom's electronic fund transfer service on behalf of the major Banks and Building Societies.")
+NUM132,
+/**
+ * GB, Association for Payment Clearing Services
+ * British Association for Payment Clearing Services.
+ **/
+ @SEDA(PropertyTerm="133", FormName="GB, Association for Payment Clearing Services",FormDescription="British Association for Payment Clearing Services.")
+NUM133,
+/**
+ * GB, APACS (Association of payment clearing services)
+ * The association which manages the United Kingdom payment clearing system, and among other thing manages the UK bank sort code numbering system.
+ **/
+ @SEDA(PropertyTerm="134", FormName="GB, APACS (Association of payment clearing services)",FormDescription="The association which manages the United Kingdom payment clearing system, and among other thing manages the UK bank sort code numbering system.")
+NUM134,
+/**
+ * GB, The Clearing House
+ * British financial transaction clearing house.
+ **/
+ @SEDA(PropertyTerm="135", FormName="GB, The Clearing House",FormDescription="British financial transaction clearing house.")
+NUM135,
+/**
+ * GS1 UK
+ * Organisation responsible for the GS1 System in the United Kingdom.
+ **/
+ @SEDA(PropertyTerm="136", FormName="GS1 UK",FormDescription="Organisation responsible for the GS1 System in the United Kingdom.")
+NUM136,
+/**
+ * AT, Verband oesterreichischer Banken und Bankiers
+ * Austrian bankers association.
+ **/
+ @SEDA(PropertyTerm="137", FormName="AT, Verband oesterreichischer Banken und Bankiers",FormDescription="Austrian bankers association.")
+NUM137,
+/**
+ * FR, CFONB (Comite francais d'organ. et de normalisation bancaires)
+ * National body responsible for the French codification in banking activity.
+ **/
+ @SEDA(PropertyTerm="138", FormName="FR, CFONB (Comite francais d'organ. et de normalisation bancaires)",FormDescription="National body responsible for the French codification in banking activity.")
+NUM138,
+/**
+ * Universal Postal Union (UPU)
+ * The Universal Postal Union (UPU) is an international organization that coordinates postal policies between member nations, and hence the world-wide postal system.
+ **/
+ @SEDA(PropertyTerm="139", FormName="Universal Postal Union (UPU)",FormDescription="The Universal Postal Union (UPU) is an international organization that coordinates postal policies between member nations, and hence the world-wide postal system.")
+NUM139,
+/**
+ * CEC (Commission of the European Communities), DG/XXI-01
+ * Responsible for computerization within Customs area.
+ **/
+ @SEDA(PropertyTerm="140", FormName="CEC (Commission of the European Communities), DG/XXI-01",FormDescription="Responsible for computerization within Customs area.")
+NUM140,
+/**
+ * CEC (Commission of the European Communities), DG/XXI-B-1
+ * International Commission of the European Communities.
+ **/
+ @SEDA(PropertyTerm="141", FormName="CEC (Commission of the European Communities), DG/XXI-B-1",FormDescription="International Commission of the European Communities.")
+NUM141,
+/**
+ * CEC (Commission of the European Communities), DG/XXXIV
+ * Statistical Office of the European Communities: e.g.Geonomenclature.
+ **/
+ @SEDA(PropertyTerm="142", FormName="CEC (Commission of the European Communities), DG/XXXIV",FormDescription="Statistical Office of the European Communities: e.g.Geonomenclature.")
+NUM142,
+/**
+ * NZ, New Zealand Customs
+ * New Zealand Customs.
+ **/
+ @SEDA(PropertyTerm="143", FormName="NZ, New Zealand Customs",FormDescription="New Zealand Customs.")
+NUM143,
+/**
+ * NL, Netherlands Customs
+ * Netherlands Customs.
+ **/
+ @SEDA(PropertyTerm="144", FormName="NL, Netherlands Customs",FormDescription="Netherlands Customs.")
+NUM144,
+/**
+ * SE, Swedish Customs
+ * Swedish Customs.
+ **/
+ @SEDA(PropertyTerm="145", FormName="SE, Swedish Customs",FormDescription="Swedish Customs.")
+NUM145,
+/**
+ * DE, German Customs
+ * German Customs.
+ **/
+ @SEDA(PropertyTerm="146", FormName="DE, German Customs",FormDescription="German Customs.")
+NUM146,
+/**
+ * BE, Belgian Customs
+ * Belgian Customs.
+ **/
+ @SEDA(PropertyTerm="147", FormName="BE, Belgian Customs",FormDescription="Belgian Customs.")
+NUM147,
+/**
+ * ES, Spanish Customs
+ * Spanish Customs.
+ **/
+ @SEDA(PropertyTerm="148", FormName="ES, Spanish Customs",FormDescription="Spanish Customs.")
+NUM148,
+/**
+ * IL, Israel Customs
+ * Israeli Customs.
+ **/
+ @SEDA(PropertyTerm="149", FormName="IL, Israel Customs",FormDescription="Israeli Customs.")
+NUM149,
+/**
+ * HK, Hong Kong Customs
+ * Hong Kong Customs.
+ **/
+ @SEDA(PropertyTerm="150", FormName="HK, Hong Kong Customs",FormDescription="Hong Kong Customs.")
+NUM150,
+/**
+ * JP, Japan Customs
+ * Japan Customs.
+ **/
+ @SEDA(PropertyTerm="151", FormName="JP, Japan Customs",FormDescription="Japan Customs.")
+NUM151,
+/**
+ * SA, Saudi Arabia Customs
+ * Saudi Arabia Customs.
+ **/
+ @SEDA(PropertyTerm="152", FormName="SA, Saudi Arabia Customs",FormDescription="Saudi Arabia Customs.")
+NUM152,
+/**
+ * IT, Italian Customs
+ * Italian Customs.
+ **/
+ @SEDA(PropertyTerm="153", FormName="IT, Italian Customs",FormDescription="Italian Customs.")
+NUM153,
+/**
+ * GR, Greek Customs
+ * Greek Customs.
+ **/
+ @SEDA(PropertyTerm="154", FormName="GR, Greek Customs",FormDescription="Greek Customs.")
+NUM154,
+/**
+ * PT, Portuguese Customs
+ * Portuguese Customs.
+ **/
+ @SEDA(PropertyTerm="155", FormName="PT, Portuguese Customs",FormDescription="Portuguese Customs.")
+NUM155,
+/**
+ * LU, Luxembourg Customs
+ * Luxembourg Customs.
+ **/
+ @SEDA(PropertyTerm="156", FormName="LU, Luxembourg Customs",FormDescription="Luxembourg Customs.")
+NUM156,
+/**
+ * NO, Norwegian Customs
+ * Norwegian Customs.
+ **/
+ @SEDA(PropertyTerm="157", FormName="NO, Norwegian Customs",FormDescription="Norwegian Customs.")
+NUM157,
+/**
+ * FI, Finnish Customs
+ * Finnish Customs.
+ **/
+ @SEDA(PropertyTerm="158", FormName="FI, Finnish Customs",FormDescription="Finnish Customs.")
+NUM158,
+/**
+ * IS, Iceland Customs
+ * Iceland Customs.
+ **/
+ @SEDA(PropertyTerm="159", FormName="IS, Iceland Customs",FormDescription="Iceland Customs.")
+NUM159,
+/**
+ * LI, Liechtenstein authority
+ * Identification of relevant responsible agency for e.g. banking/financial matters still pending. For e.g. Customs, currency, post/telephone: see relevant CH entry.
+ **/
+ @SEDA(PropertyTerm="160", FormName="LI, Liechtenstein authority",FormDescription="Identification of relevant responsible agency for e.g. banking/financial matters still pending. For e.g. Customs, currency, post/telephone: see relevant CH entry.")
+NUM160,
+/**
+ * UNCTAD (United Nations - Conference on Trade And Development)
+ * United Nations - Conference on Trade And Development.
+ **/
+ @SEDA(PropertyTerm="161", FormName="UNCTAD (United Nations - Conference on Trade And Development)",FormDescription="United Nations - Conference on Trade And Development.")
+NUM161,
+/**
+ * CEC (Commission of the European Communities), DG/XIII-D-5
+ * Responsible for TEDIS - incl. CEBIS -, INSIS and CADDIA projects.
+ **/
+ @SEDA(PropertyTerm="162", FormName="CEC (Commission of the European Communities), DG/XIII-D-5",FormDescription="Responsible for TEDIS - incl. CEBIS -, INSIS and CADDIA projects.")
+NUM162,
+/**
+ * US, FMC (Federal Maritime Commission)
+ * United States Federal Maritime Commission.
+ **/
+ @SEDA(PropertyTerm="163", FormName="US, FMC (Federal Maritime Commission)",FormDescription="United States Federal Maritime Commission.")
+NUM163,
+/**
+ * US, DEA (Drug Enforcement Agency)
+ * United States Drug Enforcement Agency.
+ **/
+ @SEDA(PropertyTerm="164", FormName="US, DEA (Drug Enforcement Agency)",FormDescription="United States Drug Enforcement Agency.")
+NUM164,
+/**
+ * US, DCI (Distribution Codes, INC.)
+ * United States Distribution Codes, Inc. organization.
+ **/
+ @SEDA(PropertyTerm="165", FormName="US, DCI (Distribution Codes, INC.)",FormDescription="United States Distribution Codes, Inc. organization.")
+NUM165,
+/**
+ * US, National Motor Freight Classification Association
+ * The organisation in the USA which is responsible for code maintenance in the trucking industry.
+ **/
+ @SEDA(PropertyTerm="166", FormName="US, National Motor Freight Classification Association",FormDescription="The organisation in the USA which is responsible for code maintenance in the trucking industry.")
+NUM166,
+/**
+ * US, AIAG (Automotive Industry Action Group)
+ * United States Automotive Industry Action Group.
+ **/
+ @SEDA(PropertyTerm="167", FormName="US, AIAG (Automotive Industry Action Group)",FormDescription="United States Automotive Industry Action Group.")
+NUM167,
+/**
+ * US, FIPS (Federal Information Publishing Standard)
+ * A code issued by the United States National Institute for Science and Technology (NIST) to identify a Federal Information Publishing Standard.
+ **/
+ @SEDA(PropertyTerm="168", FormName="US, FIPS (Federal Information Publishing Standard)",FormDescription="A code issued by the United States National Institute for Science and Technology (NIST) to identify a Federal Information Publishing Standard.")
+NUM168,
+/**
+ * CA, SCC (Standards Council of Canada)
+ * Standards Council of Canada.
+ **/
+ @SEDA(PropertyTerm="169", FormName="CA, SCC (Standards Council of Canada)",FormDescription="Standards Council of Canada.")
+NUM169,
+/**
+ * CA, CPA (Canadian Payment Association)
+ * Canadian Payment Association.
+ **/
+ @SEDA(PropertyTerm="170", FormName="CA, CPA (Canadian Payment Association)",FormDescription="Canadian Payment Association.")
+NUM170,
+/**
+ * NL, Interpay Girale Services
+ * Interpay Girale Services.
+ **/
+ @SEDA(PropertyTerm="171", FormName="NL, Interpay Girale Services",FormDescription="Interpay Girale Services.")
+NUM171,
+/**
+ * NL, Interpay Debit Card Services
+ * Interpay Debit Card Services.
+ **/
+ @SEDA(PropertyTerm="172", FormName="NL, Interpay Debit Card Services",FormDescription="Interpay Debit Card Services.")
+NUM172,
+/**
+ * NO, NORPRO
+ * Norwegian electronic data interchange standards organization.
+ **/
+ @SEDA(PropertyTerm="173", FormName="NO, NORPRO",FormDescription="Norwegian electronic data interchange standards organization.")
+NUM173,
+/**
+ * DE, DIN (Deutsches Institut fuer Normung)
+ * German standardization institute.
+ **/
+ @SEDA(PropertyTerm="174", FormName="DE, DIN (Deutsches Institut fuer Normung)",FormDescription="German standardization institute.")
+NUM174,
+/**
+ * FCI (Factors Chain International)
+ * Factors Chain International.
+ **/
+ @SEDA(PropertyTerm="175", FormName="FCI (Factors Chain International)",FormDescription="Factors Chain International.")
+NUM175,
+/**
+ * BR, Banco Central do Brazil
+ * Brazilian central bank.
+ **/
+ @SEDA(PropertyTerm="176", FormName="BR, Banco Central do Brazil",FormDescription="Brazilian central bank.")
+NUM176,
+/**
+ * AU, LIFA (Life Insurance Federation of Australia)
+ * Life Insurance Federation of Australia.
+ **/
+ @SEDA(PropertyTerm="177", FormName="AU, LIFA (Life Insurance Federation of Australia)",FormDescription="Life Insurance Federation of Australia.")
+NUM177,
+/**
+ * AU, SAA (Standards Association of Australia)
+ * Standards Association of Australia.
+ **/
+ @SEDA(PropertyTerm="178", FormName="AU, SAA (Standards Association of Australia)",FormDescription="Standards Association of Australia.")
+NUM178,
+/**
+ * US, Air transport association of America
+ * U.S. -based trade association representing the major North American scheduled airlines.
+ **/
+ @SEDA(PropertyTerm="179", FormName="US, Air transport association of America",FormDescription="U.S. -based trade association representing the major North American scheduled airlines.")
+NUM179,
+/**
+ * DE, BIA (Berufsgenossenschaftliches Institut fuer Arbeitssicherheit)
+ * German institute of the workmen's compensation board.
+ **/
+ @SEDA(PropertyTerm="180", FormName="DE, BIA (Berufsgenossenschaftliches Institut fuer Arbeitssicherheit)",FormDescription="German institute of the workmen's compensation board.")
+NUM180,
+/**
+ * Edibuild
+ * EDI organization for companies in the construction industry.
+ **/
+ @SEDA(PropertyTerm="181", FormName="Edibuild",FormDescription="EDI organization for companies in the construction industry.")
+NUM181,
+/**
+ * US, Standard Carrier Alpha Code (Motor)
+ * Organisation maintaining the SCAC lists and transportation operating in North America.
+ **/
+ @SEDA(PropertyTerm="182", FormName="US, Standard Carrier Alpha Code (Motor)",FormDescription="Organisation maintaining the SCAC lists and transportation operating in North America.")
+NUM182,
+/**
+ * US, American Petroleum Institute
+ * US-based trade association representing oil and natural gas producers, shippers, refineries, marketers, and major suppliers to the industry.
+ **/
+ @SEDA(PropertyTerm="183", FormName="US, American Petroleum Institute",FormDescription="US-based trade association representing oil and natural gas producers, shippers, refineries, marketers, and major suppliers to the industry.")
+NUM183,
+/**
+ * AU, ACOS (Australian Chamber of Shipping)
+ * The national organisation for the maritime industry inAustralia.
+ **/
+ @SEDA(PropertyTerm="184", FormName="AU, ACOS (Australian Chamber of Shipping)",FormDescription="The national organisation for the maritime industry inAustralia.")
+NUM184,
+/**
+ * DE, BDI (Bundesverband der Deutschen Industrie e.V.)
+ * German industry association.
+ **/
+ @SEDA(PropertyTerm="185", FormName="DE, BDI (Bundesverband der Deutschen Industrie e.V.)",FormDescription="German industry association.")
+NUM185,
+/**
+ * US, GSA (General Services Administration)
+ * The US General Services Administration.
+ **/
+ @SEDA(PropertyTerm="186", FormName="US, GSA (General Services Administration)",FormDescription="The US General Services Administration.")
+NUM186,
+/**
+ * US, DLMSO (Defense Logistics Management Standards Office)
+ * The Defense Logistics Management Standards Office.
+ **/
+ @SEDA(PropertyTerm="187", FormName="US, DLMSO (Defense Logistics Management Standards Office)",FormDescription="The Defense Logistics Management Standards Office.")
+NUM187,
+/**
+ * US, NIST (National Institute of Standards and Technology)
+ * The US National Institute of Standards and Technology.
+ **/
+ @SEDA(PropertyTerm="188", FormName="US, NIST (National Institute of Standards and Technology)",FormDescription="The US National Institute of Standards and Technology.")
+NUM188,
+/**
+ * US, DoD (Department of Defense)
+ * The US Department of Defense.
+ **/
+ @SEDA(PropertyTerm="189", FormName="US, DoD (Department of Defense)",FormDescription="The US Department of Defense.")
+NUM189,
+/**
+ * US, VA (Department of Veterans Affairs)
+ * The Department of Veterans Affairs.
+ **/
+ @SEDA(PropertyTerm="190", FormName="US, VA (Department of Veterans Affairs)",FormDescription="The Department of Veterans Affairs.")
+NUM190,
+/**
+ * IAPSO (United Nations Inter-Agency Procurement Services Office)
+ * United Nations organization responsible for maintaining the United Nations Common Coding System (UNCCS) which isused extensively by UN agencies in procurement and statistical analysis.
+ **/
+ @SEDA(PropertyTerm="191", FormName="IAPSO (United Nations Inter-Agency Procurement Services Office)",FormDescription="United Nations organization responsible for maintaining the United Nations Common Coding System (UNCCS) which isused extensively by UN agencies in procurement and statistical analysis.")
+NUM191,
+/**
+ * Shipper's association
+ * Code assigned by a shipper's association.
+ **/
+ @SEDA(PropertyTerm="192", FormName="Shipper's association",FormDescription="Code assigned by a shipper's association.")
+NUM192,
+/**
+ * EU, European Telecommunications Informatics Services (ETIS)
+ * European Telecommunications Informatics Services is anon-profit cooperative organisation owned by European public network operators, working in the field of information technology.
+ **/
+ @SEDA(PropertyTerm="193", FormName="EU, European Telecommunications Informatics Services (ETIS)",FormDescription="European Telecommunications Informatics Services is anon-profit cooperative organisation owned by European public network operators, working in the field of information technology.")
+NUM193,
+/**
+ * AU, AQIS (Australian Quarantine and Inspection Service)
+ * Australian Quarantine and Inspection Service.
+ **/
+ @SEDA(PropertyTerm="194", FormName="AU, AQIS (Australian Quarantine and Inspection Service)",FormDescription="Australian Quarantine and Inspection Service.")
+NUM194,
+/**
+ * CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)
+ * The Colombian customs organization.
+ **/
+ @SEDA(PropertyTerm="195", FormName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)",FormDescription="The Colombian customs organization.")
+NUM195,
+/**
+ * US, COPAS (Council of Petroleum Accounting Society)
+ * Organization supplying codes of oil field equipment and tubular goods used by joint operators in the petroleum industry.
+ **/
+ @SEDA(PropertyTerm="196", FormName="US, COPAS (Council of Petroleum Accounting Society)",FormDescription="Organization supplying codes of oil field equipment and tubular goods used by joint operators in the petroleum industry.")
+NUM196,
+/**
+ * US, DISA (Data Interchange Standards Association)
+ * The organization maintaining code lists under the administration of the data interchange standards association.
+ **/
+ @SEDA(PropertyTerm="197", FormName="US, DISA (Data Interchange Standards Association)",FormDescription="The organization maintaining code lists under the administration of the data interchange standards association.")
+NUM197,
+/**
+ * CO, Superintendencia Bancaria De Colombia
+ * The organization which assigns identification numbers to financial institutions conducting business in Colombia.
+ **/
+ @SEDA(PropertyTerm="198", FormName="CO, Superintendencia Bancaria De Colombia",FormDescription="The organization which assigns identification numbers to financial institutions conducting business in Colombia.")
+NUM198,
+/**
+ * FR, Direction de la Comptabilite Publique
+ * The French public accounting office.
+ **/
+ @SEDA(PropertyTerm="199", FormName="FR, Direction de la Comptabilite Publique",FormDescription="The French public accounting office.")
+NUM199,
+/**
+ * GS1 Netherlands
+ * Organisation responsible for the GS1 System in The Netherlands.
+ **/
+ @SEDA(PropertyTerm="200", FormName="GS1 Netherlands",FormDescription="Organisation responsible for the GS1 System in The Netherlands.")
+NUM200,
+/**
+ * US, WSSA(Wine and Spirits Shippers Association)
+ * United States based Wine and Spirits Shippers association.
+ **/
+ @SEDA(PropertyTerm="201", FormName="US, WSSA(Wine and Spirits Shippers Association)",FormDescription="United States based Wine and Spirits Shippers association.")
+NUM201,
+/**
+ * PT, Banco de Portugal
+ * Portuguese Central Bank.
+ **/
+ @SEDA(PropertyTerm="202", FormName="PT, Banco de Portugal",FormDescription="Portuguese Central Bank.")
+NUM202,
+/**
+ * FR, GALIA (Groupement pour l'Amelioration des Liaisons dans l'Industrie Automobile)
+ * The national organisation representing France in ODETTE (Organisation for Data Exchanges through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="203", FormName="FR, GALIA (Groupement pour l'Amelioration des Liaisons dans l'Industrie Automobile)",FormDescription="The national organisation representing France in ODETTE (Organisation for Data Exchanges through Tele-Transmission in Europe).")
+NUM203,
+/**
+ * DE, VDA (Verband der Automobilindustrie E.V.)
+ * The national organisation representing Germany in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="204", FormName="DE, VDA (Verband der Automobilindustrie E.V.)",FormDescription="The national organisation representing Germany in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).")
+NUM204,
+/**
+ * IT, ODETTE Italy
+ * The national organisation representing Italy in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="205", FormName="IT, ODETTE Italy",FormDescription="The national organisation representing Italy in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).")
+NUM205,
+/**
+ * NL, ODETTE Netherlands
+ * The national organisation representing Netherlands in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="206", FormName="NL, ODETTE Netherlands",FormDescription="The national organisation representing Netherlands in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).")
+NUM206,
+/**
+ * ES, ODETTE Spain
+ * The national organisation representing Spain in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="207", FormName="ES, ODETTE Spain",FormDescription="The national organisation representing Spain in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).")
+NUM207,
+/**
+ * SE, ODETTE Sweden
+ * The national organisation representing Scandinavian countries in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="208", FormName="SE, ODETTE Sweden",FormDescription="The national organisation representing Scandinavian countries in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).")
+NUM208,
+/**
+ * GB, ODETTE United Kingdom
+ * The national organisation representing UK in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).
+ **/
+ @SEDA(PropertyTerm="209", FormName="GB, ODETTE United Kingdom",FormDescription="The national organisation representing UK in ODETTE (Organisation for Data Exchange through Tele-Transmission in Europe).")
+NUM209,
+/**
+ * EU, EDI for financial, informational, cost, accounting, auditing and social areas (EDIFICAS) - Europe
+ * European association dealing with accounting andauditing.
+ **/
+ @SEDA(PropertyTerm="210", FormName="EU, EDI for financial, informational, cost, accounting, auditing and social areas (EDIFICAS) - Europe",FormDescription="European association dealing with accounting andauditing.")
+NUM210,
+/**
+ * FR, EDI for financial, informational, cost, accounting, auditing and social areas (EDIFICAS) - France
+ * French association dealing with accounting and auditing.
+ **/
+ @SEDA(PropertyTerm="211", FormName="FR, EDI for financial, informational, cost, accounting, auditing and social areas (EDIFICAS) - France",FormDescription="French association dealing with accounting and auditing.")
+NUM211,
+/**
+ * DE, Deutsch Telekom AG
+ * German telecommunication services agency.
+ **/
+ @SEDA(PropertyTerm="212", FormName="DE, Deutsch Telekom AG",FormDescription="German telecommunication services agency.")
+NUM212,
+/**
+ * JP, NACCS Center (Nippon Automated Cargo Clearance System Operations Organization)
+ * NACCS (Nippon Automated Cargo Clearance System Operation Organization) Center is the operations organization of the automated cargo clearance system in Japan.
+ **/
+ @SEDA(PropertyTerm="213", FormName="JP, NACCS Center (Nippon Automated Cargo Clearance System Operations Organization)",FormDescription="NACCS (Nippon Automated Cargo Clearance System Operation Organization) Center is the operations organization of the automated cargo clearance system in Japan.")
+NUM213,
+/**
+ * US, AISI (American Iron and Steel Institute)
+ * American iron and steel institute.
+ **/
+ @SEDA(PropertyTerm="214", FormName="US, AISI (American Iron and Steel Institute)",FormDescription="American iron and steel institute.")
+NUM214,
+/**
+ * AU, APCA (Australian Payments Clearing Association)
+ * Australian association responsible for the management of payment clearing.
+ **/
+ @SEDA(PropertyTerm="215", FormName="AU, APCA (Australian Payments Clearing Association)",FormDescription="Australian association responsible for the management of payment clearing.")
+NUM215,
+/**
+ * US, Department of Labor
+ * To identify the United States department of labour.
+ **/
+ @SEDA(PropertyTerm="216", FormName="US, Department of Labor",FormDescription="To identify the United States department of labour.")
+NUM216,
+/**
+ * US, N.A.I.C. (National Association of Insurance Commissioners)
+ * To identify the United States, National Association of Insurance Commissioners.
+ **/
+ @SEDA(PropertyTerm="217", FormName="US, N.A.I.C. (National Association of Insurance Commissioners)",FormDescription="To identify the United States, National Association of Insurance Commissioners.")
+NUM217,
+/**
+ * GB, The Association of British Insurers
+ * An association that administers code lists on behalf of the UK insurance community.
+ **/
+ @SEDA(PropertyTerm="218", FormName="GB, The Association of British Insurers",FormDescription="An association that administers code lists on behalf of the UK insurance community.")
+NUM218,
+/**
+ * FR, d'ArvA
+ * Value added network administering insurance code lists on behalf of the French insurance community.
+ **/
+ @SEDA(PropertyTerm="219", FormName="FR, d'ArvA",FormDescription="Value added network administering insurance code lists on behalf of the French insurance community.")
+NUM219,
+/**
+ * FI, Finnish tax board
+ * Finnish tax board.
+ **/
+ @SEDA(PropertyTerm="220", FormName="FI, Finnish tax board",FormDescription="Finnish tax board.")
+NUM220,
+/**
+ * FR, CNAMTS (Caisse Nationale de l'Assurance Maladie des Travailleurs Salaries)
+ * The French public institution funding health-care for salaried workers.
+ **/
+ @SEDA(PropertyTerm="221", FormName="FR, CNAMTS (Caisse Nationale de l'Assurance Maladie des Travailleurs Salaries)",FormDescription="The French public institution funding health-care for salaried workers.")
+NUM221,
+/**
+ * DK, Danish National Board of Health
+ * The national authority responsible for the supervision of health activities in Denmark.
+ **/
+ @SEDA(PropertyTerm="222", FormName="DK, Danish National Board of Health",FormDescription="The national authority responsible for the supervision of health activities in Denmark.")
+NUM222,
+/**
+ * DK, Danish Ministry of Home Affairs
+ * The ministry responsible for all interior affairs concerning the Danish people.
+ **/
+ @SEDA(PropertyTerm="223", FormName="DK, Danish Ministry of Home Affairs",FormDescription="The ministry responsible for all interior affairs concerning the Danish people.")
+NUM223,
+/**
+ * US, Aluminum Association
+ * Organization that assigns identification numbers for the aluminum industry.
+ **/
+ @SEDA(PropertyTerm="224", FormName="US, Aluminum Association",FormDescription="Organization that assigns identification numbers for the aluminum industry.")
+NUM224,
+/**
+ * US, CIDX (Chemical Industry Data Exchange)
+ * Organization that assigns identification numbers for the chemical Industry.
+ **/
+ @SEDA(PropertyTerm="225", FormName="US, CIDX (Chemical Industry Data Exchange)",FormDescription="Organization that assigns identification numbers for the chemical Industry.")
+NUM225,
+/**
+ * US, Carbide Manufacturers
+ * Organization that assigns identification numbers for the iron and carbide manufacturing industry.
+ **/
+ @SEDA(PropertyTerm="226", FormName="US, Carbide Manufacturers",FormDescription="Organization that assigns identification numbers for the iron and carbide manufacturing industry.")
+NUM226,
+/**
+ * US, NWDA (National Wholesale Druggist Association)
+ * Organization that assigns identification numbers for the wholesale drug industry.
+ **/
+ @SEDA(PropertyTerm="227", FormName="US, NWDA (National Wholesale Druggist Association)",FormDescription="Organization that assigns identification numbers for the wholesale drug industry.")
+NUM227,
+/**
+ * US, EIA (Electronic Industry Association)
+ * Organization that assigns identification numbers for the electronic industry.
+ **/
+ @SEDA(PropertyTerm="228", FormName="US, EIA (Electronic Industry Association)",FormDescription="Organization that assigns identification numbers for the electronic industry.")
+NUM228,
+/**
+ * US, American Paper Institute
+ * Organization that assigns identification numbers for the American paper industry.
+ **/
+ @SEDA(PropertyTerm="229", FormName="US, American Paper Institute",FormDescription="Organization that assigns identification numbers for the American paper industry.")
+NUM229,
+/**
+ * US, VICS (Voluntary Inter-Industry Commerce Standards)
+ * Organization that assigns identification numbers for the retail industry.
+ **/
+ @SEDA(PropertyTerm="230", FormName="US, VICS (Voluntary Inter-Industry Commerce Standards)",FormDescription="Organization that assigns identification numbers for the retail industry.")
+NUM230,
+/**
+ * Copper and Brass Fabricators Council
+ * Organization that assigns identification numbers for the copper and brass fabricators industry.
+ **/
+ @SEDA(PropertyTerm="231", FormName="Copper and Brass Fabricators Council",FormDescription="Organization that assigns identification numbers for the copper and brass fabricators industry.")
+NUM231,
+/**
+ * GB, Inland Revenue
+ * Code identifying the government department responsible for assessing and collecting revenue consisting of taxes and inland duties in Great Britain.
+ **/
+ @SEDA(PropertyTerm="232", FormName="GB, Inland Revenue",FormDescription="Code identifying the government department responsible for assessing and collecting revenue consisting of taxes and inland duties in Great Britain.")
+NUM232,
+/**
+ * US, OMB (Office of Management and Budget)
+ * Codes are assigned by the United States Office of Management and Budget.
+ **/
+ @SEDA(PropertyTerm="233", FormName="US, OMB (Office of Management and Budget)",FormDescription="Codes are assigned by the United States Office of Management and Budget.")
+NUM233,
+/**
+ * DE, Siemens AG
+ * Siemens AG, Germany.
+ **/
+ @SEDA(PropertyTerm="234", FormName="DE, Siemens AG",FormDescription="Siemens AG, Germany.")
+NUM234,
+/**
+ * AU, Tradegate (Electronic Commerce Australia)
+ * Australian industry body coordinating codes for use inlocal and international commerce and trade.
+ **/
+ @SEDA(PropertyTerm="235", FormName="AU, Tradegate (Electronic Commerce Australia)",FormDescription="Australian industry body coordinating codes for use inlocal and international commerce and trade.")
+NUM235,
+/**
+ * US, United States Postal Service (USPS)
+ * Code specifying the official postal service of the United States.
+ **/
+ @SEDA(PropertyTerm="236", FormName="US, United States Postal Service (USPS)",FormDescription="Code specifying the official postal service of the United States.")
+NUM236,
+/**
+ * US, United States health industry
+ * Code assigned by the United States health industry.
+ **/
+ @SEDA(PropertyTerm="237", FormName="US, United States health industry",FormDescription="Code assigned by the United States health industry.")
+NUM237,
+/**
+ * US, TDCC (Transportation Data Coordinating Committee)
+ * United States Transportation Data Coordinating Committee.
+ **/
+ @SEDA(PropertyTerm="238", FormName="US, TDCC (Transportation Data Coordinating Committee)",FormDescription="United States Transportation Data Coordinating Committee.")
+NUM238,
+/**
+ * US, HL7 (Health Level 7)
+ * United States, electronic data interchange standards-making organization, Health Level 7.
+ **/
+ @SEDA(PropertyTerm="239", FormName="US, HL7 (Health Level 7)",FormDescription="United States, electronic data interchange standards-making organization, Health Level 7.")
+NUM239,
+/**
+ * US, CHIPS (Clearing House Interbank Payment Systems)
+ * United States financial clearing house.
+ **/
+ @SEDA(PropertyTerm="240", FormName="US, CHIPS (Clearing House Interbank Payment Systems)",FormDescription="United States financial clearing house.")
+NUM240,
+/**
+ * PT, SIBS (Sociedade Interbancaria de Servicos)
+ * Portuguese automated clearing house.
+ **/
+ @SEDA(PropertyTerm="241", FormName="PT, SIBS (Sociedade Interbancaria de Servicos)",FormDescription="Portuguese automated clearing house.")
+NUM241,
+/**
+ * US, Department of Health and Human Services
+ * United States Department of Health and Human Services.
+ **/
+ @SEDA(PropertyTerm="244", FormName="US, Department of Health and Human Services",FormDescription="United States Department of Health and Human Services.")
+NUM244,
+/**
+ * GS1 Denmark
+ * Organisation responsible for the GS1 System in Denmark.
+ **/
+ @SEDA(PropertyTerm="245", FormName="GS1 Denmark",FormDescription="Organisation responsible for the GS1 System in Denmark.")
+NUM245,
+/**
+ * GS1 Germany
+ * Organisation responsible for the GS1 System in Germany.
+ **/
+ @SEDA(PropertyTerm="246", FormName="GS1 Germany",FormDescription="Organisation responsible for the GS1 System in Germany.")
+NUM246,
+/**
+ * US, HBICC (Health Industry Business Communication Council)
+ * Code identifying the United States HIBCC (Health Industry Business Communication Council).
+ **/
+ @SEDA(PropertyTerm="247", FormName="US, HBICC (Health Industry Business Communication Council)",FormDescription="Code identifying the United States HIBCC (Health Industry Business Communication Council).")
+NUM247,
+/**
+ * US, ASTM (American Society of Testing and Materials)
+ * A not-for-profit organization that provides a forum forproducers, users, ultimate consumers, and those having ageneral interest (representatives of government andacademia) to meet on common ground and write standards for materials, products, systems, and services.
+ **/
+ @SEDA(PropertyTerm="248", FormName="US, ASTM (American Society of Testing and Materials)",FormDescription="A not-for-profit organization that provides a forum forproducers, users, ultimate consumers, and those having ageneral interest (representatives of government andacademia) to meet on common ground and write standards for materials, products, systems, and services.")
+NUM248,
+/**
+ * IP (Institute of Petroleum)
+ * An independent European centre for the advancement and dissemination of technical, economic and professional knowledge relating to the international oil and gas industry.
+ **/
+ @SEDA(PropertyTerm="249", FormName="IP (Institute of Petroleum)",FormDescription="An independent European centre for the advancement and dissemination of technical, economic and professional knowledge relating to the international oil and gas industry.")
+NUM249,
+/**
+ * US, UOP (Universal Oil Products)
+ * An United States based organization that provides products, services and technology primarily in the areas of petroleum refining, olefins, aromatics, and gas processing.
+ **/
+ @SEDA(PropertyTerm="250", FormName="US, UOP (Universal Oil Products)",FormDescription="An United States based organization that provides products, services and technology primarily in the areas of petroleum refining, olefins, aromatics, and gas processing.")
+NUM250,
+/**
+ * AU, HIC (Health Insurance Commission)
+ * Australian agency responsible for administering the Health Insurance Act.
+ **/
+ @SEDA(PropertyTerm="251", FormName="AU, HIC (Health Insurance Commission)",FormDescription="Australian agency responsible for administering the Health Insurance Act.")
+NUM251,
+/**
+ * AU, AIHW (Australian Institute of Health and Welfare)
+ * Australian statutory authority responsible for the national collection of health related statistics and health related data definitions.
+ **/
+ @SEDA(PropertyTerm="252", FormName="AU, AIHW (Australian Institute of Health and Welfare)",FormDescription="Australian statutory authority responsible for the national collection of health related statistics and health related data definitions.")
+NUM252,
+/**
+ * AU, NCCH (National Centre for Classification in Health)
+ * Australian national authority responsible for healthcare classifications.
+ **/
+ @SEDA(PropertyTerm="253", FormName="AU, NCCH (National Centre for Classification in Health)",FormDescription="Australian national authority responsible for healthcare classifications.")
+NUM253,
+/**
+ * AU, DOH (Australian Department of Health)
+ * Australian government department responsible for administration of health policy.
+ **/
+ @SEDA(PropertyTerm="254", FormName="AU, DOH (Australian Department of Health)",FormDescription="Australian government department responsible for administration of health policy.")
+NUM254,
+/**
+ * AU, ADA (Australian Dental Association)
+ * Industry association responsible for the classification of dental services in Australia.
+ **/
+ @SEDA(PropertyTerm="255", FormName="AU, ADA (Australian Dental Association)",FormDescription="Industry association responsible for the classification of dental services in Australia.")
+NUM255,
+/**
+ * US, AAR (Association of American Railroads)
+ * The official United States organization of the railroads in North America.
+ **/
+ @SEDA(PropertyTerm="256", FormName="US, AAR (Association of American Railroads)",FormDescription="The official United States organization of the railroads in North America.")
+NUM256,
+/**
+ * ECCMA (Electronic Commerce Code Management Association)
+ * The Electronic Commerce Code Management Association, a not for profit membership organization, which manages codes used in electronic commerce.
+ **/
+ @SEDA(PropertyTerm="257", FormName="ECCMA (Electronic Commerce Code Management Association)",FormDescription="The Electronic Commerce Code Management Association, a not for profit membership organization, which manages codes used in electronic commerce.")
+NUM257,
+/**
+ * JP, Japanese Ministry of Transport
+ * Japanese Ministry of Transport.
+ **/
+ @SEDA(PropertyTerm="258", FormName="JP, Japanese Ministry of Transport",FormDescription="Japanese Ministry of Transport.")
+NUM258,
+/**
+ * JP, Japanese Maritime Safety Agency
+ * Japanese Maritime Safety Agency.
+ **/
+ @SEDA(PropertyTerm="259", FormName="JP, Japanese Maritime Safety Agency",FormDescription="Japanese Maritime Safety Agency.")
+NUM259,
+/**
+ * Ediel Nordic forum
+ * A code to identify Ediel Nordic forum, which is anorganization standardizing the use of EDI between the participants in the Nordic power market.
+ **/
+ @SEDA(PropertyTerm="260", FormName="Ediel Nordic forum",FormDescription="A code to identify Ediel Nordic forum, which is anorganization standardizing the use of EDI between the participants in the Nordic power market.")
+NUM260,
+/**
+ * EEG7, European Expert Group 7 (Insurance)
+ * European Expert Group 7 for Insurance.
+ **/
+ @SEDA(PropertyTerm="261", FormName="EEG7, European Expert Group 7 (Insurance)",FormDescription="European Expert Group 7 for Insurance.")
+NUM261,
+/**
+ * DE, GDV (Gesamtverband der Deutschen Versicherungswirtschaft e.V.)
+ * Gesamtverband der Deutschen Versicherungswirtschaft e.V. (German Insurance Association).
+ **/
+ @SEDA(PropertyTerm="262", FormName="DE, GDV (Gesamtverband der Deutschen Versicherungswirtschaft e.V.)",FormDescription="Gesamtverband der Deutschen Versicherungswirtschaft e.V. (German Insurance Association).")
+NUM262,
+/**
+ * CA, CSIO (Centre for Study of Insurance Operations)
+ * The Centre for Study of Insurance Operations (CSIO) in Canada.
+ **/
+ @SEDA(PropertyTerm="263", FormName="CA, CSIO (Centre for Study of Insurance Operations)",FormDescription="The Centre for Study of Insurance Operations (CSIO) in Canada.")
+NUM263,
+/**
+ * FR, AGF (Assurances Generales de France)
+ * Code lists are administered by Assurances Generales de France (AGF).
+ **/
+ @SEDA(PropertyTerm="264", FormName="FR, AGF (Assurances Generales de France)",FormDescription="Code lists are administered by Assurances Generales de France (AGF).")
+NUM264,
+/**
+ * SE, Central bank
+ * Swedish central bank.
+ **/
+ @SEDA(PropertyTerm="265", FormName="SE, Central bank",FormDescription="Swedish central bank.")
+NUM265,
+/**
+ * US, DoA (Department of Agriculture)
+ * Department of Agriculture, United States federal agency.
+ **/
+ @SEDA(PropertyTerm="266", FormName="US, DoA (Department of Agriculture)",FormDescription="Department of Agriculture, United States federal agency.")
+NUM266,
+/**
+ * RU, Central Bank of Russia
+ * Central bank of Russia.
+ **/
+ @SEDA(PropertyTerm="267", FormName="RU, Central Bank of Russia",FormDescription="Central bank of Russia.")
+NUM267,
+/**
+ * FR, DGI (Direction Generale des Impots)
+ * French taxation authority.
+ **/
+ @SEDA(PropertyTerm="268", FormName="FR, DGI (Direction Generale des Impots)",FormDescription="French taxation authority.")
+NUM268,
+/**
+ * GRE (Reference Group of Experts)
+ * An international association that administers code listson behalf of business credit information users and providers.
+ **/
+ @SEDA(PropertyTerm="269", FormName="GRE (Reference Group of Experts)",FormDescription="An international association that administers code listson behalf of business credit information users and providers.")
+NUM269,
+/**
+ * Concord EDI group
+ * An organisation of international transport equipment leasing companies and transport equipment repair providers responsible for promoting the use of EDI standards and standard business terms.
+ **/
+ @SEDA(PropertyTerm="270", FormName="Concord EDI group",FormDescription="An organisation of international transport equipment leasing companies and transport equipment repair providers responsible for promoting the use of EDI standards and standard business terms.")
+NUM270,
+/**
+ * InterContainer InterFrigo
+ * European railway associated organisation involved in the transport of containers by rail.
+ **/
+ @SEDA(PropertyTerm="271", FormName="InterContainer InterFrigo",FormDescription="European railway associated organisation involved in the transport of containers by rail.")
+NUM271,
+/**
+ * Joint Automotive Industry agency
+ * The Joint Automotive Industry (JAI) agency is in chargeof code lists that are common to automotive industry groups.
+ **/
+ @SEDA(PropertyTerm="272", FormName="Joint Automotive Industry agency",FormDescription="The Joint Automotive Industry (JAI) agency is in chargeof code lists that are common to automotive industry groups.")
+NUM272,
+/**
+ * CH, SCC (Swiss Chambers of Commerce)
+ * Swiss Chambers of Commerce.
+ **/
+ @SEDA(PropertyTerm="273", FormName="CH, SCC (Swiss Chambers of Commerce)",FormDescription="Swiss Chambers of Commerce.")
+NUM273,
+/**
+ * ITIGG (International Transport Implementation Guidelines Group)
+ * ITIGG is the UN/EDIFACT transport message development group's organisation responsible for the issuance ofglobally harmonised transport-related codes.
+ **/
+ @SEDA(PropertyTerm="274", FormName="ITIGG (International Transport Implementation Guidelines Group)",FormDescription="ITIGG is the UN/EDIFACT transport message development group's organisation responsible for the issuance ofglobally harmonised transport-related codes.")
+NUM274,
+/**
+ * ES, Banco de España
+ * The Spanish central bank.
+ **/
+ @SEDA(PropertyTerm="275", FormName="ES, Banco de España",FormDescription="The Spanish central bank.")
+NUM275,
+/**
+ * Assigned by Port Community
+ * Codes assigned by the Port Community.
+ **/
+ @SEDA(PropertyTerm="276", FormName="Assigned by Port Community",FormDescription="Codes assigned by the Port Community.")
+NUM276,
+/**
+ * BIGNet (Business Information Group Network)
+ * Identifies the Business Information Group Network, an international trade alliance that administers code listson behalf of business information users and providers.
+ **/
+ @SEDA(PropertyTerm="277", FormName="BIGNet (Business Information Group Network)",FormDescription="Identifies the Business Information Group Network, an international trade alliance that administers code listson behalf of business information users and providers.")
+NUM277,
+/**
+ * Eurogate
+ * An international trade alliance that administers codelists on behalf of business information users andproviders.
+ **/
+ @SEDA(PropertyTerm="278", FormName="Eurogate",FormDescription="An international trade alliance that administers codelists on behalf of business information users andproviders.")
+NUM278,
+/**
+ * NL, Graydon
+ * Identifies the Graydon Corporation in the Netherlands.
+ **/
+ @SEDA(PropertyTerm="279", FormName="NL, Graydon",FormDescription="Identifies the Graydon Corporation in the Netherlands.")
+NUM279,
+/**
+ * FR, Euler
+ * A company in France responsible for assigning codes in the credit insurance industry.
+ **/
+ @SEDA(PropertyTerm="280", FormName="FR, Euler",FormDescription="A company in France responsible for assigning codes in the credit insurance industry.")
+NUM280,
+/**
+ * GS1 Belgium and Luxembourg
+ * Organisation responsible for the GS1 System in Belgium and Luxembourg.
+ **/
+ @SEDA(PropertyTerm="281", FormName="GS1 Belgium and Luxembourg",FormDescription="Organisation responsible for the GS1 System in Belgium and Luxembourg.")
+NUM281,
+/**
+ * DE, Creditreform International e.V.
+ * Identifies the Creditreform International e.V. inGermany (e.V.: eingetragener Verein).
+ **/
+ @SEDA(PropertyTerm="282", FormName="DE, Creditreform International e.V.",FormDescription="Identifies the Creditreform International e.V. inGermany (e.V.: eingetragener Verein).")
+NUM282,
+/**
+ * DE, Hermes Kreditversicherungs AG
+ * Identifies the Hermes Kreditversicherungs AG in Germany (AG: Aktiengesellschaft).
+ **/
+ @SEDA(PropertyTerm="283", FormName="DE, Hermes Kreditversicherungs AG",FormDescription="Identifies the Hermes Kreditversicherungs AG in Germany (AG: Aktiengesellschaft).")
+NUM283,
+/**
+ * TW, Taiwanese Bankers' Association
+ * Code identifying the organization responsible for the issuance of bank related codes in Taiwan.
+ **/
+ @SEDA(PropertyTerm="284", FormName="TW, Taiwanese Bankers' Association",FormDescription="Code identifying the organization responsible for the issuance of bank related codes in Taiwan.")
+NUM284,
+/**
+ * ES, Asociación Española de Banca
+ * Code identifying the organization responsible for the issuance of bank related codes in Spain.
+ **/
+ @SEDA(PropertyTerm="285", FormName="ES, Asociación Española de Banca",FormDescription="Code identifying the organization responsible for the issuance of bank related codes in Spain.")
+NUM285,
+/**
+ * SE, TCO (Tjänstemännes Central Organisation)
+ * The Swedish Confederation of Professional Employees.
+ **/
+ @SEDA(PropertyTerm="286", FormName="SE, TCO (Tjänstemännes Central Organisation)",FormDescription="The Swedish Confederation of Professional Employees.")
+NUM286,
+/**
+ * DE, FORTRAS (Forschungs- und Entwicklungsgesellschaft für Transportwesen GMBH)
+ * German research and development institute for transportmatters.
+ **/
+ @SEDA(PropertyTerm="287", FormName="DE, FORTRAS (Forschungs- und Entwicklungsgesellschaft für Transportwesen GMBH)",FormDescription="German research and development institute for transportmatters.")
+NUM287,
+/**
+ * OSJD (Organizacija Sotrudnichestva Zeleznih Dorog)
+ * Code identifying OSJD, Organisation for Co-operation of Railways.
+ **/
+ @SEDA(PropertyTerm="288", FormName="OSJD (Organizacija Sotrudnichestva Zeleznih Dorog)",FormDescription="Code identifying OSJD, Organisation for Co-operation of Railways.")
+NUM288,
+/**
+ * JP,JIPDEC/ECPC (Japan Information Processing Development Center / Electronic Commerce Promotion Center)
+ * JIPDEC/ECPC is a nonprofit foundation for promoting electronic commerce, and is the registration agency ofthe standard company code in Japan.
+ **/
+ @SEDA(PropertyTerm="289", FormName="JP,JIPDEC/ECPC (Japan Information Processing Development Center / Electronic Commerce Promotion Center)",FormDescription="JIPDEC/ECPC is a nonprofit foundation for promoting electronic commerce, and is the registration agency ofthe standard company code in Japan.")
+NUM289,
+/**
+ * JP, JAMA
+ * Japan Automobile Manufacturers Association, Inc.
+ **/
+ @SEDA(PropertyTerm="290", FormName="JP, JAMA",FormDescription="Japan Automobile Manufacturers Association, Inc.")
+NUM290,
+/**
+ * JP, JAPIA
+ * Japan Auto Parts Industries Association.
+ **/
+ @SEDA(PropertyTerm="291", FormName="JP, JAPIA",FormDescription="Japan Auto Parts Industries Association.")
+NUM291,
+/**
+ * FI, TIEKE The Information Technology Development Centre of Finland
+ * The national organization representing Finland inelectronic data interchange for trade and industry.
+ **/
+ @SEDA(PropertyTerm="292", FormName="FI, TIEKE The Information Technology Development Centre of Finland",FormDescription="The national organization representing Finland inelectronic data interchange for trade and industry.")
+NUM292,
+/**
+ * DE, BDEW (Bundesverband der Energie- und Wasserwirtschaft)
+ * The Federal Association of Energy and Water (BDEW) is the trade association of the German industries for natural gas, electricity supply, long-distance heating and water supply.
+ **/
+ @SEDA(PropertyTerm="293", FormName="DE, BDEW (Bundesverband der Energie- und Wasserwirtschaft)",FormDescription="The Federal Association of Energy and Water (BDEW) is the trade association of the German industries for natural gas, electricity supply, long-distance heating and water supply.")
+NUM293,
+/**
+ * GS1 Austria
+ * Organisation responsible for the GS1 System in Austria.
+ **/
+ @SEDA(PropertyTerm="294", FormName="GS1 Austria",FormDescription="Organisation responsible for the GS1 System in Austria.")
+NUM294,
+/**
+ * AU, Australian Therapeutic Goods Administration
+ * Austrialian administration responsible for the regulation of the rapeutic goods in Australia.
+ **/
+ @SEDA(PropertyTerm="295", FormName="AU, Australian Therapeutic Goods Administration",FormDescription="Austrialian administration responsible for the regulation of the rapeutic goods in Australia.")
+NUM295,
+/**
+ * ITU (International Telecommunication Union)
+ * International Telecommunication Union.
+ **/
+ @SEDA(PropertyTerm="296", FormName="ITU (International Telecommunication Union)",FormDescription="International Telecommunication Union.")
+NUM296,
+/**
+ * IT, Ufficio IVA
+ * Ufficio responsabile gestione partite IVA is the ItalianInstitute issuing VAT registration numbers.
+ **/
+ @SEDA(PropertyTerm="297", FormName="IT, Ufficio IVA",FormDescription="Ufficio responsabile gestione partite IVA is the ItalianInstitute issuing VAT registration numbers.")
+NUM297,
+/**
+ * GS1 Spain
+ * Organisation responsible for the GS1 System in Spain.
+ **/
+ @SEDA(PropertyTerm="298", FormName="GS1 Spain",FormDescription="Organisation responsible for the GS1 System in Spain.")
+NUM298,
+/**
+ * BE, Seagha
+ * Organisation responsible for assigning maritime related identification numbers in Belgian ports.
+ **/
+ @SEDA(PropertyTerm="299", FormName="BE, Seagha",FormDescription="Organisation responsible for assigning maritime related identification numbers in Belgian ports.")
+NUM299,
+/**
+ * SE, Swedish International Freight Association
+ * Swedish International Freight Association (SIFA).
+ **/
+ @SEDA(PropertyTerm="300", FormName="SE, Swedish International Freight Association",FormDescription="Swedish International Freight Association (SIFA).")
+NUM300,
+/**
+ * DE, BauDatenbank GmbH
+ * The organisation responsible for issuing and maintaining commodity codes for use in the German constructionindustry.
+ **/
+ @SEDA(PropertyTerm="301", FormName="DE, BauDatenbank GmbH",FormDescription="The organisation responsible for issuing and maintaining commodity codes for use in the German constructionindustry.")
+NUM301,
+/**
+ * DE, Bundesverband des Deutschen Textileinzelhandels e.V.
+ * The organisation responsible for issuing and maintaining commodity codes for use in the German textile industry.
+ **/
+ @SEDA(PropertyTerm="302", FormName="DE, Bundesverband des Deutschen Textileinzelhandels e.V.",FormDescription="The organisation responsible for issuing and maintaining commodity codes for use in the German textile industry.")
+NUM302,
+/**
+ * GB, Trade Service Information Ltd (TSI)
+ * A United Kingdom authority responsible for the allocation of identification codes to products in thebuilding sector.
+ **/
+ @SEDA(PropertyTerm="303", FormName="GB, Trade Service Information Ltd (TSI)",FormDescription="A United Kingdom authority responsible for the allocation of identification codes to products in thebuilding sector.")
+NUM303,
+/**
+ * DE, Bundesverband Deutscher Heimwerker-, Bau- und Gartenfachmaerkte e.V.
+ * The organisation responsible for issuing and maintaining commodity codes for use in German stores for do-it-yourself, construction and garden articles.
+ **/
+ @SEDA(PropertyTerm="304", FormName="DE, Bundesverband Deutscher Heimwerker-, Bau- und Gartenfachmaerkte e.V.",FormDescription="The organisation responsible for issuing and maintaining commodity codes for use in German stores for do-it-yourself, construction and garden articles.")
+NUM304,
+/**
+ * ETSO (European Transmission System Operator)
+ * The European organisation representing the electricalindustry transmission system operators.
+ **/
+ @SEDA(PropertyTerm="305", FormName="ETSO (European Transmission System Operator)",FormDescription="The European organisation representing the electricalindustry transmission system operators.")
+NUM305,
+/**
+ * SMDG (Ship-planning Message Design Group)
+ * User Group for Shipping Lines and Container Terminals.
+ **/
+ @SEDA(PropertyTerm="306", FormName="SMDG (Ship-planning Message Design Group)",FormDescription="User Group for Shipping Lines and Container Terminals.")
+NUM306,
+/**
+ * JP, Ministry of Justice
+ * Japanese Ministry of Justice.
+ **/
+ @SEDA(PropertyTerm="307", FormName="JP, Ministry of Justice",FormDescription="Japanese Ministry of Justice.")
+NUM307,
+/**
+ * DE, FORTRAS (Forschungs- und Entwicklungsgesellschaft fur Transportwesen mbH)
+ * Research and development institute for transportmatters.
+ **/
+ @SEDA(PropertyTerm="308", FormName="DE, FORTRAS (Forschungs- und Entwicklungsgesellschaft fur Transportwesen mbH)",FormDescription="Research and development institute for transportmatters.")
+NUM308,
+/**
+ * JP, JASTPRO (Japan Association for Simplification of International Trade Procedures)
+ * JASTPRO is a nonprofit organization for simplifying international trade procedures and is the responsible agency for the registration of the "Japan Exporters and Importers Standard Code".
+ **/
+ @SEDA(PropertyTerm="309", FormName="JP, JASTPRO (Japan Association for Simplification of International Trade Procedures)",FormDescription="JASTPRO is a nonprofit organization for simplifying international trade procedures and is the responsible agency for the registration of the \"Japan Exporters and Importers Standard Code\".")
+NUM309,
+/**
+ * DE, SAP AG (Systeme, Anwendungen und Produkte)
+ * Systeme, Anwendungen und Produkte (German software company).
+ **/
+ @SEDA(PropertyTerm="310", FormName="DE, SAP AG (Systeme, Anwendungen und Produkte)",FormDescription=" Systeme, Anwendungen und Produkte (German software company).")
+NUM310,
+/**
+ * JP, TDB (Teikoku Databank, Ltd.)
+ * TDB (Teikoku Databank, Ltd.) conducts corporate credit research and maintains company codes based on research activities for supporting business transactions in Japan.
+ **/
+ @SEDA(PropertyTerm="311", FormName="JP, TDB (Teikoku Databank, Ltd.)",FormDescription="TDB (Teikoku Databank, Ltd.) conducts corporate credit research and maintains company codes based on research activities for supporting business transactions in Japan.")
+NUM311,
+/**
+ * FR, AGRO EDI EUROPE
+ * French association developing EDI in the agricultural and food processing sectors.
+ **/
+ @SEDA(PropertyTerm="312", FormName="FR, AGRO EDI EUROPE",FormDescription="French association developing EDI in the agricultural and food processing sectors.")
+NUM312,
+/**
+ * FR, Groupement National Interprofessionnel des Semences et Plants
+ * French organization of seed and plant professionals responsible for assigning codes in the botanical seed sectors.
+ **/
+ @SEDA(PropertyTerm="313", FormName="FR, Groupement National Interprofessionnel des Semences et Plants",FormDescription="French organization of seed and plant professionals responsible for assigning codes in the botanical seed sectors.")
+NUM313,
+/**
+ * OAGi (Open Applications Group, Incorporated)
+ * Open Applications Group, Incorporated.
+ **/
+ @SEDA(PropertyTerm="314", FormName="OAGi (Open Applications Group, Incorporated)",FormDescription="Open Applications Group, Incorporated.")
+NUM314,
+/**
+ * US, STAR (Standards for Technology in Automotive Retail)
+ * Standards for Technology in Automotive Retail.
+ **/
+ @SEDA(PropertyTerm="315", FormName="US, STAR (Standards for Technology in Automotive Retail)",FormDescription="Standards for Technology in Automotive Retail.")
+NUM315,
+/**
+ * GS1 Finland
+ * Organisation responsible for the GS1 system in Finland.
+ **/
+ @SEDA(PropertyTerm="316", FormName="GS1 Finland",FormDescription="Organisation responsible for the GS1 system in Finland.")
+NUM316,
+/**
+ * GS1 Brazil
+ * Organisation responsible for the GS1 system in Brazil.
+ **/
+ @SEDA(PropertyTerm="317", FormName="GS1 Brazil",FormDescription="Organisation responsible for the GS1 system in Brazil.")
+NUM317,
+/**
+ * IETF (Internet Engineering Task Force)
+ * IETF - Internet Engineering Task Force.
+ **/
+ @SEDA(PropertyTerm="318", FormName="IETF (Internet Engineering Task Force)",FormDescription="IETF - Internet Engineering Task Force.")
+NUM318,
+/**
+ * FR, GTF
+ * Group of Terrestrial Freight Forwarders.
+ **/
+ @SEDA(PropertyTerm="319", FormName="FR, GTF",FormDescription="Group of Terrestrial Freight Forwarders.")
+NUM319,
+/**
+ * DK, Danish National IT and Telcom Agency (ITA)
+ * Code specifying the Danish National IT and Telcom Agency as codelist responsible Agency.
+ **/
+ @SEDA(PropertyTerm="320", FormName="DK, Danish National IT and Telcom Agency (ITA)",FormDescription="Code specifying the Danish National IT and Telcom Agency as codelist responsible Agency.")
+NUM320,
+/**
+ * EASEE-Gas (European Association for the Streamlining of Energy Exchange for gas)
+ * The European organization whose working group Edig@s is responsible for the management of gas related codes and messages.
+ **/
+ @SEDA(PropertyTerm="321", FormName="EASEE-Gas (European Association for the Streamlining of Energy Exchange for gas)",FormDescription="The European organization whose working group Edig@s is responsible for the management of gas related codes and messages.")
+NUM321,
+/**
+ * IS, ICEPRO
+ * Icelandic committee of e-commerce and trade procedures.
+ **/
+ @SEDA(PropertyTerm="322", FormName="IS, ICEPRO",FormDescription="Icelandic committee of e-commerce and trade procedures.")
+NUM322,
+/**
+ * PROTECT
+ * A group of European ports, national competent authorities and port community systems exchanging
+information about dangerous goods and vessel movements.
+ **/
+ @SEDA(PropertyTerm="323", FormName="PROTECT",FormDescription="A group of European ports, national competent authorities and port community systems exchanginginformation about dangerous goods and vessel movements.")
+NUM323,
+/**
+ * GS1 Ireland
+ * Organisation responsible for the GS1 system in Ireland.
+ **/
+ @SEDA(PropertyTerm="324", FormName="GS1 Ireland",FormDescription="Organisation responsible for the GS1 system in Ireland.")
+NUM324,
+/**
+ * GS1 Russia
+ * Organisation responsible for the GS1 system in Russia.
+ **/
+ @SEDA(PropertyTerm="325", FormName="GS1 Russia",FormDescription="Organisation responsible for the GS1 system in Russia.")
+NUM325,
+/**
+ * GS1 Poland
+ * Organisation responsible for the GS1 system in Poland.
+ **/
+ @SEDA(PropertyTerm="326", FormName="GS1 Poland",FormDescription="Organisation responsible for the GS1 system in Poland.")
+NUM326,
+/**
+ * GS1 Estonia
+ * Organisation responsible for the GS1 system in Estonia.
+ **/
+ @SEDA(PropertyTerm="327", FormName="GS1 Estonia",FormDescription="Organisation responsible for the GS1 system in Estonia.")
+NUM327,
+/**
+ * Assigned by ultimate recipient of the message
+ * A code assigned by the party who is the ultimate recipient of the message.
+ **/
+ @SEDA(PropertyTerm="328", FormName="Assigned by ultimate recipient of the message",FormDescription="A code assigned by the party who is the ultimate recipient of the message.")
+NUM328,
+/**
+ * Assigned by loading dock operator
+ * The code is assigned by the operator of a loading dock.
+ **/
+ @SEDA(PropertyTerm="329", FormName="Assigned by loading dock operator",FormDescription="The code is assigned by the operator of a loading dock.")
+NUM329,
+/**
+ * ebIX (European forum for energy Business Information eXchange)
+ * A code to identify the European forum for energy Business Information eXchange, which is an organization standardizing the use of EDI between the participants in the European energy market.
+ **/
+ @SEDA(PropertyTerm="330", FormName="ebIX (European forum for energy Business Information eXchange)",FormDescription="A code to identify the European forum for energy Business Information eXchange, which is an organization standardizing the use of EDI between the participants in the European energy market.")
+NUM330,
+/**
+ * DE, DVGW (Service and Consult GmbH)
+ * Subsidiary of DVGW German Technical and Scientific Association for Gas and Water. As a technical standardization organization, the DVGW promotes technical standards for the production, transportation, distribution and use of gas and drinking water in the Federal Republic of Germany
+ **/
+ @SEDA(PropertyTerm="332", FormName="DE, DVGW (Service and Consult GmbH)",FormDescription="Subsidiary of DVGW German Technical and Scientific Association for Gas and Water. As a technical standardization organization, the DVGW promotes technical standards for the production, transportation, distribution and use of gas and drinking water in the Federal Republic of Germany")
+NUM332,
+/**
+ * Mutually defined
+ * A code assigned within a code list to be used on an interim basis and as defined among trading partners until a precise code can be assigned to the code list.
+ **/
+ @SEDA(PropertyTerm="ZZZ", FormName="Mutually defined",FormDescription="A code assigned within a code list to be used on an interim basis and as defined among trading partners until a precise code can be assigned to the code list.")
+NUMZZZ,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des codes pour le sort final
+ *
+**/
+
+public enum AppraisalCodeType {
+
+/**
+ * Conserver
+ *
+ **/
+ @SEDA(PropertyTerm="conserver", FormName="Conserver",FormDescription="")
+CONSERVER,
+/**
+ * Détruire
+ *
+ **/
+ @SEDA(PropertyTerm="detruire", FormName="Détruire",FormDescription="")
+DETRUIRE,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+public enum BooleanCodeType {
+
+/**
+ * Conserver
+ *
+ **/
+ @SEDA(PropertyTerm="true", FormName="Vrai",FormDescription="")
+TRUE,
+/**
+ * Détruire
+ *
+ **/
+ @SEDA(PropertyTerm="false", FormName="Faux",FormDescription="")
+FALSE,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum CharacterSetCodeContentType {
+
+/**
+ * ANSI_X3.4-1968
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="3", FormName="ANSI_X3.4-1968",FormDescription="RFC1345,KXS2")
+NUM3,
+/**
+ * ISO_8859-1:1987
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="4", FormName="ISO_8859-1:1987",FormDescription="RFC1345,KXS2")
+NUM4,
+/**
+ * ISO_8859-2:1987
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="5", FormName="ISO_8859-2:1987",FormDescription="RFC1345,KXS2")
+NUM5,
+/**
+ * ISO_8859-3:1988
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="6", FormName="ISO_8859-3:1988",FormDescription="RFC1345,KXS2")
+NUM6,
+/**
+ * ISO_8859-4:1988
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="7", FormName="ISO_8859-4:1988",FormDescription="RFC1345,KXS2")
+NUM7,
+/**
+ * ISO_8859-5:1988
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="8", FormName="ISO_8859-5:1988",FormDescription="RFC1345,KXS2")
+NUM8,
+/**
+ * ISO_8859-6:1987
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="9", FormName="ISO_8859-6:1987",FormDescription="RFC1345,KXS2")
+NUM9,
+/**
+ * ISO_8859-7:1987
+ * RFC1947,RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="10", FormName="ISO_8859-7:1987",FormDescription="RFC1947,RFC1345,KXS2")
+NUM10,
+/**
+ * ISO_8859-8:1988
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="11", FormName="ISO_8859-8:1988",FormDescription="RFC1345,KXS2")
+NUM11,
+/**
+ * ISO_8859-9:1989
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="12", FormName="ISO_8859-9:1989",FormDescription="RFC1345,KXS2")
+NUM12,
+/**
+ * ISO-8859-10
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="13", FormName="ISO-8859-10",FormDescription="RFC1345,KXS2")
+NUM13,
+/**
+ * ISO_6937-2-add
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="14", FormName="ISO_6937-2-add",FormDescription="RFC1345,KXS2")
+NUM14,
+/**
+ * JIS_X0201
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="15", FormName="JIS_X0201",FormDescription="RFC1345,KXS2")
+NUM15,
+/**
+ * JIS_Encoding
+ *
+ **/
+ @SEDA(PropertyTerm="16", FormName="JIS_Encoding",FormDescription="")
+NUM16,
+/**
+ * Shift_JIS
+ *
+ **/
+ @SEDA(PropertyTerm="17", FormName="Shift_JIS",FormDescription="")
+NUM17,
+/**
+ * Extended_UNIX_Code_Packed_Format_for_Japanese
+ *
+ **/
+ @SEDA(PropertyTerm="18", FormName="Extended_UNIX_Code_Packed_Format_for_Japanese",FormDescription="")
+NUM18,
+/**
+ * Extended_UNIX_Code_Fixed_Width_for_Japanese
+ *
+ **/
+ @SEDA(PropertyTerm="19", FormName="Extended_UNIX_Code_Fixed_Width_for_Japanese",FormDescription="")
+NUM19,
+/**
+ * BS_4730
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="20", FormName="BS_4730 ",FormDescription="RFC1345,KXS2")
+NUM20,
+/**
+ * SEN_850200_C
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="21", FormName="SEN_850200_C",FormDescription="RFC1345,KXS2")
+NUM21,
+/**
+ * IT
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="22", FormName="IT",FormDescription="RFC1345,KXS2")
+NUM22,
+/**
+ * ES
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="23", FormName="ES",FormDescription="RFC1345,KXS2")
+NUM23,
+/**
+ * DIN_66003
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="24", FormName="DIN_66003 ",FormDescription="RFC1345,KXS2")
+NUM24,
+/**
+ * NS_4551-1
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="25", FormName="NS_4551-1 ",FormDescription="RFC1345,KXS2")
+NUM25,
+/**
+ * NF_Z_62-010
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="26", FormName="NF_Z_62-010",FormDescription="RFC1345,KXS2")
+NUM26,
+/**
+ * ISO-10646-UTF-1
+ *
+ **/
+ @SEDA(PropertyTerm="27", FormName="ISO-10646-UTF-1",FormDescription="")
+NUM27,
+/**
+ * ISO_646.basic:1983
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="28", FormName="ISO_646.basic:1983",FormDescription="RFC1345,KXS2")
+NUM28,
+/**
+ * INVARIANT
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="29", FormName="INVARIANT ",FormDescription="RFC1345,KXS2")
+NUM29,
+/**
+ * ISO_646.irv:1983
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="30", FormName="ISO_646.irv:1983",FormDescription="RFC1345,KXS2")
+NUM30,
+/**
+ * NATS-SEFI
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="31", FormName="NATS-SEFI ",FormDescription="RFC1345,KXS2")
+NUM31,
+/**
+ * NATS-SEFI-ADD
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="32", FormName="NATS-SEFI-ADD ",FormDescription="RFC1345,KXS2")
+NUM32,
+/**
+ * NATS-DANO
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="33", FormName="NATS-DANO ",FormDescription="RFC1345,KXS2")
+NUM33,
+/**
+ * NATS-DANO-ADD
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="34", FormName="NATS-DANO-ADD ",FormDescription="RFC1345,KXS2")
+NUM34,
+/**
+ * SEN_850200_B
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="35", FormName="SEN_850200_B",FormDescription="RFC1345,KXS2")
+NUM35,
+/**
+ * KS_C_5601-1987
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="36", FormName="KS_C_5601-1987",FormDescription="RFC1345,KXS2")
+NUM36,
+/**
+ * ISO-2022-KR(preferred MIME name)
+ * RFC1557,Choi
+ **/
+ @SEDA(PropertyTerm="37", FormName="ISO-2022-KR(preferred MIME name)",FormDescription="RFC1557,Choi")
+NUM37,
+/**
+ * EUC-KR(preferred MIME name)
+ * RFC1557,Choi
+ **/
+ @SEDA(PropertyTerm="38", FormName="EUC-KR(preferred MIME name) ",FormDescription="RFC1557,Choi")
+NUM38,
+/**
+ * ISO-2022-JP(preferred MIME name)
+ * RFC1468,Murai
+ **/
+ @SEDA(PropertyTerm="39", FormName="ISO-2022-JP(preferred MIME name) ",FormDescription="RFC1468,Murai")
+NUM39,
+/**
+ * ISO-2022-JP-2(preferred MIME name)
+ * RFC1554,Ohta
+ **/
+ @SEDA(PropertyTerm="40", FormName="ISO-2022-JP-2(preferred MIME name)",FormDescription="RFC1554,Ohta")
+NUM40,
+/**
+ * JIS_C6220-1969-jp
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="41", FormName="JIS_C6220-1969-jp ",FormDescription="RFC1345,KXS2")
+NUM41,
+/**
+ * JIS_C6220-1969-ro
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="42", FormName="JIS_C6220-1969-ro ",FormDescription="RFC1345,KXS2")
+NUM42,
+/**
+ * PT
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="43", FormName="PT",FormDescription="RFC1345,KXS2")
+NUM43,
+/**
+ * greek7-old
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="44", FormName="greek7-old",FormDescription="RFC1345,KXS2")
+NUM44,
+/**
+ * latin-greek
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="45", FormName="latin-greek ",FormDescription="RFC1345,KXS2")
+NUM45,
+/**
+ * NF_Z_62-010_(1973)
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="46", FormName="NF_Z_62-010_(1973)",FormDescription="RFC1345,KXS2")
+NUM46,
+/**
+ * Latin-greek-1
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="47", FormName="Latin-greek-1 ",FormDescription="RFC1345,KXS2")
+NUM47,
+/**
+ * ISO_5427
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="48", FormName="ISO_5427",FormDescription="RFC1345,KXS2")
+NUM48,
+/**
+ * JIS_C6226-1978
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="49", FormName="JIS_C6226-1978",FormDescription="RFC1345,KXS2")
+NUM49,
+/**
+ * BS_viewdata
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="50", FormName="BS_viewdata ",FormDescription="RFC1345,KXS2")
+NUM50,
+/**
+ * INIS
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="51", FormName="INIS",FormDescription="RFC1345,KXS2")
+NUM51,
+/**
+ * INIS-8
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="52", FormName="INIS-8",FormDescription="RFC1345,KXS2")
+NUM52,
+/**
+ * INIS-cyrillic
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="53", FormName="INIS-cyrillic ",FormDescription="RFC1345,KXS2")
+NUM53,
+/**
+ * ISO_5427:1981
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="54", FormName="ISO_5427:1981 ",FormDescription="RFC1345,KXS2")
+NUM54,
+/**
+ * ISO_5428:1980
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="55", FormName="ISO_5428:1980 ",FormDescription="RFC1345,KXS2")
+NUM55,
+/**
+ * GB_1988-80
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="56", FormName="GB_1988-80",FormDescription="RFC1345,KXS2")
+NUM56,
+/**
+ * GB_2312-80
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="57", FormName="GB_2312-80",FormDescription="RFC1345,KXS2")
+NUM57,
+/**
+ * NS_4551-2
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="58", FormName="NS_4551-2",FormDescription="RFC1345,KXS2")
+NUM58,
+/**
+ * videotex-suppl
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="59", FormName="videotex-suppl ",FormDescription="RFC1345,KXS2")
+NUM59,
+/**
+ * PT2
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="60", FormName="PT2",FormDescription="RFC1345,KXS2")
+NUM60,
+/**
+ * ES2
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="61", FormName="ES2",FormDescription="RFC1345,KXS2")
+NUM61,
+/**
+ * MSZ_7795.3
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="62", FormName="MSZ_7795.3 ",FormDescription="RFC1345,KXS2")
+NUM62,
+/**
+ * JIS_C6226-1983
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="63", FormName="JIS_C6226-1983 ",FormDescription="RFC1345,KXS2")
+NUM63,
+/**
+ * greek7
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="64", FormName="greek7 ",FormDescription="RFC1345,KXS2")
+NUM64,
+/**
+ * ASMO_449
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="65", FormName="ASMO_449 ",FormDescription="RFC1345,KXS2")
+NUM65,
+/**
+ * iso-ir-90
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="66", FormName="iso-ir-90",FormDescription="RFC1345,KXS2")
+NUM66,
+/**
+ * JIS_C6229-1984-a
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="67", FormName="JIS_C6229-1984-a ",FormDescription="RFC1345,KXS2")
+NUM67,
+/**
+ * JIS_C6229-1984-b
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="68", FormName="JIS_C6229-1984-b ",FormDescription="RFC1345,KXS2")
+NUM68,
+/**
+ * JIS_C6229-1984-b-add
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="69", FormName="JIS_C6229-1984-b-add ",FormDescription="RFC1345,KXS2")
+NUM69,
+/**
+ * JIS_C6229-1984-hand
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="70", FormName="JIS_C6229-1984-hand",FormDescription="RFC1345,KXS2")
+NUM70,
+/**
+ * JIS_C6229-1984-hand-add
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="71", FormName="JIS_C6229-1984-hand-add",FormDescription="RFC1345,KXS2")
+NUM71,
+/**
+ * JIS_C6229-1984-kana
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="72", FormName="JIS_C6229-1984-kana",FormDescription="RFC1345,KXS2")
+NUM72,
+/**
+ * ISO_2033-1983
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="73", FormName="ISO_2033-1983",FormDescription="RFC1345,KXS2")
+NUM73,
+/**
+ * ANSI_X3.110-1983
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="74", FormName="ANSI_X3.110-1983 ",FormDescription="RFC1345,KXS2")
+NUM74,
+/**
+ * T.61-7bit
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="75", FormName="T.61-7bit",FormDescription="RFC1345,KXS2")
+NUM75,
+/**
+ * T.61-8bit
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="76", FormName="T.61-8bit",FormDescription="RFC1345,KXS2")
+NUM76,
+/**
+ * ECMA-cyrillic
+ *
+ **/
+ @SEDA(PropertyTerm="77", FormName="ECMA-cyrillic",FormDescription="")
+NUM77,
+/**
+ * CSA_Z243.4-1985-1
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="78", FormName="CSA_Z243.4-1985-1",FormDescription="RFC1345,KXS2")
+NUM78,
+/**
+ * CSA_Z243.4-1985-2
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="79", FormName="CSA_Z243.4-1985-2",FormDescription="RFC1345,KXS2")
+NUM79,
+/**
+ * CSA_Z243.4-1985-gr
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="80", FormName="CSA_Z243.4-1985-gr ",FormDescription="RFC1345,KXS2")
+NUM80,
+/**
+ * ISO_8859-6-E
+ * RFC1556,IANA
+ **/
+ @SEDA(PropertyTerm="81", FormName="ISO_8859-6-E ",FormDescription="RFC1556,IANA")
+NUM81,
+/**
+ * ISO_8859-6-I
+ * RFC1556,IANA
+ **/
+ @SEDA(PropertyTerm="82", FormName="ISO_8859-6-I ",FormDescription="RFC1556,IANA")
+NUM82,
+/**
+ * T.101-G2
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="83", FormName="T.101-G2",FormDescription="RFC1345,KXS2")
+NUM83,
+/**
+ * ISO_8859-8-E
+ * RFC1556,Nussbacher
+ **/
+ @SEDA(PropertyTerm="84", FormName="ISO_8859-8-E",FormDescription="RFC1556,Nussbacher")
+NUM84,
+/**
+ * ISO_8859-8-I
+ * RFC1556,Nussbacher
+ **/
+ @SEDA(PropertyTerm="85", FormName="ISO_8859-8-I",FormDescription="RFC1556,Nussbacher")
+NUM85,
+/**
+ * CSN_369103
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="86", FormName="CSN_369103",FormDescription="RFC1345,KXS2")
+NUM86,
+/**
+ * JUS_I.B1.002
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="87", FormName="JUS_I.B1.002",FormDescription="RFC1345,KXS2")
+NUM87,
+/**
+ * IEC_P27-1
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="88", FormName="IEC_P27-1 ",FormDescription="RFC1345,KXS2")
+NUM88,
+/**
+ * JUS_I.B1.003-serb
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="89", FormName="JUS_I.B1.003-serb",FormDescription="RFC1345,KXS2")
+NUM89,
+/**
+ * JUS_I.B1.003-mac
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="90", FormName="JUS_I.B1.003-mac",FormDescription="RFC1345,KXS2")
+NUM90,
+/**
+ * greek-ccitt
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="91", FormName="greek-ccitt ",FormDescription="RFC1345,KXS2")
+NUM91,
+/**
+ * NC_NC00-10:81
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="92", FormName="NC_NC00-10:81 ",FormDescription="RFC1345,KXS2")
+NUM92,
+/**
+ * ISO_6937-2-25
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="93", FormName="ISO_6937-2-25 ",FormDescription="RFC1345,KXS2")
+NUM93,
+/**
+ * GOST_19768-74
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="94", FormName="GOST_19768-74 ",FormDescription="RFC1345,KXS2")
+NUM94,
+/**
+ * ISO_8859-supp
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="95", FormName="ISO_8859-supp ",FormDescription="RFC1345,KXS2")
+NUM95,
+/**
+ * ISO_10367-box
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="96", FormName="ISO_10367-box ",FormDescription="RFC1345,KXS2")
+NUM96,
+/**
+ * latin-lap
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="97", FormName="latin-lap ",FormDescription="RFC1345,KXS2")
+NUM97,
+/**
+ * JIS_X0212-1990
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="98", FormName="JIS_X0212-1990",FormDescription="RFC1345,KXS2")
+NUM98,
+/**
+ * DS_2089
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="99", FormName="DS_2089 ",FormDescription="RFC1345,KXS2")
+NUM99,
+/**
+ * us-dk
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="100", FormName="us-dk ",FormDescription="RFC1345,KXS2")
+NUM100,
+/**
+ * dk-us
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="101", FormName="dk-us ",FormDescription="RFC1345,KXS2")
+NUM101,
+/**
+ * KSC5636
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="102", FormName="KSC5636 ",FormDescription="RFC1345,KXS2")
+NUM102,
+/**
+ * UNICODE-1-1-UTF-7
+ * RFC1642
+ **/
+ @SEDA(PropertyTerm="103", FormName="UNICODE-1-1-UTF-7",FormDescription="RFC1642")
+NUM103,
+/**
+ * ISO-2022-CN
+ * RFC1922
+ **/
+ @SEDA(PropertyTerm="104", FormName="ISO-2022-CN",FormDescription="RFC1922")
+NUM104,
+/**
+ * ISO-2022-CN-EXT
+ * RFC1922
+ **/
+ @SEDA(PropertyTerm="105", FormName="ISO-2022-CN-EXT",FormDescription="RFC1922")
+NUM105,
+/**
+ * UTF-8
+ * RFC3629
+ **/
+ @SEDA(PropertyTerm="106", FormName="UTF-8",FormDescription="RFC3629")
+NUM106,
+/**
+ * ISO-8859-13
+ *
+ **/
+ @SEDA(PropertyTerm="109", FormName="ISO-8859-13",FormDescription="")
+NUM109,
+/**
+ * ISO-8859-14
+ *
+ **/
+ @SEDA(PropertyTerm="110", FormName="ISO-8859-14",FormDescription="")
+NUM110,
+/**
+ * ISO-8859-15
+ *
+ **/
+ @SEDA(PropertyTerm="111", FormName="ISO-8859-15",FormDescription="")
+NUM111,
+/**
+ * ISO-8859-16
+ *
+ **/
+ @SEDA(PropertyTerm="112", FormName="ISO-8859-16",FormDescription="")
+NUM112,
+/**
+ * GBK
+ *
+ **/
+ @SEDA(PropertyTerm="113", FormName="GBK",FormDescription="")
+NUM113,
+/**
+ * GB18030
+ *
+ **/
+ @SEDA(PropertyTerm="114", FormName="GB18030",FormDescription="")
+NUM114,
+/**
+ * OSD_EBCDIC_DF04_15
+ *
+ **/
+ @SEDA(PropertyTerm="115", FormName="OSD_EBCDIC_DF04_15",FormDescription="")
+NUM115,
+/**
+ * OSD_EBCDIC_DF03_IRV
+ *
+ **/
+ @SEDA(PropertyTerm="116", FormName="OSD_EBCDIC_DF03_IRV",FormDescription="")
+NUM116,
+/**
+ * OSD_EBCDIC_DF04_1
+ *
+ **/
+ @SEDA(PropertyTerm="117", FormName="OSD_EBCDIC_DF04_1",FormDescription="")
+NUM117,
+/**
+ * ISO-11548-1
+ *
+ **/
+ @SEDA(PropertyTerm="118", FormName="ISO-11548-1",FormDescription="")
+NUM118,
+/**
+ * KZ-1048
+ *
+ **/
+ @SEDA(PropertyTerm="119", FormName="KZ-1048",FormDescription="")
+NUM119,
+/**
+ * ISO-10646-UCS-2
+ *
+ **/
+ @SEDA(PropertyTerm="1000", FormName="ISO-10646-UCS-2",FormDescription="")
+NUM1000,
+/**
+ * ISO-10646-UCS-4
+ *
+ **/
+ @SEDA(PropertyTerm="1001", FormName="ISO-10646-UCS-4",FormDescription="")
+NUM1001,
+/**
+ * ISO-10646-UCS-Basic
+ *
+ **/
+ @SEDA(PropertyTerm="1002", FormName="ISO-10646-UCS-Basic",FormDescription="")
+NUM1002,
+/**
+ * ISO-10646-Unicode-Latin1
+ *
+ **/
+ @SEDA(PropertyTerm="1003", FormName="ISO-10646-Unicode-Latin1",FormDescription="")
+NUM1003,
+/**
+ * ISO-10646-J-1
+ *
+ **/
+ @SEDA(PropertyTerm="1004", FormName="ISO-10646-J-1",FormDescription="")
+NUM1004,
+/**
+ * ISO-Unicode-IBM-1261
+ *
+ **/
+ @SEDA(PropertyTerm="1005", FormName="ISO-Unicode-IBM-1261",FormDescription="")
+NUM1005,
+/**
+ * ISO-Unicode-IBM-1268
+ *
+ **/
+ @SEDA(PropertyTerm="1006", FormName="ISO-Unicode-IBM-1268",FormDescription="")
+NUM1006,
+/**
+ * ISO-Unicode-IBM-1276
+ *
+ **/
+ @SEDA(PropertyTerm="1007", FormName="ISO-Unicode-IBM-1276",FormDescription="")
+NUM1007,
+/**
+ * ISO-Unicode-IBM-1264
+ *
+ **/
+ @SEDA(PropertyTerm="1008", FormName="ISO-Unicode-IBM-1264",FormDescription="")
+NUM1008,
+/**
+ * ISO-Unicode-IBM-1265
+ *
+ **/
+ @SEDA(PropertyTerm="1009", FormName="ISO-Unicode-IBM-1265",FormDescription="")
+NUM1009,
+/**
+ * UNICODE-1-1
+ * RFC1641
+ **/
+ @SEDA(PropertyTerm="1010", FormName="UNICODE-1-1",FormDescription="RFC1641")
+NUM1010,
+/**
+ * SCSU
+ *
+ **/
+ @SEDA(PropertyTerm="1011", FormName="SCSU",FormDescription="")
+NUM1011,
+/**
+ * UTF-7
+ * RFC2152
+ **/
+ @SEDA(PropertyTerm="1012", FormName="UTF-7",FormDescription="RFC2152")
+NUM1012,
+/**
+ * UTF-16BE
+ * RFC2781
+ **/
+ @SEDA(PropertyTerm="1013", FormName="UTF-16BE",FormDescription="RFC2781")
+NUM1013,
+/**
+ * UTF-16LE
+ * RFC2781
+ **/
+ @SEDA(PropertyTerm="1014", FormName="UTF-16LE",FormDescription="RFC2781")
+NUM1014,
+/**
+ * UTF-16
+ * RFC2781
+ **/
+ @SEDA(PropertyTerm="1015", FormName="UTF-16",FormDescription="RFC2781")
+NUM1015,
+/**
+ * CESU-8
+ *
+ **/
+ @SEDA(PropertyTerm="1016", FormName="CESU-8",FormDescription="")
+NUM1016,
+/**
+ * UTF-32
+ *
+ **/
+ @SEDA(PropertyTerm="1017", FormName="UTF-32",FormDescription="")
+NUM1017,
+/**
+ * UTF-32BE
+ *
+ **/
+ @SEDA(PropertyTerm="1018", FormName="UTF-32BE",FormDescription="")
+NUM1018,
+/**
+ * UTF-32LE
+ *
+ **/
+ @SEDA(PropertyTerm="1019", FormName="UTF-32LE",FormDescription="")
+NUM1019,
+/**
+ * BOCU-1
+ *
+ **/
+ @SEDA(PropertyTerm="1020", FormName="BOCU-1",FormDescription="")
+NUM1020,
+/**
+ * ISO-8859-1-Windows-3.0-Latin-1
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2000", FormName="ISO-8859-1-Windows-3.0-Latin-1",FormDescription="HP-PCL5")
+NUM2000,
+/**
+ * ISO-8859-1-Windows-3.1-Latin-1
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2001", FormName="ISO-8859-1-Windows-3.1-Latin-1 ",FormDescription="HP-PCL5")
+NUM2001,
+/**
+ * ISO-8859-2-Windows-Latin-2
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2002", FormName="ISO-8859-2-Windows-Latin-2 ",FormDescription="HP-PCL5")
+NUM2002,
+/**
+ * ISO-8859-9-Windows-Latin-5
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2003", FormName="ISO-8859-9-Windows-Latin-5 ",FormDescription="HP-PCL5")
+NUM2003,
+/**
+ * hp-roman8
+ * HP-PCL5,RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2004", FormName="hp-roman8",FormDescription="HP-PCL5,RFC1345,KXS2")
+NUM2004,
+/**
+ * Adobe-Standard-Encoding
+ *
+ **/
+ @SEDA(PropertyTerm="2005", FormName="Adobe-Standard-Encoding",FormDescription="")
+NUM2005,
+/**
+ * Ventura-US
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2006", FormName="Ventura-US ",FormDescription="HP-PCL5")
+NUM2006,
+/**
+ * Ventura-International
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2007", FormName="Ventura-International",FormDescription="HP-PCL5")
+NUM2007,
+/**
+ * DEC-MCS
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2008", FormName="DEC-MCS ",FormDescription="RFC1345,KXS2")
+NUM2008,
+/**
+ * IBM850
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2009", FormName="IBM850",FormDescription="RFC1345,KXS2")
+NUM2009,
+/**
+ * PC8-Danish-Norwegian
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2012", FormName="PC8-Danish-Norwegian",FormDescription="HP-PCL5")
+NUM2012,
+/**
+ * IBM862
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2013", FormName="IBM862",FormDescription="RFC1345,KXS2")
+NUM2013,
+/**
+ * PC8-Turkish
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2014", FormName="PC8-Turkish",FormDescription="HP-PCL5")
+NUM2014,
+/**
+ * IBM-Symbols
+ * IBM-CIDT
+ **/
+ @SEDA(PropertyTerm="2015", FormName="IBM-Symbols ",FormDescription="IBM-CIDT")
+NUM2015,
+/**
+ * IBM-Thai
+ * IBM-CIDT
+ **/
+ @SEDA(PropertyTerm="2016", FormName="IBM-Thai",FormDescription="IBM-CIDT")
+NUM2016,
+/**
+ * HP-Legal
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2017", FormName="HP-Legal",FormDescription="HP-PCL5")
+NUM2017,
+/**
+ * HP-Pi-font
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2018", FormName="HP-Pi-font",FormDescription="HP-PCL5")
+NUM2018,
+/**
+ * HP-Math8
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2019", FormName="HP-Math8",FormDescription="HP-PCL5")
+NUM2019,
+/**
+ * Adobe-Symbol-Encoding
+ *
+ **/
+ @SEDA(PropertyTerm="2020", FormName="Adobe-Symbol-Encoding",FormDescription="")
+NUM2020,
+/**
+ * HP-DeskTop
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2021", FormName="HP-DeskTop",FormDescription="HP-PCL5")
+NUM2021,
+/**
+ * Ventura-Math
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2022", FormName="Ventura-Math",FormDescription="HP-PCL5")
+NUM2022,
+/**
+ * Microsoft-Publishing
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2023", FormName="Microsoft-Publishing",FormDescription="HP-PCL5")
+NUM2023,
+/**
+ * Windows-31J
+ *
+ **/
+ @SEDA(PropertyTerm="2024", FormName="Windows-31J",FormDescription="")
+NUM2024,
+/**
+ * GB2312
+ *
+ **/
+ @SEDA(PropertyTerm="2025", FormName="GB2312",FormDescription="")
+NUM2025,
+/**
+ * Big5
+ *
+ **/
+ @SEDA(PropertyTerm="2026", FormName="Big5",FormDescription="")
+NUM2026,
+/**
+ * macintosh
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2027", FormName="macintosh ",FormDescription="RFC1345,KXS2")
+NUM2027,
+/**
+ * IBM037
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2028", FormName="IBM037",FormDescription="RFC1345,KXS2")
+NUM2028,
+/**
+ * IBM038
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2029", FormName="IBM038",FormDescription="RFC1345,KXS2")
+NUM2029,
+/**
+ * IBM273
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2030", FormName="IBM273",FormDescription="RFC1345,KXS2")
+NUM2030,
+/**
+ * IBM274
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2031", FormName="IBM274",FormDescription="RFC1345,KXS2")
+NUM2031,
+/**
+ * IBM275
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2032", FormName="IBM275",FormDescription="RFC1345,KXS2")
+NUM2032,
+/**
+ * IBM277
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2033", FormName="IBM277",FormDescription="RFC1345,KXS2")
+NUM2033,
+/**
+ * IBM278
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2034", FormName="IBM278",FormDescription="RFC1345,KXS2")
+NUM2034,
+/**
+ * IBM280
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2035", FormName="IBM280",FormDescription="RFC1345,KXS2")
+NUM2035,
+/**
+ * IBM281
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2036", FormName="IBM281",FormDescription="RFC1345,KXS2")
+NUM2036,
+/**
+ * IBM284
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2037", FormName="IBM284",FormDescription="RFC1345,KXS2")
+NUM2037,
+/**
+ * IBM285
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2038", FormName="IBM285",FormDescription="RFC1345,KXS2")
+NUM2038,
+/**
+ * IBM290
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2039", FormName="IBM290",FormDescription="RFC1345,KXS2")
+NUM2039,
+/**
+ * IBM297
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2040", FormName="IBM297",FormDescription="RFC1345,KXS2")
+NUM2040,
+/**
+ * IBM420
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2041", FormName="IBM420",FormDescription="RFC1345,KXS2")
+NUM2041,
+/**
+ * IBM423
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2042", FormName="IBM423",FormDescription="RFC1345,KXS2")
+NUM2042,
+/**
+ * IBM424
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2043", FormName="IBM424",FormDescription="RFC1345,KXS2")
+NUM2043,
+/**
+ * IBM437
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2011", FormName="IBM437",FormDescription="RFC1345,KXS2")
+NUM2011,
+/**
+ * IBM500
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2044", FormName="IBM500",FormDescription="RFC1345,KXS2")
+NUM2044,
+/**
+ * IBM851
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2045", FormName="IBM851",FormDescription="RFC1345,KXS2")
+NUM2045,
+/**
+ * IBM852
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2010", FormName="IBM852",FormDescription="RFC1345,KXS2")
+NUM2010,
+/**
+ * IBM855
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2046", FormName="IBM855",FormDescription="RFC1345,KXS2")
+NUM2046,
+/**
+ * IBM857
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2047", FormName="IBM857",FormDescription="RFC1345,KXS2")
+NUM2047,
+/**
+ * IBM860
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2048", FormName="IBM860",FormDescription="RFC1345,KXS2")
+NUM2048,
+/**
+ * IBM861
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2049", FormName="IBM861",FormDescription="RFC1345,KXS2")
+NUM2049,
+/**
+ * IBM863
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2050", FormName="IBM863",FormDescription="RFC1345,KXS2")
+NUM2050,
+/**
+ * IBM864
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2051", FormName="IBM864",FormDescription="RFC1345,KXS2")
+NUM2051,
+/**
+ * IBM865
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2052", FormName="IBM865",FormDescription="RFC1345,KXS2")
+NUM2052,
+/**
+ * IBM868
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2053", FormName="IBM868",FormDescription="RFC1345,KXS2")
+NUM2053,
+/**
+ * IBM869
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2054", FormName="IBM869",FormDescription="RFC1345,KXS2")
+NUM2054,
+/**
+ * IBM870
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2055", FormName="IBM870",FormDescription="RFC1345,KXS2")
+NUM2055,
+/**
+ * IBM871
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2056", FormName="IBM871",FormDescription="RFC1345,KXS2")
+NUM2056,
+/**
+ * IBM880
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2057", FormName="IBM880",FormDescription="RFC1345,KXS2")
+NUM2057,
+/**
+ * IBM891
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2058", FormName="IBM891",FormDescription="RFC1345,KXS2")
+NUM2058,
+/**
+ * IBM903
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2059", FormName="IBM903",FormDescription="RFC1345,KXS2")
+NUM2059,
+/**
+ * IBM904
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2060", FormName="IBM904",FormDescription="RFC1345,KXS2")
+NUM2060,
+/**
+ * IBM905
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2061", FormName="IBM905",FormDescription="RFC1345,KXS2")
+NUM2061,
+/**
+ * IBM918
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2062", FormName="IBM918",FormDescription="RFC1345,KXS2")
+NUM2062,
+/**
+ * IBM1026
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2063", FormName="IBM1026 ",FormDescription="RFC1345,KXS2")
+NUM2063,
+/**
+ * EBCDIC-AT-DE
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2064", FormName="EBCDIC-AT-DE",FormDescription="RFC1345,KXS2")
+NUM2064,
+/**
+ * EBCDIC-AT-DE-A
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2065", FormName="EBCDIC-AT-DE-A",FormDescription="RFC1345,KXS2")
+NUM2065,
+/**
+ * EBCDIC-CA-FR
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2066", FormName="EBCDIC-CA-FR",FormDescription="RFC1345,KXS2")
+NUM2066,
+/**
+ * EBCDIC-DK-NO
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2067", FormName="EBCDIC-DK-NO",FormDescription="RFC1345,KXS2")
+NUM2067,
+/**
+ * EBCDIC-DK-NO-A
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2068", FormName="EBCDIC-DK-NO-A",FormDescription="RFC1345,KXS2")
+NUM2068,
+/**
+ * EBCDIC-FI-SE
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2069", FormName="EBCDIC-FI-SE",FormDescription="RFC1345,KXS2")
+NUM2069,
+/**
+ * EBCDIC-FI-SE-A
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2070", FormName="EBCDIC-FI-SE-A",FormDescription="RFC1345,KXS2")
+NUM2070,
+/**
+ * EBCDIC-FR
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2071", FormName="EBCDIC-FR ",FormDescription="RFC1345,KXS2")
+NUM2071,
+/**
+ * EBCDIC-IT
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2072", FormName="EBCDIC-IT ",FormDescription="RFC1345,KXS2")
+NUM2072,
+/**
+ * EBCDIC-PT
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2073", FormName="EBCDIC-PT ",FormDescription="RFC1345,KXS2")
+NUM2073,
+/**
+ * EBCDIC-ES
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2074", FormName="EBCDIC-ES ",FormDescription="RFC1345,KXS2")
+NUM2074,
+/**
+ * EBCDIC-ES-A
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2075", FormName="EBCDIC-ES-A ",FormDescription="RFC1345,KXS2")
+NUM2075,
+/**
+ * EBCDIC-ES-S
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2076", FormName="EBCDIC-ES-S ",FormDescription="RFC1345,KXS2")
+NUM2076,
+/**
+ * EBCDIC-UK
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2077", FormName="EBCDIC-UK ",FormDescription="RFC1345,KXS2")
+NUM2077,
+/**
+ * EBCDIC-US
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2078", FormName="EBCDIC-US ",FormDescription="RFC1345,KXS2")
+NUM2078,
+/**
+ * UNKNOWN-8BIT
+ * RFC1428
+ **/
+ @SEDA(PropertyTerm="2079", FormName="UNKNOWN-8BIT ",FormDescription="RFC1428")
+NUM2079,
+/**
+ * MNEMONIC
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2080", FormName="MNEMONIC",FormDescription="RFC1345,KXS2")
+NUM2080,
+/**
+ * MNEM
+ * RFC1345,KXS2
+ **/
+ @SEDA(PropertyTerm="2081", FormName="MNEM",FormDescription="RFC1345,KXS2")
+NUM2081,
+/**
+ * VISCII
+ * RFC1456
+ **/
+ @SEDA(PropertyTerm="2082", FormName="VISCII ",FormDescription="RFC1456")
+NUM2082,
+/**
+ * VIQR
+ * RFC1456
+ **/
+ @SEDA(PropertyTerm="2083", FormName="VIQR ",FormDescription="RFC1456")
+NUM2083,
+/**
+ * KOI8-R
+ * RFC1489
+ **/
+ @SEDA(PropertyTerm="2084", FormName="KOI8-R",FormDescription="RFC1489")
+NUM2084,
+/**
+ * HZ-GB-2312
+ * RFC1842, RFC1843
+ **/
+ @SEDA(PropertyTerm="2085", FormName="HZ-GB-2312",FormDescription="RFC1842, RFC1843")
+NUM2085,
+/**
+ * IBM866
+ *
+ **/
+ @SEDA(PropertyTerm="2086", FormName="IBM866",FormDescription="")
+NUM2086,
+/**
+ * IBM775
+ * HP-PCL5
+ **/
+ @SEDA(PropertyTerm="2087", FormName="IBM775",FormDescription="HP-PCL5")
+NUM2087,
+/**
+ * KOI8-U
+ * RFC2319
+ **/
+ @SEDA(PropertyTerm="2088", FormName="KOI8-U",FormDescription="RFC2319")
+NUM2088,
+/**
+ * IBM00858
+ *
+ **/
+ @SEDA(PropertyTerm="2089", FormName="IBM00858",FormDescription="")
+NUM2089,
+/**
+ * IBM00924
+ *
+ **/
+ @SEDA(PropertyTerm="2090", FormName="IBM00924",FormDescription="")
+NUM2090,
+/**
+ * IBM01140
+ *
+ **/
+ @SEDA(PropertyTerm="2091", FormName="IBM01140",FormDescription="")
+NUM2091,
+/**
+ * IBM01141
+ *
+ **/
+ @SEDA(PropertyTerm="2092", FormName="IBM01141",FormDescription="")
+NUM2092,
+/**
+ * IBM01142
+ *
+ **/
+ @SEDA(PropertyTerm="2093", FormName="IBM01142",FormDescription="")
+NUM2093,
+/**
+ * IBM01143
+ *
+ **/
+ @SEDA(PropertyTerm="2094", FormName="IBM01143",FormDescription="")
+NUM2094,
+/**
+ * IBM01144
+ *
+ **/
+ @SEDA(PropertyTerm="2095", FormName="IBM01144",FormDescription="")
+NUM2095,
+/**
+ * IBM01145
+ *
+ **/
+ @SEDA(PropertyTerm="2096", FormName="IBM01145",FormDescription="")
+NUM2096,
+/**
+ * IBM01146
+ *
+ **/
+ @SEDA(PropertyTerm="2097", FormName="IBM01146",FormDescription="")
+NUM2097,
+/**
+ * IBM01147
+ *
+ **/
+ @SEDA(PropertyTerm="2098", FormName="IBM01147",FormDescription="")
+NUM2098,
+/**
+ * IBM01148
+ *
+ **/
+ @SEDA(PropertyTerm="2099", FormName="IBM01148",FormDescription="")
+NUM2099,
+/**
+ * IBM01149
+ *
+ **/
+ @SEDA(PropertyTerm="2100", FormName="IBM01149",FormDescription="")
+NUM2100,
+/**
+ * Big5-HKSCS
+ *
+ **/
+ @SEDA(PropertyTerm="2101", FormName="Big5-HKSCS",FormDescription="")
+NUM2101,
+/**
+ * IBM1047
+ *
+ **/
+ @SEDA(PropertyTerm="2102", FormName="IBM1047",FormDescription="")
+NUM2102,
+/**
+ * PTCP154
+ *
+ **/
+ @SEDA(PropertyTerm="2103", FormName="PTCP154",FormDescription="")
+NUM2103,
+/**
+ * Amiga-1251
+ *
+ **/
+ @SEDA(PropertyTerm="2104", FormName="Amiga-1251",FormDescription="")
+NUM2104,
+/**
+ * KOI7-switched
+ *
+ **/
+ @SEDA(PropertyTerm="2105", FormName="KOI7-switched",FormDescription="")
+NUM2105,
+/**
+ * BRF
+ *
+ **/
+ @SEDA(PropertyTerm="2106", FormName="BRF",FormDescription="")
+NUM2106,
+/**
+ * TSCII
+ *
+ **/
+ @SEDA(PropertyTerm="2107", FormName="TSCII",FormDescription="")
+NUM2107,
+/**
+ * windows-1250
+ *
+ **/
+ @SEDA(PropertyTerm="2250", FormName="windows-1250",FormDescription="")
+NUM2250,
+/**
+ * windows-1251
+ *
+ **/
+ @SEDA(PropertyTerm="2251", FormName="windows-1251",FormDescription="")
+NUM2251,
+/**
+ * windows-1252
+ *
+ **/
+ @SEDA(PropertyTerm="2252", FormName="windows-1252",FormDescription="")
+NUM2252,
+/**
+ * windows-1253
+ *
+ **/
+ @SEDA(PropertyTerm="2253", FormName="windows-1253",FormDescription="")
+NUM2253,
+/**
+ * windows-1254
+ *
+ **/
+ @SEDA(PropertyTerm="2254", FormName="windows-1254",FormDescription="")
+NUM2254,
+/**
+ * windows-1255
+ *
+ **/
+ @SEDA(PropertyTerm="2255", FormName="windows-1255",FormDescription="")
+NUM2255,
+/**
+ * windows-1256
+ *
+ **/
+ @SEDA(PropertyTerm="2256", FormName="windows-1256",FormDescription="")
+NUM2256,
+/**
+ * windows-1257
+ *
+ **/
+ @SEDA(PropertyTerm="2257", FormName="windows-1257",FormDescription="")
+NUM2257,
+/**
+ * windows-1258
+ *
+ **/
+ @SEDA(PropertyTerm="2258", FormName="windows-1258",FormDescription="")
+NUM2258,
+/**
+ * TIS-620
+ *
+ **/
+ @SEDA(PropertyTerm="2259", FormName="TIS-620",FormDescription="")
+NUM2259,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum CharacterSetEncodingCodeContentType {
+
+/**
+ * ASCII 7 bit
+ * ASCII 7 bit code.
+ **/
+ @SEDA(PropertyTerm="1", FormName="ASCII 7 bit",FormDescription="ASCII 7 bit code.")
+NUM1,
+/**
+ * ASCII 8 bit
+ * ASCII 8 bit code.
+ **/
+ @SEDA(PropertyTerm="2", FormName="ASCII 8 bit",FormDescription="ASCII 8 bit code.")
+NUM2,
+/**
+ * Code page 500 (EBCDIC Multinational No. 5)
+ * Encoding schema for the repertoire as defined by the code
+ page.
+ **/
+ @SEDA(PropertyTerm="3", FormName="Code page 500 (EBCDIC Multinational No. 5)",FormDescription="Encoding schema for the repertoire as defined by the code page.")
+NUM3,
+/**
+ * Code page 850 (IBM PC Multinational)
+ * Encoding schema for the repertoire as defined by the code
+ page.
+ **/
+ @SEDA(PropertyTerm="4", FormName="Code page 850 (IBM PC Multinational)",FormDescription="Encoding schema for the repertoire as defined by the code page.")
+NUM4,
+/**
+ * UCS-2
+ * Universal Multiple-Octet Coded Character Set (UCS)
+ two-octet per character encoding schema as defined in
+ ISO/IEC 10646-1.
+ **/
+ @SEDA(PropertyTerm="5", FormName="UCS-2",FormDescription="Universal Multiple-Octet Coded Character Set (UCS) two-octet per character encoding schema as defined in ISO/IEC 10646-1.")
+NUM5,
+/**
+ * UCS-4
+ * Universal Multiple-Octet Coded Character Set (UCS)
+ four-octet per character encoding schema as defined in
+ ISO/IEC 10646-1.
+ **/
+ @SEDA(PropertyTerm="6", FormName="UCS-4",FormDescription="Universal Multiple-Octet Coded Character Set (UCS) four-octet per character encoding schema as defined in ISO/IEC 10646-1.")
+NUM6,
+/**
+ * UTF-8
+ * UCS Transformation Format 8 (UTF-8) multi-octet (of
+ length one to six octets) per character encoding schema
+ as defined in ISO/IEC 10646-1, Annex R.
+ **/
+ @SEDA(PropertyTerm="7", FormName="UTF-8",FormDescription="UCS Transformation Format 8 (UTF-8) multi-octet (of length one to six octets) per character encoding schema as defined in ISO/IEC 10646-1, Annex R.")
+NUM7,
+/**
+ * UTF-16
+ * UCS Transformation Format 16 (UTF-16) two-octet per character encoding schema as defined in ISO/IEC 10646-1, Annex Q.
+ **/
+ @SEDA(PropertyTerm="8", FormName="UTF-16",FormDescription="UCS Transformation Format 16 (UTF-16) two-octet per character encoding schema as defined in ISO/IEC 10646-1, Annex Q.")
+NUM8,
+/**
+ * Mutually agreed
+ * Mutually agreed between trading partners
+ **/
+ @SEDA(PropertyTerm="zzz", FormName="Mutually agreed",FormDescription="Mutually agreed between trading partners")
+NUMZZZ,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des types d'information
+ *
+**/
+
+public enum DocumentTypeCodeType {
+
+/**
+ * Contenu de données
+ * Objet numérique ou physique qui est l'objet principal de
+ la pérennisation. ISO 14721:2003(Space data and information transfer
+ systems -- Open archival information system --Reference
+ model)
+ **/
+ @SEDA(PropertyTerm="CDO", FormName="Contenu de données",FormDescription="Objet numérique ou physique qui est l'objet principal de la pérennisation. ISO 14721:2003(Space data and information transfer systems -- Open archival information system --Reference model)")
+CDO,
+/**
+ * Information de représentation
+ * Information qui traduit un contenu de données en des
+ concepts plus explicites. Par exemple, la définition du code ASCII
+ décrit comment une séquence de bits (un contenu de données) est
+ convertie en caractères. L'information de représentation peut être de
+ structure ou sémantique. ISO 14721:2003 (Space data and information
+ transfer systems -- Open archival information system -- Reference
+ model
+ **/
+ @SEDA(PropertyTerm="RI", FormName="Information de représentation",FormDescription="Information qui traduit un contenu de données en des concepts plus explicites. Par exemple, la définition du code ASCII décrit comment une séquence de bits (un contenu de données) est convertie en caractères. L'information de représentation peut être de structure ou sémantique. ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model")
+RI,
+/**
+ * Information de structure
+ * Information de représentation qui explique la façon dont
+ d'autres informations sont organisées. Elle établit par exemple une
+ correspondance entre les trains de bits et les types de données courants
+ sur ordinateurs (tels que caractères, nombres, pixels ou agrégats de ces
+ types tels que chaînes de caractères et tableaux). ISO 14721:2003 (Space
+ data and information transfer systems -- Open archival information
+ system -- Reference model)
+ **/
+ @SEDA(PropertyTerm="RISTR", FormName="Information de structure",FormDescription="Information de représentation qui explique la façon dont d'autres informations sont organisées. Elle établit par exemple une correspondance entre les trains de bits et les types de données courants sur ordinateurs (tels que caractères, nombres, pixels ou agrégats de ces types tels que chaînes de caractères et tableaux). ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model)")
+RISTR,
+/**
+ * Information sémantique
+ * Information de représentation qui complète l'information
+ de structure pour donner par exemple la signification particulière
+ associée à chacun des éléments de la structure, les opérations
+ réalisables sur chaque type de données, leurs corrélations... ISO
+ 14721:2003 (Space data and information systemstransfe -- Open archival
+ information system -- Reference model)
+ **/
+ @SEDA(PropertyTerm="RISEM", FormName="Information sémantique",FormDescription="Information de représentation qui complète l'information de structure pour donner par exemple la signification particulière associée à chacun des éléments de la structure, les opérations réalisables sur chaque type de données, leurs corrélations... ISO 14721:2003 (Space data and information systemstransfe -- Open archival information system -- Reference model)")
+RISEM,
+/**
+ * Information de pérennisation
+ * Information nécessaire à une bonne conservation du contenu
+ d'information, et qui peut être décomposée en informations de
+ provenance, d'identification, d'intégrité et de contexte. ISO 14721:2003
+ (Space data and information transfer systems -- Open archival
+ information system -- Reference model)
+ **/
+ @SEDA(PropertyTerm="PDI", FormName="Information de pérennisation",FormDescription="Information nécessaire à une bonne conservation du contenu d'information, et qui peut être décomposée en informations de provenance, d'identification, d'intégrité et de contexte. ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model)")
+PDI,
+/**
+ * Information de provenance
+ * Information de pérennisation qui documente l'historique du
+ contenu d'information. Cette information renseigne sur l'origine ou la
+ source du contenu d'information, sur toute modification intervenue
+ depuis sa création et sur ceux qui en ont eu la responsabilité. Exemple
+ : nom du principal responsable de l'enregistrement des données,
+ informations relatives au stockage, à la manipulation et à la migration
+ des données. ISO 14721:2003 (Space data and information transfer systems
+ -- Open archival information system -- Reference
+ model)
+ **/
+ @SEDA(PropertyTerm="PDIPRO", FormName="Information de provenance",FormDescription="Information de pérennisation qui documente l'historique du contenu d'information. Cette information renseigne sur l'origine ou la source du contenu d'information, sur toute modification intervenue depuis sa création et sur ceux qui en ont eu la responsabilité. Exemple : nom du principal responsable de l'enregistrement des données, informations relatives au stockage, à la manipulation et à la migration des données. ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model)")
+PDIPRO,
+/**
+ * Information d'identification
+ * Information de pérennisation qui identifie, et si
+ nécessaire décrit, le ou les mécanismes d'attribution des
+ identificateurs au contenu d'information. Elle inclut aussi les
+ identificateurs qui permettent à un système externe de se référer sans
+ équivoque à un contenu d'information particulier. ISO 14721:2003 (Space
+ data and information transfer systems -- Open archival information
+ system -- Reference model)
+ **/
+ @SEDA(PropertyTerm="PDIREF", FormName="Information d'identification",FormDescription="Information de pérennisation qui identifie, et si nécessaire décrit, le ou les mécanismes d'attribution des identificateurs au contenu d'information. Elle inclut aussi les identificateurs qui permettent à un système externe de se référer sans équivoque à un contenu d'information particulier. ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model)")
+PDIREF,
+/**
+ * Information d'intégrité
+ * Information de pérennisation qui décrit les mécanismes et
+ des clés d'authentification garantissant que le contenu d'information
+ n'a pas subi de modification sans que celle-ci ait été tracée. Par
+ exemple, le code CRC (contrôl de redondance cyclique) pour un fichier.
+ ISO 14721:2003 (Space data and information transfer systems -- Open
+ archival information system -- Reference model)
+ **/
+ @SEDA(PropertyTerm="PDIFIX", FormName="Information d'intégrité",FormDescription="Information de pérennisation qui décrit les mécanismes et des clés d'authentification garantissant que le contenu d'information n'a pas subi de modification sans que celle-ci ait été tracée. Par exemple, le code CRC (contrôl de redondance cyclique) pour un fichier. ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model)")
+PDIFIX,
+/**
+ * Information de contexte
+ * Information de pérennisation qui décrit les liens entre un
+ contenu d'information et son environnement. Elle inclut entre autres les
+ raisons de la création de ce contenu d'information et son rapport avec
+ d'autres Objets-contenu d'information. ISO 14721:2003 (Space data and
+ information transfer systems -- Open archival information system --
+ Reference model)
+ **/
+ @SEDA(PropertyTerm="PDICTX", FormName="Information de contexte",FormDescription="Information de pérennisation qui décrit les liens entre un contenu d'information et son environnement. Elle inclut entre autres les raisons de la création de ce contenu d'information et son rapport avec d'autres Objets-contenu d'information. ISO 14721:2003 (Space data and information transfer systems -- Open archival information system -- Reference model)")
+PDICTX,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des formats de fichier
+ *
+**/
+
+public enum FileTypeCodeType {
+
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/1", FormName="",FormDescription="")
+FMT1,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/2", FormName="",FormDescription="")
+FMT2,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/3", FormName="",FormDescription="")
+FMT3,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/4", FormName="",FormDescription="")
+FMT4,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/5", FormName="",FormDescription="")
+FMT5,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/6", FormName="",FormDescription="")
+FMT6,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/7", FormName="",FormDescription="")
+FMT7,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/8", FormName="",FormDescription="")
+FMT8,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/9", FormName="",FormDescription="")
+FMT9,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/10", FormName="",FormDescription="")
+FMT10,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/11", FormName="",FormDescription="")
+FMT11,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/12", FormName="",FormDescription="")
+FMT12,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/13", FormName="",FormDescription="")
+FMT13,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/14", FormName="",FormDescription="")
+FMT14,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/15", FormName="",FormDescription="")
+FMT15,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/16", FormName="",FormDescription="")
+FMT16,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/17", FormName="",FormDescription="")
+FMT17,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/18", FormName="",FormDescription="")
+FMT18,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/19", FormName="",FormDescription="")
+FMT19,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/20", FormName="",FormDescription="")
+FMT20,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/21", FormName="",FormDescription="")
+FMT21,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/22", FormName="",FormDescription="")
+FMT22,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/23", FormName="",FormDescription="")
+FMT23,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/24", FormName="",FormDescription="")
+FMT24,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/25", FormName="",FormDescription="")
+FMT25,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/26", FormName="",FormDescription="")
+FMT26,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/27", FormName="",FormDescription="")
+FMT27,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/28", FormName="",FormDescription="")
+FMT28,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/29", FormName="",FormDescription="")
+FMT29,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/30", FormName="",FormDescription="")
+FMT30,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/31", FormName="",FormDescription="")
+FMT31,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/32", FormName="",FormDescription="")
+FMT32,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/33", FormName="",FormDescription="")
+FMT33,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/34", FormName="",FormDescription="")
+FMT34,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/35", FormName="",FormDescription="")
+FMT35,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/36", FormName="",FormDescription="")
+FMT36,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/37", FormName="",FormDescription="")
+FMT37,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/38", FormName="",FormDescription="")
+FMT38,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/39", FormName="",FormDescription="")
+FMT39,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/40", FormName="",FormDescription="")
+FMT40,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/41", FormName="",FormDescription="")
+FMT41,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/42", FormName="",FormDescription="")
+FMT42,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/43", FormName="",FormDescription="")
+FMT43,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/44", FormName="",FormDescription="")
+FMT44,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/45", FormName="",FormDescription="")
+FMT45,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/46", FormName="",FormDescription="")
+FMT46,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/47", FormName="",FormDescription="")
+FMT47,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/48", FormName="",FormDescription="")
+FMT48,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/49", FormName="",FormDescription="")
+FMT49,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/50", FormName="",FormDescription="")
+FMT50,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/51", FormName="",FormDescription="")
+FMT51,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/52", FormName="",FormDescription="")
+FMT52,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/53", FormName="",FormDescription="")
+FMT53,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/54", FormName="",FormDescription="")
+FMT54,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/55", FormName="",FormDescription="")
+FMT55,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/56", FormName="",FormDescription="")
+FMT56,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/57", FormName="",FormDescription="")
+FMT57,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/58", FormName="",FormDescription="")
+FMT58,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/59", FormName="",FormDescription="")
+FMT59,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/60", FormName="",FormDescription="")
+FMT60,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/61", FormName="",FormDescription="")
+FMT61,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/62", FormName="",FormDescription="")
+FMT62,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/63", FormName="",FormDescription="")
+FMT63,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/64", FormName="",FormDescription="")
+FMT64,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/65", FormName="",FormDescription="")
+FMT65,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/66", FormName="",FormDescription="")
+FMT66,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/67", FormName="",FormDescription="")
+FMT67,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/68", FormName="",FormDescription="")
+FMT68,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/69", FormName="",FormDescription="")
+FMT69,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/70", FormName="",FormDescription="")
+FMT70,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/71", FormName="",FormDescription="")
+FMT71,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/72", FormName="",FormDescription="")
+FMT72,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/73", FormName="",FormDescription="")
+FMT73,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/74", FormName="",FormDescription="")
+FMT74,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/75", FormName="",FormDescription="")
+FMT75,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/76", FormName="",FormDescription="")
+FMT76,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/77", FormName="",FormDescription="")
+FMT77,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/78", FormName="",FormDescription="")
+FMT78,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/79", FormName="",FormDescription="")
+FMT79,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/80", FormName="",FormDescription="")
+FMT80,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/81", FormName="",FormDescription="")
+FMT81,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/82", FormName="",FormDescription="")
+FMT82,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/83", FormName="",FormDescription="")
+FMT83,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/84", FormName="",FormDescription="")
+FMT84,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/85", FormName="",FormDescription="")
+FMT85,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/86", FormName="",FormDescription="")
+FMT86,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/87", FormName="",FormDescription="")
+FMT87,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/88", FormName="",FormDescription="")
+FMT88,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/89", FormName="",FormDescription="")
+FMT89,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/90", FormName="",FormDescription="")
+FMT90,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/91", FormName="",FormDescription="")
+FMT91,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/92", FormName="",FormDescription="")
+FMT92,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/93", FormName="",FormDescription="")
+FMT93,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/94", FormName="",FormDescription="")
+FMT94,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/95", FormName="",FormDescription="")
+FMT95,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/96", FormName="",FormDescription="")
+FMT96,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/97", FormName="",FormDescription="")
+FMT97,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/98", FormName="",FormDescription="")
+FMT98,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/99", FormName="",FormDescription="")
+FMT99,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/100", FormName="",FormDescription="")
+FMT100,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/101", FormName="",FormDescription="")
+FMT101,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/102", FormName="",FormDescription="")
+FMT102,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/103", FormName="",FormDescription="")
+FMT103,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/104", FormName="",FormDescription="")
+FMT104,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/105", FormName="",FormDescription="")
+FMT105,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/106", FormName="",FormDescription="")
+FMT106,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/107", FormName="",FormDescription="")
+FMT107,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/108", FormName="",FormDescription="")
+FMT108,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/109", FormName="",FormDescription="")
+FMT109,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/110", FormName="",FormDescription="")
+FMT110,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/111", FormName="",FormDescription="")
+FMT111,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/112", FormName="",FormDescription="")
+FMT112,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/113", FormName="",FormDescription="")
+FMT113,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/114", FormName="",FormDescription="")
+FMT114,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/115", FormName="",FormDescription="")
+FMT115,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/116", FormName="",FormDescription="")
+FMT116,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/117", FormName="",FormDescription="")
+FMT117,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/118", FormName="",FormDescription="")
+FMT118,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/119", FormName="",FormDescription="")
+FMT119,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/120", FormName="",FormDescription="")
+FMT120,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/121", FormName="",FormDescription="")
+FMT121,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/122", FormName="",FormDescription="")
+FMT122,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/123", FormName="",FormDescription="")
+FMT123,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/124", FormName="",FormDescription="")
+FMT124,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/125", FormName="",FormDescription="")
+FMT125,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/126", FormName="",FormDescription="")
+FMT126,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/127", FormName="",FormDescription="")
+FMT127,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/128", FormName="",FormDescription="")
+FMT128,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/129", FormName="",FormDescription="")
+FMT129,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/130", FormName="",FormDescription="")
+FMT130,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/131", FormName="",FormDescription="")
+FMT131,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/132", FormName="",FormDescription="")
+FMT132,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/133", FormName="",FormDescription="")
+FMT133,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/134", FormName="",FormDescription="")
+FMT134,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/135", FormName="",FormDescription="")
+FMT135,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/136", FormName="",FormDescription="")
+FMT136,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/137", FormName="",FormDescription="")
+FMT137,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/138", FormName="",FormDescription="")
+FMT138,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/139", FormName="",FormDescription="")
+FMT139,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/140", FormName="",FormDescription="")
+FMT140,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/141", FormName="",FormDescription="")
+FMT141,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/142", FormName="",FormDescription="")
+FMT142,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/143", FormName="",FormDescription="")
+FMT143,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/144", FormName="",FormDescription="")
+FMT144,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/145", FormName="",FormDescription="")
+FMT145,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/146", FormName="",FormDescription="")
+FMT146,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/147", FormName="",FormDescription="")
+FMT147,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/148", FormName="",FormDescription="")
+FMT148,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/149", FormName="",FormDescription="")
+FMT149,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/150", FormName="",FormDescription="")
+FMT150,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/151", FormName="",FormDescription="")
+FMT151,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/152", FormName="",FormDescription="")
+FMT152,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/153", FormName="",FormDescription="")
+FMT153,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/154", FormName="",FormDescription="")
+FMT154,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/155", FormName="",FormDescription="")
+FMT155,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/156", FormName="",FormDescription="")
+FMT156,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/157", FormName="",FormDescription="")
+FMT157,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="fmt/158", FormName="",FormDescription="")
+FMT158,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum ISO3AlphaCurrencyCodeContentType {
+
+/**
+ * UAE Dirham
+ *
+ **/
+ @SEDA(PropertyTerm="AED", FormName="UAE Dirham",FormDescription="")
+AED,
+/**
+ * Afghani
+ *
+ **/
+ @SEDA(PropertyTerm="AFN", FormName="Afghani",FormDescription="")
+AFN,
+/**
+ * Lek
+ *
+ **/
+ @SEDA(PropertyTerm="ALL", FormName="Lek",FormDescription="")
+ALL,
+/**
+ * Armenian Dram
+ *
+ **/
+ @SEDA(PropertyTerm="AMD", FormName="Armenian Dram",FormDescription="")
+AMD,
+/**
+ * Netherlands Antillian Guilder
+ *
+ **/
+ @SEDA(PropertyTerm="ANG", FormName="Netherlands Antillian Guilder",FormDescription="")
+ANG,
+/**
+ * Kwanza
+ *
+ **/
+ @SEDA(PropertyTerm="AOA", FormName="Kwanza",FormDescription="")
+AOA,
+/**
+ * Argentine Peso
+ *
+ **/
+ @SEDA(PropertyTerm="ARS", FormName="Argentine Peso",FormDescription="")
+ARS,
+/**
+ * Australian Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="AUD", FormName="Australian Dollar",FormDescription="")
+AUD,
+/**
+ * Aruban Guilder
+ *
+ **/
+ @SEDA(PropertyTerm="AWG", FormName="Aruban Guilder",FormDescription="")
+AWG,
+/**
+ * Azerbaijanian Manat
+ *
+ **/
+ @SEDA(PropertyTerm="AZN", FormName="Azerbaijanian Manat",FormDescription="")
+AZN,
+/**
+ * Convertible Marks
+ *
+ **/
+ @SEDA(PropertyTerm="BAM", FormName="Convertible Marks",FormDescription="")
+BAM,
+/**
+ * Barbados Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="BBD", FormName="Barbados Dollar",FormDescription="")
+BBD,
+/**
+ * Taka
+ *
+ **/
+ @SEDA(PropertyTerm="BDT", FormName="Taka",FormDescription="")
+BDT,
+/**
+ * Bulgarian Lev
+ *
+ **/
+ @SEDA(PropertyTerm="BGN", FormName="Bulgarian Lev",FormDescription="")
+BGN,
+/**
+ * Bahraini Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="BHD", FormName="Bahraini Dinar",FormDescription="")
+BHD,
+/**
+ * Burundi Franc
+ *
+ **/
+ @SEDA(PropertyTerm="BIF", FormName="Burundi Franc",FormDescription="")
+BIF,
+/**
+ * Bermudian Dollar (customarily known as Bermuda Dollar)
+ *
+ **/
+ @SEDA(PropertyTerm="BMD", FormName="Bermudian Dollar (customarily known as Bermuda Dollar)",FormDescription="")
+BMD,
+/**
+ * Brunei Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="BND", FormName="Brunei Dollar",FormDescription="")
+BND,
+/**
+ * Boliviano
+ *
+ **/
+ @SEDA(PropertyTerm="BOB", FormName="Boliviano",FormDescription="")
+BOB,
+/**
+ * Mvdol
+ *
+ **/
+ @SEDA(PropertyTerm="BOV", FormName="Mvdol",FormDescription="")
+BOV,
+/**
+ * Brazilian Real
+ *
+ **/
+ @SEDA(PropertyTerm="BRL", FormName="Brazilian Real",FormDescription="")
+BRL,
+/**
+ * Bahamian Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="BSD", FormName="Bahamian Dollar",FormDescription="")
+BSD,
+/**
+ * Ngultrum
+ *
+ **/
+ @SEDA(PropertyTerm="BTN", FormName="Ngultrum",FormDescription="")
+BTN,
+/**
+ * Pula
+ *
+ **/
+ @SEDA(PropertyTerm="BWP", FormName="Pula",FormDescription="")
+BWP,
+/**
+ * Belarussian Ruble
+ *
+ **/
+ @SEDA(PropertyTerm="BYR", FormName="Belarussian Ruble",FormDescription="")
+BYR,
+/**
+ * Belize Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="BZD", FormName="Belize Dollar",FormDescription="")
+BZD,
+/**
+ * Canadian Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="CAD", FormName="Canadian Dollar",FormDescription="")
+CAD,
+/**
+ * Congolese Franc
+ *
+ **/
+ @SEDA(PropertyTerm="CDF", FormName="Congolese Franc",FormDescription="")
+CDF,
+/**
+ * WIR Euro
+ *
+ **/
+ @SEDA(PropertyTerm="CHE", FormName="WIR Euro",FormDescription="")
+CHE,
+/**
+ * Swiss Franc
+ *
+ **/
+ @SEDA(PropertyTerm="CHF", FormName="Swiss Franc",FormDescription="")
+CHF,
+/**
+ * WIR Franc
+ *
+ **/
+ @SEDA(PropertyTerm="CHW", FormName="WIR Franc",FormDescription="")
+CHW,
+/**
+ * Unidades de fomento
+ *
+ **/
+ @SEDA(PropertyTerm="CLF", FormName="Unidades de fomento",FormDescription="")
+CLF,
+/**
+ * Chilean Peso
+ *
+ **/
+ @SEDA(PropertyTerm="CLP", FormName="Chilean Peso",FormDescription="")
+CLP,
+/**
+ * Yuan Renminbi
+ *
+ **/
+ @SEDA(PropertyTerm="CNY", FormName="Yuan Renminbi",FormDescription="")
+CNY,
+/**
+ * Colombian Peso
+ *
+ **/
+ @SEDA(PropertyTerm="COP", FormName="Colombian Peso",FormDescription="")
+COP,
+/**
+ * Unidad de Valor Real
+ *
+ **/
+ @SEDA(PropertyTerm="COU", FormName="Unidad de Valor Real",FormDescription="")
+COU,
+/**
+ * Costa Rican Colon
+ *
+ **/
+ @SEDA(PropertyTerm="CRC", FormName="Costa Rican Colon",FormDescription="")
+CRC,
+/**
+ * Cuban Peso
+ *
+ **/
+ @SEDA(PropertyTerm="CUP", FormName="Cuban Peso",FormDescription="")
+CUP,
+/**
+ * Cape Verde Escudo
+ *
+ **/
+ @SEDA(PropertyTerm="CVE", FormName="Cape Verde Escudo",FormDescription="")
+CVE,
+/**
+ * Czech Koruna
+ *
+ **/
+ @SEDA(PropertyTerm="CZK", FormName="Czech Koruna",FormDescription="")
+CZK,
+/**
+ * Djibouti Franc
+ *
+ **/
+ @SEDA(PropertyTerm="DJF", FormName="Djibouti Franc",FormDescription="")
+DJF,
+/**
+ * Danish Krone
+ *
+ **/
+ @SEDA(PropertyTerm="DKK", FormName="Danish Krone",FormDescription="")
+DKK,
+/**
+ * Dominican Peso
+ *
+ **/
+ @SEDA(PropertyTerm="DOP", FormName="Dominican Peso",FormDescription="")
+DOP,
+/**
+ * Algerian Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="DZD", FormName="Algerian Dinar",FormDescription="")
+DZD,
+/**
+ * Kroon
+ *
+ **/
+ @SEDA(PropertyTerm="EEK", FormName="Kroon",FormDescription="")
+EEK,
+/**
+ * Egyptian Pound
+ *
+ **/
+ @SEDA(PropertyTerm="EGP", FormName="Egyptian Pound",FormDescription="")
+EGP,
+/**
+ * Nakfa
+ *
+ **/
+ @SEDA(PropertyTerm="ERN", FormName="Nakfa",FormDescription="")
+ERN,
+/**
+ * Ethiopian Birr
+ *
+ **/
+ @SEDA(PropertyTerm="ETB", FormName="Ethiopian Birr",FormDescription="")
+ETB,
+/**
+ * Euro
+ *
+ **/
+ @SEDA(PropertyTerm="EUR", FormName="Euro",FormDescription="")
+EUR,
+/**
+ * Fiji Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="FJD", FormName="Fiji Dollar",FormDescription="")
+FJD,
+/**
+ * Falkland Islands Pound
+ *
+ **/
+ @SEDA(PropertyTerm="FKP", FormName="Falkland Islands Pound",FormDescription="")
+FKP,
+/**
+ * Pound Sterling
+ *
+ **/
+ @SEDA(PropertyTerm="GBP", FormName="Pound Sterling",FormDescription="")
+GBP,
+/**
+ * Lari
+ *
+ **/
+ @SEDA(PropertyTerm="GEL", FormName="Lari",FormDescription="")
+GEL,
+/**
+ * Cedi
+ *
+ **/
+ @SEDA(PropertyTerm="GHS", FormName="Cedi",FormDescription="")
+GHS,
+/**
+ * Gibraltar Pound
+ *
+ **/
+ @SEDA(PropertyTerm="GIP", FormName="Gibraltar Pound",FormDescription="")
+GIP,
+/**
+ * Dalasi
+ *
+ **/
+ @SEDA(PropertyTerm="GMD", FormName="Dalasi",FormDescription="")
+GMD,
+/**
+ * Guinea Franc
+ *
+ **/
+ @SEDA(PropertyTerm="GNF", FormName="Guinea Franc",FormDescription="")
+GNF,
+/**
+ * Quetzal
+ *
+ **/
+ @SEDA(PropertyTerm="GTQ", FormName="Quetzal",FormDescription="")
+GTQ,
+/**
+ * Guinea-Bissau Peso
+ *
+ **/
+ @SEDA(PropertyTerm="GWP", FormName="Guinea-Bissau Peso",FormDescription="")
+GWP,
+/**
+ * Guyana Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="GYD", FormName="Guyana Dollar",FormDescription="")
+GYD,
+/**
+ * Hong Kong Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="HKD", FormName="Hong Kong Dollar",FormDescription="")
+HKD,
+/**
+ * Lempira
+ *
+ **/
+ @SEDA(PropertyTerm="HNL", FormName="Lempira",FormDescription="")
+HNL,
+/**
+ * Croatian Kuna
+ *
+ **/
+ @SEDA(PropertyTerm="HRK", FormName="Croatian Kuna",FormDescription="")
+HRK,
+/**
+ * Gourde
+ *
+ **/
+ @SEDA(PropertyTerm="HTG", FormName="Gourde",FormDescription="")
+HTG,
+/**
+ * Forint
+ *
+ **/
+ @SEDA(PropertyTerm="HUF", FormName="Forint",FormDescription="")
+HUF,
+/**
+ * Rupiah
+ *
+ **/
+ @SEDA(PropertyTerm="IDR", FormName="Rupiah",FormDescription="")
+IDR,
+/**
+ * New Israeli Sheqel
+ *
+ **/
+ @SEDA(PropertyTerm="ILS", FormName="New Israeli Sheqel",FormDescription="")
+ILS,
+/**
+ * Indian Rupee
+ *
+ **/
+ @SEDA(PropertyTerm="INR", FormName="Indian Rupee",FormDescription="")
+INR,
+/**
+ * Iraqi Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="IQD", FormName="Iraqi Dinar",FormDescription="")
+IQD,
+/**
+ * Iranian Rial
+ *
+ **/
+ @SEDA(PropertyTerm="IRR", FormName="Iranian Rial",FormDescription="")
+IRR,
+/**
+ * Iceland Krona
+ *
+ **/
+ @SEDA(PropertyTerm="ISK", FormName="Iceland Krona",FormDescription="")
+ISK,
+/**
+ * Jamaican Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="JMD", FormName="Jamaican Dollar",FormDescription="")
+JMD,
+/**
+ * Jordanian Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="JOD", FormName="Jordanian Dinar",FormDescription="")
+JOD,
+/**
+ * Yen
+ *
+ **/
+ @SEDA(PropertyTerm="JPY", FormName="Yen",FormDescription="")
+JPY,
+/**
+ * Kenyan Shilling
+ *
+ **/
+ @SEDA(PropertyTerm="KES", FormName="Kenyan Shilling",FormDescription="")
+KES,
+/**
+ * Som
+ *
+ **/
+ @SEDA(PropertyTerm="KGS", FormName="Som",FormDescription="")
+KGS,
+/**
+ * Riel
+ *
+ **/
+ @SEDA(PropertyTerm="KHR", FormName="Riel",FormDescription="")
+KHR,
+/**
+ * Comoro Franc
+ *
+ **/
+ @SEDA(PropertyTerm="KMF", FormName="Comoro Franc",FormDescription="")
+KMF,
+/**
+ * North Korean Won
+ *
+ **/
+ @SEDA(PropertyTerm="KPW", FormName="North Korean Won",FormDescription="")
+KPW,
+/**
+ * Won
+ *
+ **/
+ @SEDA(PropertyTerm="KRW", FormName="Won",FormDescription="")
+KRW,
+/**
+ * Kuwaiti Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="KWD", FormName="Kuwaiti Dinar",FormDescription="")
+KWD,
+/**
+ * Cayman Islands Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="KYD", FormName="Cayman Islands Dollar",FormDescription="")
+KYD,
+/**
+ * Tenge
+ *
+ **/
+ @SEDA(PropertyTerm="KZT", FormName="Tenge",FormDescription="")
+KZT,
+/**
+ * Kip
+ *
+ **/
+ @SEDA(PropertyTerm="LAK", FormName="Kip",FormDescription="")
+LAK,
+/**
+ * Lebanese Pound
+ *
+ **/
+ @SEDA(PropertyTerm="LBP", FormName="Lebanese Pound",FormDescription="")
+LBP,
+/**
+ * Sri Lanka Rupee
+ *
+ **/
+ @SEDA(PropertyTerm="LKR", FormName="Sri Lanka Rupee",FormDescription="")
+LKR,
+/**
+ * Liberian Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="LRD", FormName="Liberian Dollar",FormDescription="")
+LRD,
+/**
+ * Loti
+ *
+ **/
+ @SEDA(PropertyTerm="LSL", FormName="Loti",FormDescription="")
+LSL,
+/**
+ * Lithuanian Litas
+ *
+ **/
+ @SEDA(PropertyTerm="LTL", FormName="Lithuanian Litas",FormDescription="")
+LTL,
+/**
+ * Latvian Lats
+ *
+ **/
+ @SEDA(PropertyTerm="LVL", FormName="Latvian Lats",FormDescription="")
+LVL,
+/**
+ * Libyan Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="LYD", FormName="Libyan Dinar",FormDescription="")
+LYD,
+/**
+ * Moroccan Dirham
+ *
+ **/
+ @SEDA(PropertyTerm="MAD", FormName="Moroccan Dirham",FormDescription="")
+MAD,
+/**
+ * Moldovan Leu
+ *
+ **/
+ @SEDA(PropertyTerm="MDL", FormName="Moldovan Leu",FormDescription="")
+MDL,
+/**
+ * Malagasy Ariary
+ *
+ **/
+ @SEDA(PropertyTerm="MGA", FormName="Malagasy Ariary",FormDescription="")
+MGA,
+/**
+ * Denar
+ *
+ **/
+ @SEDA(PropertyTerm="MKD", FormName="Denar",FormDescription="")
+MKD,
+/**
+ * Kyat
+ *
+ **/
+ @SEDA(PropertyTerm="MMK", FormName="Kyat",FormDescription="")
+MMK,
+/**
+ * Tugrik
+ *
+ **/
+ @SEDA(PropertyTerm="MNT", FormName="Tugrik",FormDescription="")
+MNT,
+/**
+ * Pataca
+ *
+ **/
+ @SEDA(PropertyTerm="MOP", FormName="Pataca",FormDescription="")
+MOP,
+/**
+ * Ouguiya
+ *
+ **/
+ @SEDA(PropertyTerm="MRO", FormName="Ouguiya",FormDescription="")
+MRO,
+/**
+ * Mauritius Rupee
+ *
+ **/
+ @SEDA(PropertyTerm="MUR", FormName="Mauritius Rupee",FormDescription="")
+MUR,
+/**
+ * Rufiyaa
+ *
+ **/
+ @SEDA(PropertyTerm="MVR", FormName="Rufiyaa",FormDescription="")
+MVR,
+/**
+ * Kwacha
+ *
+ **/
+ @SEDA(PropertyTerm="MWK", FormName="Kwacha",FormDescription="")
+MWK,
+/**
+ * Mexican Peso
+ *
+ **/
+ @SEDA(PropertyTerm="MXN", FormName="Mexican Peso",FormDescription="")
+MXN,
+/**
+ * Mexican Unidad de Inversion (UDI)
+ *
+ **/
+ @SEDA(PropertyTerm="MXV", FormName="Mexican Unidad de Inversion (UDI)",FormDescription="")
+MXV,
+/**
+ * Malaysian Ringgit
+ *
+ **/
+ @SEDA(PropertyTerm="MYR", FormName="Malaysian Ringgit",FormDescription="")
+MYR,
+/**
+ * Metical
+ *
+ **/
+ @SEDA(PropertyTerm="MZN", FormName="Metical",FormDescription="")
+MZN,
+/**
+ * Namibia Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="NAD", FormName="Namibia Dollar",FormDescription="")
+NAD,
+/**
+ * Naira
+ *
+ **/
+ @SEDA(PropertyTerm="NGN", FormName="Naira",FormDescription="")
+NGN,
+/**
+ * Cordoba Oro
+ *
+ **/
+ @SEDA(PropertyTerm="NIO", FormName="Cordoba Oro",FormDescription="")
+NIO,
+/**
+ * Norwegian Krone
+ *
+ **/
+ @SEDA(PropertyTerm="NOK", FormName="Norwegian Krone",FormDescription="")
+NOK,
+/**
+ * Nepalese Rupee
+ *
+ **/
+ @SEDA(PropertyTerm="NPR", FormName="Nepalese Rupee",FormDescription="")
+NPR,
+/**
+ * New Zealand Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="NZD", FormName="New Zealand Dollar",FormDescription="")
+NZD,
+/**
+ * Rial Omani
+ *
+ **/
+ @SEDA(PropertyTerm="OMR", FormName="Rial Omani",FormDescription="")
+OMR,
+/**
+ * Balboa
+ *
+ **/
+ @SEDA(PropertyTerm="PAB", FormName="Balboa",FormDescription="")
+PAB,
+/**
+ * Nuevo Sol
+ *
+ **/
+ @SEDA(PropertyTerm="PEN", FormName="Nuevo Sol",FormDescription="")
+PEN,
+/**
+ * Kina
+ *
+ **/
+ @SEDA(PropertyTerm="PGK", FormName="Kina",FormDescription="")
+PGK,
+/**
+ * Philippine Peso
+ *
+ **/
+ @SEDA(PropertyTerm="PHP", FormName="Philippine Peso",FormDescription="")
+PHP,
+/**
+ * Pakistan Rupee
+ *
+ **/
+ @SEDA(PropertyTerm="PKR", FormName="Pakistan Rupee",FormDescription="")
+PKR,
+/**
+ * Zloty
+ *
+ **/
+ @SEDA(PropertyTerm="PLN", FormName="Zloty",FormDescription="")
+PLN,
+/**
+ * Guarani
+ *
+ **/
+ @SEDA(PropertyTerm="PYG", FormName="Guarani",FormDescription="")
+PYG,
+/**
+ * Qatari Rial
+ *
+ **/
+ @SEDA(PropertyTerm="QAR", FormName="Qatari Rial",FormDescription="")
+QAR,
+/**
+ * New Leu
+ *
+ **/
+ @SEDA(PropertyTerm="RON", FormName="New Leu",FormDescription="")
+RON,
+/**
+ * Serbian Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="RSD", FormName="Serbian Dinar",FormDescription="")
+RSD,
+/**
+ * Russian Ruble
+ *
+ **/
+ @SEDA(PropertyTerm="RUB", FormName="Russian Ruble",FormDescription="")
+RUB,
+/**
+ * Rwanda Franc
+ *
+ **/
+ @SEDA(PropertyTerm="RWF", FormName="Rwanda Franc",FormDescription="")
+RWF,
+/**
+ * Saudi Riyal
+ *
+ **/
+ @SEDA(PropertyTerm="SAR", FormName="Saudi Riyal",FormDescription="")
+SAR,
+/**
+ * Solomon Islands Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="SBD", FormName="Solomon Islands Dollar",FormDescription="")
+SBD,
+/**
+ * Seychelles Rupee
+ *
+ **/
+ @SEDA(PropertyTerm="SCR", FormName="Seychelles Rupee",FormDescription="")
+SCR,
+/**
+ * Sudanese Pound
+ *
+ **/
+ @SEDA(PropertyTerm="SDG", FormName="Sudanese Pound",FormDescription="")
+SDG,
+/**
+ * Swedish Krona
+ *
+ **/
+ @SEDA(PropertyTerm="SEK", FormName="Swedish Krona",FormDescription="")
+SEK,
+/**
+ * Singapore Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="SGD", FormName="Singapore Dollar",FormDescription="")
+SGD,
+/**
+ * Saint Helena Pound
+ *
+ **/
+ @SEDA(PropertyTerm="SHP", FormName="Saint Helena Pound",FormDescription="")
+SHP,
+/**
+ * Slovak Koruna
+ *
+ **/
+ @SEDA(PropertyTerm="SKK", FormName="Slovak Koruna",FormDescription="")
+SKK,
+/**
+ * Leone
+ *
+ **/
+ @SEDA(PropertyTerm="SLL", FormName="Leone",FormDescription="")
+SLL,
+/**
+ * Somali Shilling
+ *
+ **/
+ @SEDA(PropertyTerm="SOS", FormName="Somali Shilling",FormDescription="")
+SOS,
+/**
+ * Surinam Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="SRD", FormName="Surinam Dollar",FormDescription="")
+SRD,
+/**
+ * Dobra
+ *
+ **/
+ @SEDA(PropertyTerm="STD", FormName="Dobra",FormDescription="")
+STD,
+/**
+ * El Salvador Colon
+ *
+ **/
+ @SEDA(PropertyTerm="SVC", FormName="El Salvador Colon",FormDescription="")
+SVC,
+/**
+ * Syrian Pound
+ *
+ **/
+ @SEDA(PropertyTerm="SYP", FormName="Syrian Pound",FormDescription="")
+SYP,
+/**
+ * Lilangeni
+ *
+ **/
+ @SEDA(PropertyTerm="SZL", FormName="Lilangeni",FormDescription="")
+SZL,
+/**
+ * Baht
+ *
+ **/
+ @SEDA(PropertyTerm="THB", FormName="Baht",FormDescription="")
+THB,
+/**
+ * Somoni
+ *
+ **/
+ @SEDA(PropertyTerm="TJS", FormName="Somoni",FormDescription="")
+TJS,
+/**
+ * Manat
+ *
+ **/
+ @SEDA(PropertyTerm="TMM", FormName="Manat",FormDescription="")
+TMM,
+/**
+ * Tunisian Dinar
+ *
+ **/
+ @SEDA(PropertyTerm="TND", FormName="Tunisian Dinar",FormDescription="")
+TND,
+/**
+ * Pa'anga
+ *
+ **/
+ @SEDA(PropertyTerm="TOP", FormName="Pa'anga",FormDescription="")
+TOP,
+/**
+ * Turkish Lira
+ *
+ **/
+ @SEDA(PropertyTerm="TRY", FormName="Turkish Lira",FormDescription="")
+TRY,
+/**
+ * Trinidad and Tobago Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="TTD", FormName="Trinidad and Tobago Dollar",FormDescription="")
+TTD,
+/**
+ * New Taiwan Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="TWD", FormName="New Taiwan Dollar",FormDescription="")
+TWD,
+/**
+ * Tanzanian Shilling
+ *
+ **/
+ @SEDA(PropertyTerm="TZS", FormName="Tanzanian Shilling",FormDescription="")
+TZS,
+/**
+ * Hryvnia
+ *
+ **/
+ @SEDA(PropertyTerm="UAH", FormName="Hryvnia",FormDescription="")
+UAH,
+/**
+ * Uganda Shilling
+ *
+ **/
+ @SEDA(PropertyTerm="UGX", FormName="Uganda Shilling",FormDescription="")
+UGX,
+/**
+ * US Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="USD", FormName="US Dollar",FormDescription="")
+USD,
+/**
+ * US Dollar (Next day)
+ *
+ **/
+ @SEDA(PropertyTerm="USN", FormName="US Dollar (Next day)",FormDescription="")
+USN,
+/**
+ * US Dollar (Same day)
+ *
+ **/
+ @SEDA(PropertyTerm="USS", FormName="US Dollar (Same day)",FormDescription="")
+USS,
+/**
+ * Uruguay Peso en Unidades Indexadas
+ *
+ **/
+ @SEDA(PropertyTerm="UYI", FormName="Uruguay Peso en Unidades Indexadas",FormDescription="")
+UYI,
+/**
+ * Peso Uruguayo
+ *
+ **/
+ @SEDA(PropertyTerm="UYU", FormName="Peso Uruguayo",FormDescription="")
+UYU,
+/**
+ * Uzbekistan Sum
+ *
+ **/
+ @SEDA(PropertyTerm="UZS", FormName="Uzbekistan Sum",FormDescription="")
+UZS,
+/**
+ * Bolivar Fuerte
+ *
+ **/
+ @SEDA(PropertyTerm="VEF", FormName="Bolivar Fuerte",FormDescription="")
+VEF,
+/**
+ * Dong
+ *
+ **/
+ @SEDA(PropertyTerm="VND", FormName="Dong",FormDescription="")
+VND,
+/**
+ * Vatu
+ *
+ **/
+ @SEDA(PropertyTerm="VUV", FormName="Vatu",FormDescription="")
+VUV,
+/**
+ * Tala
+ *
+ **/
+ @SEDA(PropertyTerm="WST", FormName="Tala",FormDescription="")
+WST,
+/**
+ * CFA Franc BEAC
+ *
+ **/
+ @SEDA(PropertyTerm="XAF", FormName="CFA Franc BEAC",FormDescription="")
+XAF,
+/**
+ * Silver
+ *
+ **/
+ @SEDA(PropertyTerm="XAG", FormName="Silver",FormDescription="")
+XAG,
+/**
+ * Gold
+ *
+ **/
+ @SEDA(PropertyTerm="XAU", FormName="Gold",FormDescription="")
+XAU,
+/**
+ * Bond Markets Units European Composite Unit (EURCO)
+ *
+ **/
+ @SEDA(PropertyTerm="XBA", FormName="Bond Markets Units European Composite Unit (EURCO)",FormDescription="")
+XBA,
+/**
+ * European Monetary Unit (E.M.U.-6)
+ *
+ **/
+ @SEDA(PropertyTerm="XBB", FormName="European Monetary Unit (E.M.U.-6)",FormDescription="")
+XBB,
+/**
+ * European Unit of Account 9(E.U.A.-9)
+ *
+ **/
+ @SEDA(PropertyTerm="XBC", FormName="European Unit of Account 9(E.U.A.-9)",FormDescription="")
+XBC,
+/**
+ * European Unit of Account 17(E.U.A.-17)
+ *
+ **/
+ @SEDA(PropertyTerm="XBD", FormName="European Unit of Account 17(E.U.A.-17)",FormDescription="")
+XBD,
+/**
+ * East Caribbean Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="XCD", FormName="East Caribbean Dollar",FormDescription="")
+XCD,
+/**
+ * SDR
+ *
+ **/
+ @SEDA(PropertyTerm="XDR", FormName="SDR",FormDescription="")
+XDR,
+/**
+ * UIC-Franc
+ *
+ **/
+ @SEDA(PropertyTerm="XFU", FormName="UIC-Franc",FormDescription="")
+XFU,
+/**
+ * CFA Franc BCEAO
+ *
+ **/
+ @SEDA(PropertyTerm="XOF", FormName="CFA Franc BCEAO",FormDescription="")
+XOF,
+/**
+ * Palladium
+ *
+ **/
+ @SEDA(PropertyTerm="XPD", FormName="Palladium",FormDescription="")
+XPD,
+/**
+ * CFP Franc
+ *
+ **/
+ @SEDA(PropertyTerm="XPF", FormName="CFP Franc",FormDescription="")
+XPF,
+/**
+ * Reserved for testing purposes
+ *
+ **/
+ @SEDA(PropertyTerm="XTS", FormName="Reserved for testing purposes",FormDescription="")
+XTS,
+/**
+ * Assigned for transactions where no currency is involved
+ *
+ **/
+ @SEDA(PropertyTerm="XXX", FormName="Assigned for transactions where no currency is involved",FormDescription="")
+XXX,
+/**
+ * Yemeni Rial
+ *
+ **/
+ @SEDA(PropertyTerm="YER", FormName="Yemeni Rial",FormDescription="")
+YER,
+/**
+ * Rand
+ *
+ **/
+ @SEDA(PropertyTerm="ZAR", FormName="Rand",FormDescription="")
+ZAR,
+/**
+ * Zambian Kwacha
+ *
+ **/
+ @SEDA(PropertyTerm="ZMK", FormName="Zambian Kwacha",FormDescription="")
+ZMK,
+/**
+ * Zimbabwe Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="ZWR", FormName="Zimbabwe Dollar",FormDescription="")
+ZWR,
+/**
+ * Zimbabwe Dollar
+ *
+ **/
+ @SEDA(PropertyTerm="ZWD", FormName="Zimbabwe Dollar",FormDescription="")
+ZWD,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum ISOTwoletterCountryCodeIdentifierContentType {
+
+/**
+ * ANDORRA
+ *
+ **/
+ @SEDA(PropertyTerm="AD", FormName="ANDORRA",FormDescription="")
+AD,
+/**
+ * UNITED ARAB EMIRATES
+ *
+ **/
+ @SEDA(PropertyTerm="AE", FormName="UNITED ARAB EMIRATES",FormDescription="")
+AE,
+/**
+ * AFGHANISTAN
+ *
+ **/
+ @SEDA(PropertyTerm="AF", FormName="AFGHANISTAN",FormDescription="")
+AF,
+/**
+ * ANTIGUA AND BARBUDA
+ *
+ **/
+ @SEDA(PropertyTerm="AG", FormName="ANTIGUA AND BARBUDA",FormDescription="")
+AG,
+/**
+ * ANGUILLA
+ *
+ **/
+ @SEDA(PropertyTerm="AI", FormName="ANGUILLA",FormDescription="")
+AI,
+/**
+ * ALBANIA
+ *
+ **/
+ @SEDA(PropertyTerm="AL", FormName="ALBANIA",FormDescription="")
+AL,
+/**
+ * ARMENIA
+ *
+ **/
+ @SEDA(PropertyTerm="AM", FormName="ARMENIA",FormDescription="")
+AM,
+/**
+ * NETHERLANDS ANTILLES
+ *
+ **/
+ @SEDA(PropertyTerm="AN", FormName="NETHERLANDS ANTILLES",FormDescription="")
+AN,
+/**
+ * ANGOLA
+ *
+ **/
+ @SEDA(PropertyTerm="AO", FormName="ANGOLA",FormDescription="")
+AO,
+/**
+ * ANTARCTICA
+ *
+ **/
+ @SEDA(PropertyTerm="AQ", FormName="ANTARCTICA",FormDescription="")
+AQ,
+/**
+ * ARGENTINA
+ *
+ **/
+ @SEDA(PropertyTerm="AR", FormName="ARGENTINA",FormDescription="")
+AR,
+/**
+ * AMERICAN SAMOA
+ *
+ **/
+ @SEDA(PropertyTerm="AS", FormName="AMERICAN SAMOA",FormDescription="")
+AS,
+/**
+ * AUSTRIA
+ *
+ **/
+ @SEDA(PropertyTerm="AT", FormName="AUSTRIA",FormDescription="")
+AT,
+/**
+ * AUSTRALIA
+ *
+ **/
+ @SEDA(PropertyTerm="AU", FormName="AUSTRALIA",FormDescription="")
+AU,
+/**
+ * ARUBA
+ *
+ **/
+ @SEDA(PropertyTerm="AW", FormName="ARUBA",FormDescription="")
+AW,
+/**
+ * ÅLAND ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="AX", FormName="ÅLAND ISLANDS",FormDescription="")
+AX,
+/**
+ * AZERBAIJAN
+ *
+ **/
+ @SEDA(PropertyTerm="AZ", FormName="AZERBAIJAN",FormDescription="")
+AZ,
+/**
+ * BOSNIA AND HERZEGOVINA
+ *
+ **/
+ @SEDA(PropertyTerm="BA", FormName="BOSNIA AND HERZEGOVINA",FormDescription="")
+BA,
+/**
+ * BARBADOS
+ *
+ **/
+ @SEDA(PropertyTerm="BB", FormName="BARBADOS",FormDescription="")
+BB,
+/**
+ * BANGLADESH
+ *
+ **/
+ @SEDA(PropertyTerm="BD", FormName="BANGLADESH",FormDescription="")
+BD,
+/**
+ * BELGIUM
+ *
+ **/
+ @SEDA(PropertyTerm="BE", FormName="BELGIUM",FormDescription="")
+BE,
+/**
+ * BURKINA FASO
+ *
+ **/
+ @SEDA(PropertyTerm="BF", FormName="BURKINA FASO",FormDescription="")
+BF,
+/**
+ * BULGARIA
+ *
+ **/
+ @SEDA(PropertyTerm="BG", FormName="BULGARIA",FormDescription="")
+BG,
+/**
+ * BAHRAIN
+ *
+ **/
+ @SEDA(PropertyTerm="BH", FormName="BAHRAIN",FormDescription="")
+BH,
+/**
+ * BURUNDI
+ *
+ **/
+ @SEDA(PropertyTerm="BI", FormName="BURUNDI",FormDescription="")
+BI,
+/**
+ * SAINT BARTHELEMY
+ *
+ **/
+ @SEDA(PropertyTerm="BL", FormName="SAINT BARTHELEMY",FormDescription="")
+BL,
+/**
+ * BENIN
+ *
+ **/
+ @SEDA(PropertyTerm="BJ", FormName="BENIN",FormDescription="")
+BJ,
+/**
+ * BERMUDA
+ *
+ **/
+ @SEDA(PropertyTerm="BM", FormName="BERMUDA",FormDescription="")
+BM,
+/**
+ * BRUNEI DARUSSALAM
+ *
+ **/
+ @SEDA(PropertyTerm="BN", FormName="BRUNEI DARUSSALAM",FormDescription="")
+BN,
+/**
+ * BOLIVIA
+ *
+ **/
+ @SEDA(PropertyTerm="BO", FormName="BOLIVIA",FormDescription="")
+BO,
+/**
+ * BRAZIL
+ *
+ **/
+ @SEDA(PropertyTerm="BR", FormName="BRAZIL",FormDescription="")
+BR,
+/**
+ * BAHAMAS
+ *
+ **/
+ @SEDA(PropertyTerm="BS", FormName="BAHAMAS",FormDescription="")
+BS,
+/**
+ * BHUTAN
+ *
+ **/
+ @SEDA(PropertyTerm="BT", FormName="BHUTAN",FormDescription="")
+BT,
+/**
+ * BOUVET ISLAND
+ *
+ **/
+ @SEDA(PropertyTerm="BV", FormName="BOUVET ISLAND",FormDescription="")
+BV,
+/**
+ * BOTSWANA
+ *
+ **/
+ @SEDA(PropertyTerm="BW", FormName="BOTSWANA",FormDescription="")
+BW,
+/**
+ * BELARUS
+ *
+ **/
+ @SEDA(PropertyTerm="BY", FormName="BELARUS",FormDescription="")
+BY,
+/**
+ * BELIZE
+ *
+ **/
+ @SEDA(PropertyTerm="BZ", FormName="BELIZE",FormDescription="")
+BZ,
+/**
+ * CANADA
+ *
+ **/
+ @SEDA(PropertyTerm="CA", FormName="CANADA",FormDescription="")
+CA,
+/**
+ * COCOS (KEELING) ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="CC", FormName="COCOS (KEELING) ISLANDS",FormDescription="")
+CC,
+/**
+ * CONGO, THE DEMOCRATIC REPUBLIC OF THE
+ *
+ **/
+ @SEDA(PropertyTerm="CD", FormName="CONGO, THE DEMOCRATIC REPUBLIC OF THE",FormDescription="")
+CD,
+/**
+ * CENTRAL AFRICAN REPUBLIC
+ *
+ **/
+ @SEDA(PropertyTerm="CF", FormName="CENTRAL AFRICAN REPUBLIC",FormDescription="")
+CF,
+/**
+ * CONGO
+ *
+ **/
+ @SEDA(PropertyTerm="CG", FormName="CONGO",FormDescription="")
+CG,
+/**
+ * SWITZERLAND
+ *
+ **/
+ @SEDA(PropertyTerm="CH", FormName="SWITZERLAND",FormDescription="")
+CH,
+/**
+ * COTE D'IVOIRE
+ *
+ **/
+ @SEDA(PropertyTerm="CI", FormName="COTE D'IVOIRE",FormDescription="")
+CI,
+/**
+ * COOK ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="CK", FormName="COOK ISLANDS",FormDescription="")
+CK,
+/**
+ * CHILE
+ *
+ **/
+ @SEDA(PropertyTerm="CL", FormName="CHILE",FormDescription="")
+CL,
+/**
+ * CAMEROON
+ *
+ **/
+ @SEDA(PropertyTerm="CM", FormName="CAMEROON",FormDescription="")
+CM,
+/**
+ * CHINA
+ *
+ **/
+ @SEDA(PropertyTerm="CN", FormName="CHINA",FormDescription="")
+CN,
+/**
+ * COLOMBIA
+ *
+ **/
+ @SEDA(PropertyTerm="CO", FormName="COLOMBIA",FormDescription="")
+CO,
+/**
+ * COSTA RICA
+ *
+ **/
+ @SEDA(PropertyTerm="CR", FormName="COSTA RICA",FormDescription="")
+CR,
+/**
+ * CUBA
+ *
+ **/
+ @SEDA(PropertyTerm="CU", FormName="CUBA",FormDescription="")
+CU,
+/**
+ * CAPE VERDE
+ *
+ **/
+ @SEDA(PropertyTerm="CV", FormName="CAPE VERDE",FormDescription="")
+CV,
+/**
+ * CHRISTMAS ISLAND
+ *
+ **/
+ @SEDA(PropertyTerm="CX", FormName="CHRISTMAS ISLAND",FormDescription="")
+CX,
+/**
+ * CYPRUS
+ *
+ **/
+ @SEDA(PropertyTerm="CY", FormName="CYPRUS",FormDescription="")
+CY,
+/**
+ * CZECH REPUBLIC
+ *
+ **/
+ @SEDA(PropertyTerm="CZ", FormName="CZECH REPUBLIC",FormDescription="")
+CZ,
+/**
+ * GERMANY
+ *
+ **/
+ @SEDA(PropertyTerm="DE", FormName="GERMANY",FormDescription="")
+DE,
+/**
+ * DJIBOUTI
+ *
+ **/
+ @SEDA(PropertyTerm="DJ", FormName="DJIBOUTI",FormDescription="")
+DJ,
+/**
+ * DENMARK
+ *
+ **/
+ @SEDA(PropertyTerm="DK", FormName="DENMARK",FormDescription="")
+DK,
+/**
+ * DOMINICA
+ *
+ **/
+ @SEDA(PropertyTerm="DM", FormName="DOMINICA",FormDescription="")
+DM,
+/**
+ * DOMINICAN REPUBLIC
+ *
+ **/
+ @SEDA(PropertyTerm="DO", FormName="DOMINICAN REPUBLIC",FormDescription="")
+DO,
+/**
+ * ALGERIA
+ *
+ **/
+ @SEDA(PropertyTerm="DZ", FormName="ALGERIA",FormDescription="")
+DZ,
+/**
+ * ECUADOR
+ *
+ **/
+ @SEDA(PropertyTerm="EC", FormName="ECUADOR",FormDescription="")
+EC,
+/**
+ * ESTONIA
+ *
+ **/
+ @SEDA(PropertyTerm="EE", FormName="ESTONIA",FormDescription="")
+EE,
+/**
+ * EGYPT
+ *
+ **/
+ @SEDA(PropertyTerm="EG", FormName="EGYPT",FormDescription="")
+EG,
+/**
+ * WESTERN SAHARA
+ *
+ **/
+ @SEDA(PropertyTerm="EH", FormName="WESTERN SAHARA",FormDescription="")
+EH,
+/**
+ * ERITREA
+ *
+ **/
+ @SEDA(PropertyTerm="ER", FormName="ERITREA",FormDescription="")
+ER,
+/**
+ * SPAIN
+ *
+ **/
+ @SEDA(PropertyTerm="ES", FormName="SPAIN",FormDescription="")
+ES,
+/**
+ * ETHIOPIA
+ *
+ **/
+ @SEDA(PropertyTerm="ET", FormName="ETHIOPIA",FormDescription="")
+ET,
+/**
+ * FINLAND
+ *
+ **/
+ @SEDA(PropertyTerm="FI", FormName="FINLAND",FormDescription="")
+FI,
+/**
+ * FIJI
+ *
+ **/
+ @SEDA(PropertyTerm="FJ", FormName="FIJI",FormDescription="")
+FJ,
+/**
+ * FALKLAND ISLANDS (MALVINAS)
+ *
+ **/
+ @SEDA(PropertyTerm="FK", FormName="FALKLAND ISLANDS (MALVINAS)",FormDescription="")
+FK,
+/**
+ * MICRONESIA, FEDERATED STATES OF
+ *
+ **/
+ @SEDA(PropertyTerm="FM", FormName="MICRONESIA, FEDERATED STATES OF",FormDescription="")
+FM,
+/**
+ * FAROE ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="FO", FormName="FAROE ISLANDS",FormDescription="")
+FO,
+/**
+ * FRANCE
+ *
+ **/
+ @SEDA(PropertyTerm="FR", FormName="FRANCE",FormDescription="")
+FR,
+/**
+ * GABON
+ *
+ **/
+ @SEDA(PropertyTerm="GA", FormName="GABON",FormDescription="")
+GA,
+/**
+ * UNITED KINGDOM
+ *
+ **/
+ @SEDA(PropertyTerm="GB", FormName="UNITED KINGDOM",FormDescription="")
+GB,
+/**
+ * GRENADA
+ *
+ **/
+ @SEDA(PropertyTerm="GD", FormName="GRENADA",FormDescription="")
+GD,
+/**
+ * GEORGIA
+ *
+ **/
+ @SEDA(PropertyTerm="GE", FormName="GEORGIA",FormDescription="")
+GE,
+/**
+ * FRENCH GUIANA
+ *
+ **/
+ @SEDA(PropertyTerm="GF", FormName="FRENCH GUIANA",FormDescription="")
+GF,
+/**
+ * GUERNSEY
+ *
+ **/
+ @SEDA(PropertyTerm="GG", FormName="GUERNSEY",FormDescription="")
+GG,
+/**
+ * GHANA
+ *
+ **/
+ @SEDA(PropertyTerm="GH", FormName="GHANA",FormDescription="")
+GH,
+/**
+ * GIBRALTAR
+ *
+ **/
+ @SEDA(PropertyTerm="GI", FormName="GIBRALTAR",FormDescription="")
+GI,
+/**
+ * GREENLAND
+ *
+ **/
+ @SEDA(PropertyTerm="GL", FormName="GREENLAND",FormDescription="")
+GL,
+/**
+ * GAMBIA
+ *
+ **/
+ @SEDA(PropertyTerm="GM", FormName="GAMBIA",FormDescription="")
+GM,
+/**
+ * GUINEA
+ *
+ **/
+ @SEDA(PropertyTerm="GN", FormName="GUINEA",FormDescription="")
+GN,
+/**
+ * GUADELOUPE
+ *
+ **/
+ @SEDA(PropertyTerm="GP", FormName="GUADELOUPE",FormDescription="")
+GP,
+/**
+ * EQUATORIAL GUINEA
+ *
+ **/
+ @SEDA(PropertyTerm="GQ", FormName="EQUATORIAL GUINEA",FormDescription="")
+GQ,
+/**
+ * GREECE
+ *
+ **/
+ @SEDA(PropertyTerm="GR", FormName="GREECE",FormDescription="")
+GR,
+/**
+ * SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="GS", FormName="SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS",FormDescription="")
+GS,
+/**
+ * GUATEMALA
+ *
+ **/
+ @SEDA(PropertyTerm="GT", FormName="GUATEMALA",FormDescription="")
+GT,
+/**
+ * GUAM
+ *
+ **/
+ @SEDA(PropertyTerm="GU", FormName="GUAM",FormDescription="")
+GU,
+/**
+ * GUINEA-BISSAU
+ *
+ **/
+ @SEDA(PropertyTerm="GW", FormName="GUINEA-BISSAU",FormDescription="")
+GW,
+/**
+ * GUYANA
+ *
+ **/
+ @SEDA(PropertyTerm="GY", FormName="GUYANA",FormDescription="")
+GY,
+/**
+ * HONG KONG
+ *
+ **/
+ @SEDA(PropertyTerm="HK", FormName="HONG KONG",FormDescription="")
+HK,
+/**
+ * HEARD ISLAND AND MCDONALD ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="HM", FormName="HEARD ISLAND AND MCDONALD ISLANDS",FormDescription="")
+HM,
+/**
+ * HONDURAS
+ *
+ **/
+ @SEDA(PropertyTerm="HN", FormName="HONDURAS",FormDescription="")
+HN,
+/**
+ * CROATIA
+ *
+ **/
+ @SEDA(PropertyTerm="HR", FormName="CROATIA",FormDescription="")
+HR,
+/**
+ * HAITI
+ *
+ **/
+ @SEDA(PropertyTerm="HT", FormName="HAITI",FormDescription="")
+HT,
+/**
+ * HUNGARY
+ *
+ **/
+ @SEDA(PropertyTerm="HU", FormName="HUNGARY",FormDescription="")
+HU,
+/**
+ * INDONESIA
+ *
+ **/
+ @SEDA(PropertyTerm="ID", FormName="INDONESIA",FormDescription="")
+ID,
+/**
+ * IRELAND
+ *
+ **/
+ @SEDA(PropertyTerm="IE", FormName="IRELAND",FormDescription="")
+IE,
+/**
+ * ISRAEL
+ *
+ **/
+ @SEDA(PropertyTerm="IL", FormName="ISRAEL",FormDescription="")
+IL,
+/**
+ * ISLE OF MAN
+ *
+ **/
+ @SEDA(PropertyTerm="IM", FormName="ISLE OF MAN",FormDescription="")
+IM,
+/**
+ * INDIA
+ *
+ **/
+ @SEDA(PropertyTerm="IN", FormName="INDIA",FormDescription="")
+IN,
+/**
+ * BRITISH INDIAN OCEAN TERRITORY
+ *
+ **/
+ @SEDA(PropertyTerm="IO", FormName="BRITISH INDIAN OCEAN TERRITORY",FormDescription="")
+IO,
+/**
+ * IRAQ
+ *
+ **/
+ @SEDA(PropertyTerm="IQ", FormName="IRAQ",FormDescription="")
+IQ,
+/**
+ * IRAN, ISLAMIC REPUBLIC OF
+ *
+ **/
+ @SEDA(PropertyTerm="IR", FormName="IRAN, ISLAMIC REPUBLIC OF",FormDescription="")
+IR,
+/**
+ * ICELAND
+ *
+ **/
+ @SEDA(PropertyTerm="IS", FormName="ICELAND",FormDescription="")
+IS,
+/**
+ * ITALY
+ *
+ **/
+ @SEDA(PropertyTerm="IT", FormName="ITALY",FormDescription="")
+IT,
+/**
+ * JERSEY
+ *
+ **/
+ @SEDA(PropertyTerm="JE", FormName="JERSEY",FormDescription="")
+JE,
+/**
+ * JAMAICA
+ *
+ **/
+ @SEDA(PropertyTerm="JM", FormName="JAMAICA",FormDescription="")
+JM,
+/**
+ * JORDAN
+ *
+ **/
+ @SEDA(PropertyTerm="JO", FormName="JORDAN",FormDescription="")
+JO,
+/**
+ * JAPAN
+ *
+ **/
+ @SEDA(PropertyTerm="JP", FormName="JAPAN",FormDescription="")
+JP,
+/**
+ * KENYA
+ *
+ **/
+ @SEDA(PropertyTerm="KE", FormName="KENYA",FormDescription="")
+KE,
+/**
+ * KYRGYZSTAN
+ *
+ **/
+ @SEDA(PropertyTerm="KG", FormName="KYRGYZSTAN",FormDescription="")
+KG,
+/**
+ * CAMBODIA
+ *
+ **/
+ @SEDA(PropertyTerm="KH", FormName="CAMBODIA",FormDescription="")
+KH,
+/**
+ * KIRIBATI
+ *
+ **/
+ @SEDA(PropertyTerm="KI", FormName="KIRIBATI",FormDescription="")
+KI,
+/**
+ * COMOROS
+ *
+ **/
+ @SEDA(PropertyTerm="KM", FormName="COMOROS",FormDescription="")
+KM,
+/**
+ * SAINT KITTS AND NEVIS
+ *
+ **/
+ @SEDA(PropertyTerm="KN", FormName="SAINT KITTS AND NEVIS",FormDescription="")
+KN,
+/**
+ * KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF
+ *
+ **/
+ @SEDA(PropertyTerm="KP", FormName="KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF",FormDescription="")
+KP,
+/**
+ * KOREA, REPUBLIC OF
+ *
+ **/
+ @SEDA(PropertyTerm="KR", FormName="KOREA, REPUBLIC OF",FormDescription="")
+KR,
+/**
+ * KUWAIT
+ *
+ **/
+ @SEDA(PropertyTerm="KW", FormName="KUWAIT",FormDescription="")
+KW,
+/**
+ * CAYMAN ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="KY", FormName="CAYMAN ISLANDS",FormDescription="")
+KY,
+/**
+ * KAZAKHSTAN
+ *
+ **/
+ @SEDA(PropertyTerm="KZ", FormName="KAZAKHSTAN",FormDescription="")
+KZ,
+/**
+ * LAO PEOPLE'S DEMOCRATIC REPUBLIC
+ *
+ **/
+ @SEDA(PropertyTerm="LA", FormName="LAO PEOPLE'S DEMOCRATIC REPUBLIC",FormDescription="")
+LA,
+/**
+ * LEBANON
+ *
+ **/
+ @SEDA(PropertyTerm="LB", FormName="LEBANON",FormDescription="")
+LB,
+/**
+ * SAINT LUCIA
+ *
+ **/
+ @SEDA(PropertyTerm="LC", FormName="SAINT LUCIA",FormDescription="")
+LC,
+/**
+ * LIECHTENSTEIN
+ *
+ **/
+ @SEDA(PropertyTerm="LI", FormName="LIECHTENSTEIN",FormDescription="")
+LI,
+/**
+ * SRI LANKA
+ *
+ **/
+ @SEDA(PropertyTerm="LK", FormName="SRI LANKA",FormDescription="")
+LK,
+/**
+ * LIBERIA
+ *
+ **/
+ @SEDA(PropertyTerm="LR", FormName="LIBERIA",FormDescription="")
+LR,
+/**
+ * LESOTHO
+ *
+ **/
+ @SEDA(PropertyTerm="LS", FormName="LESOTHO",FormDescription="")
+LS,
+/**
+ * LITHUANIA
+ *
+ **/
+ @SEDA(PropertyTerm="LT", FormName="LITHUANIA",FormDescription="")
+LT,
+/**
+ * LUXEMBOURG
+ *
+ **/
+ @SEDA(PropertyTerm="LU", FormName="LUXEMBOURG",FormDescription="")
+LU,
+/**
+ * LATVIA
+ *
+ **/
+ @SEDA(PropertyTerm="LV", FormName="LATVIA",FormDescription="")
+LV,
+/**
+ * LIBYAN ARAB JAMAHIRIYA
+ *
+ **/
+ @SEDA(PropertyTerm="LY", FormName="LIBYAN ARAB JAMAHIRIYA",FormDescription="")
+LY,
+/**
+ * MOROCCO
+ *
+ **/
+ @SEDA(PropertyTerm="MA", FormName="MOROCCO",FormDescription="")
+MA,
+/**
+ * MONACO
+ *
+ **/
+ @SEDA(PropertyTerm="MC", FormName="MONACO",FormDescription="")
+MC,
+/**
+ * MOLDOVA
+ *
+ **/
+ @SEDA(PropertyTerm="MD", FormName="MOLDOVA",FormDescription="")
+MD,
+/**
+ * MONTENEGRO
+ *
+ **/
+ @SEDA(PropertyTerm="ME", FormName="MONTENEGRO",FormDescription="")
+ME,
+/**
+ * SAINT MARTIN
+ *
+ **/
+ @SEDA(PropertyTerm="MF", FormName="SAINT MARTIN",FormDescription="")
+MF,
+/**
+ * MADAGASCAR
+ *
+ **/
+ @SEDA(PropertyTerm="MG", FormName="MADAGASCAR",FormDescription="")
+MG,
+/**
+ * MARSHALL ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="MH", FormName="MARSHALL ISLANDS",FormDescription="")
+MH,
+/**
+ * MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF
+ *
+ **/
+ @SEDA(PropertyTerm="MK", FormName="MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF",FormDescription="")
+MK,
+/**
+ * MALI
+ *
+ **/
+ @SEDA(PropertyTerm="ML", FormName="MALI",FormDescription="")
+ML,
+/**
+ * MYANMAR
+ *
+ **/
+ @SEDA(PropertyTerm="MM", FormName="MYANMAR",FormDescription="")
+MM,
+/**
+ * MONGOLIA
+ *
+ **/
+ @SEDA(PropertyTerm="MN", FormName="MONGOLIA",FormDescription="")
+MN,
+/**
+ * MACAO
+ *
+ **/
+ @SEDA(PropertyTerm="MO", FormName="MACAO",FormDescription="")
+MO,
+/**
+ * NORTHERN MARIANA ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="MP", FormName="NORTHERN MARIANA ISLANDS",FormDescription="")
+MP,
+/**
+ * MARTINIQUE
+ *
+ **/
+ @SEDA(PropertyTerm="MQ", FormName="MARTINIQUE",FormDescription="")
+MQ,
+/**
+ * MAURITANIA
+ *
+ **/
+ @SEDA(PropertyTerm="MR", FormName="MAURITANIA",FormDescription="")
+MR,
+/**
+ * MONTSERRAT
+ *
+ **/
+ @SEDA(PropertyTerm="MS", FormName="MONTSERRAT",FormDescription="")
+MS,
+/**
+ * MALTA
+ *
+ **/
+ @SEDA(PropertyTerm="MT", FormName="MALTA",FormDescription="")
+MT,
+/**
+ * MAURITIUS
+ *
+ **/
+ @SEDA(PropertyTerm="MU", FormName="MAURITIUS",FormDescription="")
+MU,
+/**
+ * MALDIVES
+ *
+ **/
+ @SEDA(PropertyTerm="MV", FormName="MALDIVES",FormDescription="")
+MV,
+/**
+ * MALAWI
+ *
+ **/
+ @SEDA(PropertyTerm="MW", FormName="MALAWI",FormDescription="")
+MW,
+/**
+ * MEXICO
+ *
+ **/
+ @SEDA(PropertyTerm="MX", FormName="MEXICO",FormDescription="")
+MX,
+/**
+ * MALAYSIA
+ *
+ **/
+ @SEDA(PropertyTerm="MY", FormName="MALAYSIA",FormDescription="")
+MY,
+/**
+ * MOZAMBIQUE
+ *
+ **/
+ @SEDA(PropertyTerm="MZ", FormName="MOZAMBIQUE",FormDescription="")
+MZ,
+/**
+ * NAMIBIA
+ *
+ **/
+ @SEDA(PropertyTerm="NA", FormName="NAMIBIA",FormDescription="")
+NA,
+/**
+ * NEW CALEDONIA
+ *
+ **/
+ @SEDA(PropertyTerm="NC", FormName="NEW CALEDONIA",FormDescription="")
+NC,
+/**
+ * NIGER
+ *
+ **/
+ @SEDA(PropertyTerm="NE", FormName="NIGER",FormDescription="")
+NE,
+/**
+ * NORFOLK ISLAND
+ *
+ **/
+ @SEDA(PropertyTerm="NF", FormName="NORFOLK ISLAND",FormDescription="")
+NF,
+/**
+ * NIGERIA
+ *
+ **/
+ @SEDA(PropertyTerm="NG", FormName="NIGERIA",FormDescription="")
+NG,
+/**
+ * NICARAGUA
+ *
+ **/
+ @SEDA(PropertyTerm="NI", FormName="NICARAGUA",FormDescription="")
+NI,
+/**
+ * NETHERLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="NL", FormName="NETHERLANDS",FormDescription="")
+NL,
+/**
+ * NORWAY
+ *
+ **/
+ @SEDA(PropertyTerm="NO", FormName="NORWAY",FormDescription="")
+NO,
+/**
+ * NEPAL
+ *
+ **/
+ @SEDA(PropertyTerm="NP", FormName="NEPAL",FormDescription="")
+NP,
+/**
+ * NAURU
+ *
+ **/
+ @SEDA(PropertyTerm="NR", FormName="NAURU",FormDescription="")
+NR,
+/**
+ * NIUE
+ *
+ **/
+ @SEDA(PropertyTerm="NU", FormName="NIUE",FormDescription="")
+NU,
+/**
+ * NEW ZEALAND
+ *
+ **/
+ @SEDA(PropertyTerm="NZ", FormName="NEW ZEALAND",FormDescription="")
+NZ,
+/**
+ * OMAN
+ *
+ **/
+ @SEDA(PropertyTerm="OM", FormName="OMAN",FormDescription="")
+OM,
+/**
+ * PANAMA
+ *
+ **/
+ @SEDA(PropertyTerm="PA", FormName="PANAMA",FormDescription="")
+PA,
+/**
+ * PERU
+ *
+ **/
+ @SEDA(PropertyTerm="PE", FormName="PERU",FormDescription="")
+PE,
+/**
+ * FRENCH POLYNESIA
+ *
+ **/
+ @SEDA(PropertyTerm="PF", FormName="FRENCH POLYNESIA",FormDescription="")
+PF,
+/**
+ * PAPUA NEW GUINEA
+ *
+ **/
+ @SEDA(PropertyTerm="PG", FormName="PAPUA NEW GUINEA",FormDescription="")
+PG,
+/**
+ * PHILIPPINES
+ *
+ **/
+ @SEDA(PropertyTerm="PH", FormName="PHILIPPINES",FormDescription="")
+PH,
+/**
+ * PAKISTAN
+ *
+ **/
+ @SEDA(PropertyTerm="PK", FormName="PAKISTAN",FormDescription="")
+PK,
+/**
+ * POLAND
+ *
+ **/
+ @SEDA(PropertyTerm="PL", FormName="POLAND",FormDescription="")
+PL,
+/**
+ * SAINT PIERRE AND MIQUELON
+ *
+ **/
+ @SEDA(PropertyTerm="PM", FormName="SAINT PIERRE AND MIQUELON",FormDescription="")
+PM,
+/**
+ * PITCAIRN
+ *
+ **/
+ @SEDA(PropertyTerm="PN", FormName="PITCAIRN",FormDescription="")
+PN,
+/**
+ * PUERTO RICO
+ *
+ **/
+ @SEDA(PropertyTerm="PR", FormName="PUERTO RICO",FormDescription="")
+PR,
+/**
+ * PALESTINIAN TERRITORY, OCCUPIED
+ *
+ **/
+ @SEDA(PropertyTerm="PS", FormName="PALESTINIAN TERRITORY, OCCUPIED",FormDescription="")
+PS,
+/**
+ * PORTUGAL
+ *
+ **/
+ @SEDA(PropertyTerm="PT", FormName="PORTUGAL",FormDescription="")
+PT,
+/**
+ * PALAU
+ *
+ **/
+ @SEDA(PropertyTerm="PW", FormName="PALAU",FormDescription="")
+PW,
+/**
+ * PARAGUAY
+ *
+ **/
+ @SEDA(PropertyTerm="PY", FormName="PARAGUAY",FormDescription="")
+PY,
+/**
+ * QATAR
+ *
+ **/
+ @SEDA(PropertyTerm="QA", FormName="QATAR",FormDescription="")
+QA,
+/**
+ * ROMANIA
+ *
+ **/
+ @SEDA(PropertyTerm="RO", FormName="ROMANIA",FormDescription="")
+RO,
+/**
+ * SERBIA
+ *
+ **/
+ @SEDA(PropertyTerm="RS", FormName="SERBIA",FormDescription="")
+RS,
+/**
+ * RUSSIAN FEDERATION
+ *
+ **/
+ @SEDA(PropertyTerm="RU", FormName="RUSSIAN FEDERATION",FormDescription="")
+RU,
+/**
+ * RWANDA
+ *
+ **/
+ @SEDA(PropertyTerm="RW", FormName="RWANDA",FormDescription="")
+RW,
+/**
+ * SAUDI ARABIA
+ *
+ **/
+ @SEDA(PropertyTerm="SA", FormName="SAUDI ARABIA",FormDescription="")
+SA,
+/**
+ * SOLOMON ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="SB", FormName="SOLOMON ISLANDS",FormDescription="")
+SB,
+/**
+ * SEYCHELLES
+ *
+ **/
+ @SEDA(PropertyTerm="SC", FormName="SEYCHELLES",FormDescription="")
+SC,
+/**
+ * SUDAN
+ *
+ **/
+ @SEDA(PropertyTerm="SD", FormName="SUDAN",FormDescription="")
+SD,
+/**
+ * SWEDEN
+ *
+ **/
+ @SEDA(PropertyTerm="SE", FormName="SWEDEN",FormDescription="")
+SE,
+/**
+ * SINGAPORE
+ *
+ **/
+ @SEDA(PropertyTerm="SG", FormName="SINGAPORE",FormDescription="")
+SG,
+/**
+ * SAINT HELENA
+ *
+ **/
+ @SEDA(PropertyTerm="SH", FormName="SAINT HELENA",FormDescription="")
+SH,
+/**
+ * SLOVENIA
+ *
+ **/
+ @SEDA(PropertyTerm="SI", FormName="SLOVENIA",FormDescription="")
+SI,
+/**
+ * SVALBARD AND JAN MAYEN
+ *
+ **/
+ @SEDA(PropertyTerm="SJ", FormName="SVALBARD AND JAN MAYEN",FormDescription="")
+SJ,
+/**
+ * SLOVAKIA
+ *
+ **/
+ @SEDA(PropertyTerm="SK", FormName="SLOVAKIA",FormDescription="")
+SK,
+/**
+ * SIERRA LEONE
+ *
+ **/
+ @SEDA(PropertyTerm="SL", FormName="SIERRA LEONE",FormDescription="")
+SL,
+/**
+ * SAN MARINO
+ *
+ **/
+ @SEDA(PropertyTerm="SM", FormName="SAN MARINO",FormDescription="")
+SM,
+/**
+ * SENEGAL
+ *
+ **/
+ @SEDA(PropertyTerm="SN", FormName="SENEGAL",FormDescription="")
+SN,
+/**
+ * SOMALIA
+ *
+ **/
+ @SEDA(PropertyTerm="SO", FormName="SOMALIA",FormDescription="")
+SO,
+/**
+ * SURINAME
+ *
+ **/
+ @SEDA(PropertyTerm="SR", FormName="SURINAME",FormDescription="")
+SR,
+/**
+ * SAO TOME AND PRINCIPE
+ *
+ **/
+ @SEDA(PropertyTerm="ST", FormName="SAO TOME AND PRINCIPE",FormDescription="")
+ST,
+/**
+ * EL SALVADOR
+ *
+ **/
+ @SEDA(PropertyTerm="SV", FormName="EL SALVADOR",FormDescription="")
+SV,
+/**
+ * SYRIAN ARAB REPUBLIC
+ *
+ **/
+ @SEDA(PropertyTerm="SY", FormName="SYRIAN ARAB REPUBLIC",FormDescription="")
+SY,
+/**
+ * SWAZILAND
+ *
+ **/
+ @SEDA(PropertyTerm="SZ", FormName="SWAZILAND",FormDescription="")
+SZ,
+/**
+ * TURKS AND CAICOS ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="TC", FormName="TURKS AND CAICOS ISLANDS",FormDescription="")
+TC,
+/**
+ * CHAD
+ *
+ **/
+ @SEDA(PropertyTerm="TD", FormName="CHAD",FormDescription="")
+TD,
+/**
+ * FRENCH SOUTHERN TERRITORIES
+ *
+ **/
+ @SEDA(PropertyTerm="TF", FormName="FRENCH SOUTHERN TERRITORIES",FormDescription="")
+TF,
+/**
+ * TOGO
+ *
+ **/
+ @SEDA(PropertyTerm="TG", FormName="TOGO",FormDescription="")
+TG,
+/**
+ * THAILAND
+ *
+ **/
+ @SEDA(PropertyTerm="TH", FormName="THAILAND",FormDescription="")
+TH,
+/**
+ * TAJIKISTAN
+ *
+ **/
+ @SEDA(PropertyTerm="TJ", FormName="TAJIKISTAN",FormDescription="")
+TJ,
+/**
+ * TOKELAU
+ *
+ **/
+ @SEDA(PropertyTerm="TK", FormName="TOKELAU",FormDescription="")
+TK,
+/**
+ * TIMOR-LESTE
+ *
+ **/
+ @SEDA(PropertyTerm="TL", FormName="TIMOR-LESTE",FormDescription="")
+TL,
+/**
+ * TURKMENISTAN
+ *
+ **/
+ @SEDA(PropertyTerm="TM", FormName="TURKMENISTAN",FormDescription="")
+TM,
+/**
+ * TUNISIA
+ *
+ **/
+ @SEDA(PropertyTerm="TN", FormName="TUNISIA",FormDescription="")
+TN,
+/**
+ * TONGA
+ *
+ **/
+ @SEDA(PropertyTerm="TO", FormName="TONGA",FormDescription="")
+TO,
+/**
+ * TURKEY
+ *
+ **/
+ @SEDA(PropertyTerm="TR", FormName="TURKEY",FormDescription="")
+TR,
+/**
+ * TRINIDAD AND TOBAGO
+ *
+ **/
+ @SEDA(PropertyTerm="TT", FormName="TRINIDAD AND TOBAGO",FormDescription="")
+TT,
+/**
+ * TUVALU
+ *
+ **/
+ @SEDA(PropertyTerm="TV", FormName="TUVALU",FormDescription="")
+TV,
+/**
+ * TAIWAN, PROVINCE OF CHINA
+ *
+ **/
+ @SEDA(PropertyTerm="TW", FormName="TAIWAN, PROVINCE OF CHINA",FormDescription="")
+TW,
+/**
+ * TANZANIA, UNITED REPUBLIC OF
+ *
+ **/
+ @SEDA(PropertyTerm="TZ", FormName="TANZANIA, UNITED REPUBLIC OF",FormDescription="")
+TZ,
+/**
+ * UKRAINE
+ *
+ **/
+ @SEDA(PropertyTerm="UA", FormName="UKRAINE",FormDescription="")
+UA,
+/**
+ * UGANDA
+ *
+ **/
+ @SEDA(PropertyTerm="UG", FormName="UGANDA",FormDescription="")
+UG,
+/**
+ * UNITED STATES MINOR OUTLYING ISLANDS
+ *
+ **/
+ @SEDA(PropertyTerm="UM", FormName="UNITED STATES MINOR OUTLYING ISLANDS",FormDescription="")
+UM,
+/**
+ * UNITED STATES
+ *
+ **/
+ @SEDA(PropertyTerm="US", FormName="UNITED STATES",FormDescription="")
+US,
+/**
+ * URUGUAY
+ *
+ **/
+ @SEDA(PropertyTerm="UY", FormName="URUGUAY",FormDescription="")
+UY,
+/**
+ * UZBEKISTAN
+ *
+ **/
+ @SEDA(PropertyTerm="UZ", FormName="UZBEKISTAN",FormDescription="")
+UZ,
+/**
+ * HOLY SEE (VATICAN CITY STATE)
+ *
+ **/
+ @SEDA(PropertyTerm="VA", FormName="HOLY SEE (VATICAN CITY STATE)",FormDescription="")
+VA,
+/**
+ * SAINT VINCENT AND THE GRENADINES
+ *
+ **/
+ @SEDA(PropertyTerm="VC", FormName="SAINT VINCENT AND THE GRENADINES",FormDescription="")
+VC,
+/**
+ * VENEZUELA
+ *
+ **/
+ @SEDA(PropertyTerm="VE", FormName="VENEZUELA",FormDescription="")
+VE,
+/**
+ * VIRGIN ISLANDS, BRITISH
+ *
+ **/
+ @SEDA(PropertyTerm="VG", FormName="VIRGIN ISLANDS, BRITISH",FormDescription="")
+VG,
+/**
+ * VIRGIN ISLANDS, U.S.
+ *
+ **/
+ @SEDA(PropertyTerm="VI", FormName="VIRGIN ISLANDS, U.S.",FormDescription="")
+VI,
+/**
+ * VIET NAM
+ *
+ **/
+ @SEDA(PropertyTerm="VN", FormName="VIET NAM",FormDescription="")
+VN,
+/**
+ * VANUATU
+ *
+ **/
+ @SEDA(PropertyTerm="VU", FormName="VANUATU",FormDescription="")
+VU,
+/**
+ * WALLIS AND FUTUNA
+ *
+ **/
+ @SEDA(PropertyTerm="WF", FormName="WALLIS AND FUTUNA",FormDescription="")
+WF,
+/**
+ * SAMOA
+ *
+ **/
+ @SEDA(PropertyTerm="WS", FormName="SAMOA",FormDescription="")
+WS,
+/**
+ * YEMEN
+ *
+ **/
+ @SEDA(PropertyTerm="YE", FormName="YEMEN",FormDescription="")
+YE,
+/**
+ * MAYOTTE
+ *
+ **/
+ @SEDA(PropertyTerm="YT", FormName="MAYOTTE",FormDescription="")
+YT,
+/**
+ * SOUTH AFRICA
+ *
+ **/
+ @SEDA(PropertyTerm="ZA", FormName="SOUTH AFRICA",FormDescription="")
+ZA,
+/**
+ * ZAMBIA
+ *
+ **/
+ @SEDA(PropertyTerm="ZM", FormName="ZAMBIA",FormDescription="")
+ZM,
+/**
+ * ZIMBABWE.
+ *
+ **/
+ @SEDA(PropertyTerm="ZW", FormName="ZIMBABWE.",FormDescription="")
+ZW,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des codes pour le sort final
+ * @author benjamin.catinot
+ *
+ */
+public enum IndicatorCodeType {
+ /**
+ * Conserver
+ */
+ @SEDA(PropertyTerm="true")
+ TRUE,
+
+ /**
+ * Détruire
+ */
+ @SEDA(PropertyTerm="false")
+ FALSE,
+
+ @SEDA(PropertyTerm="")
+ EMPTY
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des types de mots-clef
+ *
+**/
+
+public enum KeywordType {
+
+/**
+ * Collectivité
+ *
+ **/
+ @SEDA(PropertyTerm="corpname", FormName="Collectivité",FormDescription="")
+CORPNAME,
+/**
+ * Nom de famille
+ *
+ **/
+ @SEDA(PropertyTerm="famname", FormName="Nom de famille",FormDescription="")
+FAMNAME,
+/**
+ * Nom géographique
+ *
+ **/
+ @SEDA(PropertyTerm="geogname", FormName="Nom géographique",FormDescription="")
+GEOGNAME,
+/**
+ * Nom
+ *
+ **/
+ @SEDA(PropertyTerm="name", FormName="Nom",FormDescription="")
+NAME,
+/**
+ * Fonction
+ *
+ **/
+ @SEDA(PropertyTerm="occupation", FormName="Fonction",FormDescription="")
+OCCUPATION,
+/**
+ * Nom de personne
+ *
+ **/
+ @SEDA(PropertyTerm="persname", FormName="Nom de personne",FormDescription="")
+PERSNAME,
+/**
+ * Mot-matière
+ *
+ **/
+ @SEDA(PropertyTerm="subject", FormName="Mot-matière",FormDescription="")
+SUBJECT,
+/**
+ * Type de document
+ *
+ **/
+ @SEDA(PropertyTerm="genreform", FormName="Type de document",FormDescription="")
+GENREFORM,
+/**
+ * Activité
+ *
+ **/
+ @SEDA(PropertyTerm="function", FormName="Activité",FormDescription="")
+FUNCTION,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des code de langues
+ *
+**/
+
+public enum LanguageCodeType {
+
+/**
+ * afar
+ *
+ **/
+ @SEDA(PropertyTerm="aa", FormName="afar",FormDescription="")
+AA,
+/**
+ * abkhaze
+ *
+ **/
+ @SEDA(PropertyTerm="ab", FormName="abkhaze",FormDescription="")
+AB,
+/**
+ * afrikaans
+ *
+ **/
+ @SEDA(PropertyTerm="af", FormName="afrikaans",FormDescription="")
+AF,
+/**
+ * akan
+ *
+ **/
+ @SEDA(PropertyTerm="ak", FormName="akan",FormDescription="")
+AK,
+/**
+ * albanais
+ *
+ **/
+ @SEDA(PropertyTerm="sq", FormName="albanais",FormDescription="")
+SQ,
+/**
+ * amharique
+ *
+ **/
+ @SEDA(PropertyTerm="am", FormName="amharique",FormDescription="")
+AM,
+/**
+ * arabe
+ *
+ **/
+ @SEDA(PropertyTerm="ar", FormName="arabe",FormDescription="")
+AR,
+/**
+ * aragonais
+ *
+ **/
+ @SEDA(PropertyTerm="an", FormName="aragonais",FormDescription="")
+AN,
+/**
+ * arménien
+ *
+ **/
+ @SEDA(PropertyTerm="hy", FormName="arménien",FormDescription="")
+HY,
+/**
+ * assamais
+ *
+ **/
+ @SEDA(PropertyTerm="as", FormName="assamais",FormDescription="")
+AS,
+/**
+ * avar
+ *
+ **/
+ @SEDA(PropertyTerm="av", FormName="avar",FormDescription="")
+AV,
+/**
+ * avestique
+ *
+ **/
+ @SEDA(PropertyTerm="ae", FormName="avestique",FormDescription="")
+AE,
+/**
+ * aymara
+ *
+ **/
+ @SEDA(PropertyTerm="ay", FormName="aymara",FormDescription="")
+AY,
+/**
+ * azéri
+ *
+ **/
+ @SEDA(PropertyTerm="az", FormName="azéri",FormDescription="")
+AZ,
+/**
+ * bachkir
+ *
+ **/
+ @SEDA(PropertyTerm="ba", FormName="bachkir",FormDescription="")
+BA,
+/**
+ * bambara
+ *
+ **/
+ @SEDA(PropertyTerm="bm", FormName="bambara",FormDescription="")
+BM,
+/**
+ * basque
+ *
+ **/
+ @SEDA(PropertyTerm="eu", FormName="basque",FormDescription="")
+EU,
+/**
+ * biélorusse
+ *
+ **/
+ @SEDA(PropertyTerm="be", FormName="biélorusse",FormDescription="")
+BE,
+/**
+ * bengali
+ *
+ **/
+ @SEDA(PropertyTerm="bn", FormName="bengali",FormDescription="")
+BN,
+/**
+ * langues biharis
+ *
+ **/
+ @SEDA(PropertyTerm="bh", FormName="langues biharis",FormDescription="")
+BH,
+/**
+ * bichlamar
+ *
+ **/
+ @SEDA(PropertyTerm="bi", FormName="bichlamar",FormDescription="")
+BI,
+/**
+ * tibétain
+ *
+ **/
+ @SEDA(PropertyTerm="bo", FormName="tibétain",FormDescription="")
+BO,
+/**
+ * bosniaque
+ *
+ **/
+ @SEDA(PropertyTerm="bs", FormName="bosniaque",FormDescription="")
+BS,
+/**
+ * breton
+ *
+ **/
+ @SEDA(PropertyTerm="br", FormName="breton",FormDescription="")
+BR,
+/**
+ * bulgare
+ *
+ **/
+ @SEDA(PropertyTerm="bg", FormName="bulgare",FormDescription="")
+BG,
+/**
+ * birman
+ *
+ **/
+ @SEDA(PropertyTerm="my", FormName="birman",FormDescription="")
+MY,
+/**
+ * catalan; valencien
+ *
+ **/
+ @SEDA(PropertyTerm="ca", FormName="catalan; valencien",FormDescription="")
+CA,
+/**
+ * tchèque
+ *
+ **/
+ @SEDA(PropertyTerm="cs", FormName="tchèque",FormDescription="")
+CS,
+/**
+ * chamorro
+ *
+ **/
+ @SEDA(PropertyTerm="ch", FormName="chamorro",FormDescription="")
+CH,
+/**
+ * tchétchène
+ *
+ **/
+ @SEDA(PropertyTerm="ce", FormName="tchétchène",FormDescription="")
+CE,
+/**
+ * chinois
+ *
+ **/
+ @SEDA(PropertyTerm="zh", FormName="chinois",FormDescription="")
+ZH,
+/**
+ * slavon d'église; vieux slave; slavon liturgique; vieux bulgare
+ *
+ **/
+ @SEDA(PropertyTerm="cu", FormName="slavon d'église; vieux slave; slavon liturgique; vieux bulgare",FormDescription="")
+CU,
+/**
+ * tchouvache
+ *
+ **/
+ @SEDA(PropertyTerm="cv", FormName="tchouvache",FormDescription="")
+CV,
+/**
+ * cornique
+ *
+ **/
+ @SEDA(PropertyTerm="kw", FormName="cornique",FormDescription="")
+KW,
+/**
+ * corse
+ *
+ **/
+ @SEDA(PropertyTerm="co", FormName="corse",FormDescription="")
+CO,
+/**
+ * cree
+ *
+ **/
+ @SEDA(PropertyTerm="cr", FormName="cree",FormDescription="")
+CR,
+/**
+ * gallois
+ *
+ **/
+ @SEDA(PropertyTerm="cy", FormName="gallois",FormDescription="")
+CY,
+/**
+ * danois
+ *
+ **/
+ @SEDA(PropertyTerm="da", FormName="danois",FormDescription="")
+DA,
+/**
+ * allemand
+ *
+ **/
+ @SEDA(PropertyTerm="de", FormName="allemand",FormDescription="")
+DE,
+/**
+ * maldivien
+ *
+ **/
+ @SEDA(PropertyTerm="dv", FormName="maldivien",FormDescription="")
+DV,
+/**
+ * néerlandais; flamand
+ *
+ **/
+ @SEDA(PropertyTerm="nl", FormName="néerlandais; flamand",FormDescription="")
+NL,
+/**
+ * dzongkha
+ *
+ **/
+ @SEDA(PropertyTerm="dz", FormName="dzongkha",FormDescription="")
+DZ,
+/**
+ * grec moderne (après 1453)
+ *
+ **/
+ @SEDA(PropertyTerm="el", FormName="grec moderne (après 1453)",FormDescription="")
+EL,
+/**
+ * anglais
+ *
+ **/
+ @SEDA(PropertyTerm="en", FormName="anglais",FormDescription="")
+EN,
+/**
+ * espéranto
+ *
+ **/
+ @SEDA(PropertyTerm="eo", FormName="espéranto",FormDescription="")
+EO,
+/**
+ * estonien
+ *
+ **/
+ @SEDA(PropertyTerm="et", FormName="estonien",FormDescription="")
+ET,
+/**
+ * éwé
+ *
+ **/
+ @SEDA(PropertyTerm="ee", FormName="éwé",FormDescription="")
+EE,
+/**
+ * féroïen
+ *
+ **/
+ @SEDA(PropertyTerm="fo", FormName="féroïen",FormDescription="")
+FO,
+/**
+ * persan
+ *
+ **/
+ @SEDA(PropertyTerm="fa", FormName="persan",FormDescription="")
+FA,
+/**
+ * fidjien
+ *
+ **/
+ @SEDA(PropertyTerm="fj", FormName="fidjien",FormDescription="")
+FJ,
+/**
+ * finnois
+ *
+ **/
+ @SEDA(PropertyTerm="fi", FormName="finnois",FormDescription="")
+FI,
+/**
+ * français
+ *
+ **/
+ @SEDA(PropertyTerm="fr", FormName="français",FormDescription="")
+FR,
+/**
+ * frison occidental
+ *
+ **/
+ @SEDA(PropertyTerm="fy", FormName="frison occidental",FormDescription="")
+FY,
+/**
+ * peul
+ *
+ **/
+ @SEDA(PropertyTerm="ff", FormName="peul",FormDescription="")
+FF,
+/**
+ * géorgien
+ *
+ **/
+ @SEDA(PropertyTerm="ka", FormName="géorgien",FormDescription="")
+KA,
+/**
+ * gaélique; gaélique écossais
+ *
+ **/
+ @SEDA(PropertyTerm="gd", FormName="gaélique; gaélique écossais",FormDescription="")
+GD,
+/**
+ * irlandais
+ *
+ **/
+ @SEDA(PropertyTerm="ga", FormName="irlandais",FormDescription="")
+GA,
+/**
+ * galicien
+ *
+ **/
+ @SEDA(PropertyTerm="gl", FormName="galicien",FormDescription="")
+GL,
+/**
+ * manx; mannois
+ *
+ **/
+ @SEDA(PropertyTerm="gv", FormName="manx; mannois",FormDescription="")
+GV,
+/**
+ * guarani
+ *
+ **/
+ @SEDA(PropertyTerm="gn", FormName="guarani",FormDescription="")
+GN,
+/**
+ * goudjrati
+ *
+ **/
+ @SEDA(PropertyTerm="gu", FormName="goudjrati",FormDescription="")
+GU,
+/**
+ * haïtien; créole haïtien
+ *
+ **/
+ @SEDA(PropertyTerm="ht", FormName="haïtien; créole haïtien",FormDescription="")
+HT,
+/**
+ * haoussa
+ *
+ **/
+ @SEDA(PropertyTerm="ha", FormName="haoussa",FormDescription="")
+HA,
+/**
+ * hébreu
+ *
+ **/
+ @SEDA(PropertyTerm="he", FormName="hébreu",FormDescription="")
+HE,
+/**
+ * herero
+ *
+ **/
+ @SEDA(PropertyTerm="hz", FormName="herero",FormDescription="")
+HZ,
+/**
+ * hindi
+ *
+ **/
+ @SEDA(PropertyTerm="hi", FormName="hindi",FormDescription="")
+HI,
+/**
+ * hiri motu
+ *
+ **/
+ @SEDA(PropertyTerm="ho", FormName="hiri motu",FormDescription="")
+HO,
+/**
+ * croate
+ *
+ **/
+ @SEDA(PropertyTerm="hr", FormName="croate",FormDescription="")
+HR,
+/**
+ * hongrois
+ *
+ **/
+ @SEDA(PropertyTerm="hu", FormName="hongrois",FormDescription="")
+HU,
+/**
+ * igbo
+ *
+ **/
+ @SEDA(PropertyTerm="ig", FormName="igbo",FormDescription="")
+IG,
+/**
+ * islandais
+ *
+ **/
+ @SEDA(PropertyTerm="is", FormName="islandais",FormDescription="")
+IS,
+/**
+ * ido
+ *
+ **/
+ @SEDA(PropertyTerm="io", FormName="ido",FormDescription="")
+IO,
+/**
+ * yi de Sichuan
+ *
+ **/
+ @SEDA(PropertyTerm="ii", FormName="yi de Sichuan",FormDescription="")
+II,
+/**
+ * inuktitut
+ *
+ **/
+ @SEDA(PropertyTerm="iu", FormName="inuktitut",FormDescription="")
+IU,
+/**
+ * interlingue
+ *
+ **/
+ @SEDA(PropertyTerm="ie", FormName="interlingue",FormDescription="")
+IE,
+/**
+ * interlingua (langue auxiliaire internationale)
+ *
+ **/
+ @SEDA(PropertyTerm="ia", FormName="interlingua (langue auxiliaire internationale)",FormDescription="")
+IA,
+/**
+ * indonésien
+ *
+ **/
+ @SEDA(PropertyTerm="id", FormName="indonésien",FormDescription="")
+ID,
+/**
+ * inupiaq
+ *
+ **/
+ @SEDA(PropertyTerm="ik", FormName="inupiaq",FormDescription="")
+IK,
+/**
+ * italien
+ *
+ **/
+ @SEDA(PropertyTerm="it", FormName="italien",FormDescription="")
+IT,
+/**
+ * javanais
+ *
+ **/
+ @SEDA(PropertyTerm="jv", FormName="javanais",FormDescription="")
+JV,
+/**
+ * japonais
+ *
+ **/
+ @SEDA(PropertyTerm="ja", FormName="japonais",FormDescription="")
+JA,
+/**
+ * groenlandais
+ *
+ **/
+ @SEDA(PropertyTerm="kl", FormName="groenlandais",FormDescription="")
+KL,
+/**
+ * kannada
+ *
+ **/
+ @SEDA(PropertyTerm="kn", FormName="kannada",FormDescription="")
+KN,
+/**
+ * kashmiri
+ *
+ **/
+ @SEDA(PropertyTerm="ks", FormName="kashmiri",FormDescription="")
+KS,
+/**
+ * kanouri
+ *
+ **/
+ @SEDA(PropertyTerm="kr", FormName="kanouri",FormDescription="")
+KR,
+/**
+ * kazakh
+ *
+ **/
+ @SEDA(PropertyTerm="kk", FormName="kazakh",FormDescription="")
+KK,
+/**
+ * khmer central
+ *
+ **/
+ @SEDA(PropertyTerm="km", FormName="khmer central",FormDescription="")
+KM,
+/**
+ * kikuyu
+ *
+ **/
+ @SEDA(PropertyTerm="ki", FormName="kikuyu",FormDescription="")
+KI,
+/**
+ * rwanda
+ *
+ **/
+ @SEDA(PropertyTerm="rw", FormName="rwanda",FormDescription="")
+RW,
+/**
+ * kirghiz
+ *
+ **/
+ @SEDA(PropertyTerm="ky", FormName="kirghiz",FormDescription="")
+KY,
+/**
+ * kom
+ *
+ **/
+ @SEDA(PropertyTerm="kv", FormName="kom",FormDescription="")
+KV,
+/**
+ * kongo
+ *
+ **/
+ @SEDA(PropertyTerm="kg", FormName="kongo",FormDescription="")
+KG,
+/**
+ * coréen
+ *
+ **/
+ @SEDA(PropertyTerm="ko", FormName="coréen",FormDescription="")
+KO,
+/**
+ * kuanyama; kwanyama
+ *
+ **/
+ @SEDA(PropertyTerm="kj", FormName="kuanyama; kwanyama",FormDescription="")
+KJ,
+/**
+ * kurde
+ *
+ **/
+ @SEDA(PropertyTerm="ku", FormName="kurde",FormDescription="")
+KU,
+/**
+ * lao
+ *
+ **/
+ @SEDA(PropertyTerm="lo", FormName="lao",FormDescription="")
+LO,
+/**
+ * latin
+ *
+ **/
+ @SEDA(PropertyTerm="la", FormName="latin",FormDescription="")
+LA,
+/**
+ * letton
+ *
+ **/
+ @SEDA(PropertyTerm="lv", FormName="letton",FormDescription="")
+LV,
+/**
+ * limbourgeois
+ *
+ **/
+ @SEDA(PropertyTerm="li", FormName="limbourgeois",FormDescription="")
+LI,
+/**
+ * lingala
+ *
+ **/
+ @SEDA(PropertyTerm="ln", FormName="lingala",FormDescription="")
+LN,
+/**
+ * lituanien
+ *
+ **/
+ @SEDA(PropertyTerm="lt", FormName="lituanien",FormDescription="")
+LT,
+/**
+ * luxembourgeois
+ *
+ **/
+ @SEDA(PropertyTerm="lb", FormName="luxembourgeois",FormDescription="")
+LB,
+/**
+ * luba-katanga
+ *
+ **/
+ @SEDA(PropertyTerm="lu", FormName="luba-katanga",FormDescription="")
+LU,
+/**
+ * ganda
+ *
+ **/
+ @SEDA(PropertyTerm="lg", FormName="ganda",FormDescription="")
+LG,
+/**
+ * macédonien
+ *
+ **/
+ @SEDA(PropertyTerm="mk", FormName="macédonien",FormDescription="")
+MK,
+/**
+ * marshall
+ *
+ **/
+ @SEDA(PropertyTerm="mh", FormName="marshall",FormDescription="")
+MH,
+/**
+ * malayalam
+ *
+ **/
+ @SEDA(PropertyTerm="ml", FormName="malayalam",FormDescription="")
+ML,
+/**
+ * maori
+ *
+ **/
+ @SEDA(PropertyTerm="mi", FormName="maori",FormDescription="")
+MI,
+/**
+ * marathe
+ *
+ **/
+ @SEDA(PropertyTerm="mr", FormName="marathe",FormDescription="")
+MR,
+/**
+ * malais
+ *
+ **/
+ @SEDA(PropertyTerm="ms", FormName="malais",FormDescription="")
+MS,
+/**
+ * malgache
+ *
+ **/
+ @SEDA(PropertyTerm="mg", FormName="malgache",FormDescription="")
+MG,
+/**
+ * maltais
+ *
+ **/
+ @SEDA(PropertyTerm="mt", FormName="maltais",FormDescription="")
+MT,
+/**
+ * mongol
+ *
+ **/
+ @SEDA(PropertyTerm="mn", FormName="mongol",FormDescription="")
+MN,
+/**
+ * nauruan
+ *
+ **/
+ @SEDA(PropertyTerm="na", FormName="nauruan",FormDescription="")
+NA,
+/**
+ * navaho
+ *
+ **/
+ @SEDA(PropertyTerm="nv", FormName="navaho",FormDescription="")
+NV,
+/**
+ * ndébélé du Sud
+ *
+ **/
+ @SEDA(PropertyTerm="nr", FormName="ndébélé du Sud",FormDescription="")
+NR,
+/**
+ * ndébélé du Nord
+ *
+ **/
+ @SEDA(PropertyTerm="nd", FormName="ndébélé du Nord",FormDescription="")
+ND,
+/**
+ * ndonga
+ *
+ **/
+ @SEDA(PropertyTerm="ng", FormName="ndonga",FormDescription="")
+NG,
+/**
+ * népalais
+ *
+ **/
+ @SEDA(PropertyTerm="ne", FormName="népalais",FormDescription="")
+NE,
+/**
+ * norvégien nynorsk; nynorsk, norvégien
+ *
+ **/
+ @SEDA(PropertyTerm="nn", FormName="norvégien nynorsk; nynorsk, norvégien",FormDescription="")
+NN,
+/**
+ * norvégien bokmål
+ *
+ **/
+ @SEDA(PropertyTerm="nb", FormName="norvégien bokmål",FormDescription="")
+NB,
+/**
+ * norvégien
+ *
+ **/
+ @SEDA(PropertyTerm="no", FormName="norvégien",FormDescription="")
+NO,
+/**
+ * chichewa; chewa; nyanja
+ *
+ **/
+ @SEDA(PropertyTerm="ny", FormName="chichewa; chewa; nyanja",FormDescription="")
+NY,
+/**
+ * occitan (après 1500)
+ *
+ **/
+ @SEDA(PropertyTerm="oc", FormName="occitan (après 1500)",FormDescription="")
+OC,
+/**
+ * ojibwa
+ *
+ **/
+ @SEDA(PropertyTerm="oj", FormName="ojibwa",FormDescription="")
+OJ,
+/**
+ * oriya
+ *
+ **/
+ @SEDA(PropertyTerm="or", FormName="oriya",FormDescription="")
+OR,
+/**
+ * galla
+ *
+ **/
+ @SEDA(PropertyTerm="om", FormName="galla",FormDescription="")
+OM,
+/**
+ * ossète
+ *
+ **/
+ @SEDA(PropertyTerm="os", FormName="ossète",FormDescription="")
+OS,
+/**
+ * pendjabi
+ *
+ **/
+ @SEDA(PropertyTerm="pa", FormName="pendjabi",FormDescription="")
+PA,
+/**
+ * pali
+ *
+ **/
+ @SEDA(PropertyTerm="pi", FormName="pali",FormDescription="")
+PI,
+/**
+ * polonais
+ *
+ **/
+ @SEDA(PropertyTerm="pl", FormName="polonais",FormDescription="")
+PL,
+/**
+ * portugais
+ *
+ **/
+ @SEDA(PropertyTerm="pt", FormName="portugais",FormDescription="")
+PT,
+/**
+ * pachto
+ *
+ **/
+ @SEDA(PropertyTerm="ps", FormName="pachto",FormDescription="")
+PS,
+/**
+ * quechua
+ *
+ **/
+ @SEDA(PropertyTerm="qu", FormName="quechua",FormDescription="")
+QU,
+/**
+ * romanche
+ *
+ **/
+ @SEDA(PropertyTerm="rm", FormName="romanche",FormDescription="")
+RM,
+/**
+ * roumain; moldave
+ *
+ **/
+ @SEDA(PropertyTerm="ro", FormName="roumain; moldave",FormDescription="")
+RO,
+/**
+ * rundi
+ *
+ **/
+ @SEDA(PropertyTerm="rn", FormName="rundi",FormDescription="")
+RN,
+/**
+ * russe
+ *
+ **/
+ @SEDA(PropertyTerm="ru", FormName="russe",FormDescription="")
+RU,
+/**
+ * sango
+ *
+ **/
+ @SEDA(PropertyTerm="sg", FormName="sango",FormDescription="")
+SG,
+/**
+ * sanskrit
+ *
+ **/
+ @SEDA(PropertyTerm="sa", FormName="sanskrit",FormDescription="")
+SA,
+/**
+ * singhalais
+ *
+ **/
+ @SEDA(PropertyTerm="si", FormName="singhalais",FormDescription="")
+SI,
+/**
+ * slovaque
+ *
+ **/
+ @SEDA(PropertyTerm="sk", FormName="slovaque",FormDescription="")
+SK,
+/**
+ * slovène
+ *
+ **/
+ @SEDA(PropertyTerm="sl", FormName="slovène",FormDescription="")
+SL,
+/**
+ * sami du Nord
+ *
+ **/
+ @SEDA(PropertyTerm="se", FormName="sami du Nord",FormDescription="")
+SE,
+/**
+ * samoan
+ *
+ **/
+ @SEDA(PropertyTerm="sm", FormName="samoan",FormDescription="")
+SM,
+/**
+ * shona
+ *
+ **/
+ @SEDA(PropertyTerm="sn", FormName="shona",FormDescription="")
+SN,
+/**
+ * sindhi
+ *
+ **/
+ @SEDA(PropertyTerm="sd", FormName="sindhi",FormDescription="")
+SD,
+/**
+ * somali
+ *
+ **/
+ @SEDA(PropertyTerm="so", FormName="somali",FormDescription="")
+SO,
+/**
+ * sotho du Sud
+ *
+ **/
+ @SEDA(PropertyTerm="st", FormName="sotho du Sud",FormDescription="")
+ST,
+/**
+ * espagnol; castillan
+ *
+ **/
+ @SEDA(PropertyTerm="es", FormName="espagnol; castillan",FormDescription="")
+ES,
+/**
+ * sarde
+ *
+ **/
+ @SEDA(PropertyTerm="sc", FormName="sarde",FormDescription="")
+SC,
+/**
+ * serbe
+ *
+ **/
+ @SEDA(PropertyTerm="sr", FormName="serbe",FormDescription="")
+SR,
+/**
+ * swati
+ *
+ **/
+ @SEDA(PropertyTerm="ss", FormName="swati",FormDescription="")
+SS,
+/**
+ * soundanais
+ *
+ **/
+ @SEDA(PropertyTerm="su", FormName="soundanais",FormDescription="")
+SU,
+/**
+ * swahili
+ *
+ **/
+ @SEDA(PropertyTerm="sw", FormName="swahili",FormDescription="")
+SW,
+/**
+ * suédois
+ *
+ **/
+ @SEDA(PropertyTerm="sv", FormName="suédois",FormDescription="")
+SV,
+/**
+ * tahitien
+ *
+ **/
+ @SEDA(PropertyTerm="ty", FormName="tahitien",FormDescription="")
+TY,
+/**
+ * tamoul
+ *
+ **/
+ @SEDA(PropertyTerm="ta", FormName="tamoul",FormDescription="")
+TA,
+/**
+ * tatar
+ *
+ **/
+ @SEDA(PropertyTerm="tt", FormName="tatar",FormDescription="")
+TT,
+/**
+ * télougou
+ *
+ **/
+ @SEDA(PropertyTerm="te", FormName="télougou",FormDescription="")
+TE,
+/**
+ * tadjik
+ *
+ **/
+ @SEDA(PropertyTerm="tg", FormName="tadjik",FormDescription="")
+TG,
+/**
+ * tagalog
+ *
+ **/
+ @SEDA(PropertyTerm="tl", FormName="tagalog",FormDescription="")
+TL,
+/**
+ * thaï
+ *
+ **/
+ @SEDA(PropertyTerm="th", FormName="thaï",FormDescription="")
+TH,
+/**
+ * tigrigna
+ *
+ **/
+ @SEDA(PropertyTerm="ti", FormName="tigrigna",FormDescription="")
+TI,
+/**
+ * tongan (Îles Tonga)
+ *
+ **/
+ @SEDA(PropertyTerm="to", FormName="tongan (Îles Tonga)",FormDescription="")
+TO,
+/**
+ * tswana
+ *
+ **/
+ @SEDA(PropertyTerm="tn", FormName="tswana",FormDescription="")
+TN,
+/**
+ * tsonga
+ *
+ **/
+ @SEDA(PropertyTerm="ts", FormName="tsonga",FormDescription="")
+TS,
+/**
+ * turkmène
+ *
+ **/
+ @SEDA(PropertyTerm="tk", FormName="turkmène",FormDescription="")
+TK,
+/**
+ * turc
+ *
+ **/
+ @SEDA(PropertyTerm="tr", FormName="turc",FormDescription="")
+TR,
+/**
+ * twi
+ *
+ **/
+ @SEDA(PropertyTerm="tw", FormName="twi",FormDescription="")
+TW,
+/**
+ * ouïgour
+ *
+ **/
+ @SEDA(PropertyTerm="ug", FormName="ouïgour",FormDescription="")
+UG,
+/**
+ * ukrainien
+ *
+ **/
+ @SEDA(PropertyTerm="uk", FormName="ukrainien",FormDescription="")
+UK,
+/**
+ * ourdou
+ *
+ **/
+ @SEDA(PropertyTerm="ur", FormName="ourdou",FormDescription="")
+UR,
+/**
+ * ouszbek
+ *
+ **/
+ @SEDA(PropertyTerm="uz", FormName="ouszbek",FormDescription="")
+UZ,
+/**
+ * venda
+ *
+ **/
+ @SEDA(PropertyTerm="ve", FormName="venda",FormDescription="")
+VE,
+/**
+ * vietnamien
+ *
+ **/
+ @SEDA(PropertyTerm="vi", FormName="vietnamien",FormDescription="")
+VI,
+/**
+ * volapük
+ *
+ **/
+ @SEDA(PropertyTerm="vo", FormName="volapük",FormDescription="")
+VO,
+/**
+ * wallon
+ *
+ **/
+ @SEDA(PropertyTerm="wa", FormName="wallon",FormDescription="")
+WA,
+/**
+ * wolof
+ *
+ **/
+ @SEDA(PropertyTerm="wo", FormName="wolof",FormDescription="")
+WO,
+/**
+ * xhosa
+ *
+ **/
+ @SEDA(PropertyTerm="xh", FormName="xhosa",FormDescription="")
+XH,
+/**
+ * yiddish
+ *
+ **/
+ @SEDA(PropertyTerm="yi", FormName="yiddish",FormDescription="")
+YI,
+/**
+ * yoruba
+ *
+ **/
+ @SEDA(PropertyTerm="yo", FormName="yoruba",FormDescription="")
+YO,
+/**
+ * zhuang; chuang
+ *
+ **/
+ @SEDA(PropertyTerm="za", FormName="zhuang; chuang",FormDescription="")
+ZA,
+/**
+ * zoulou
+ *
+ **/
+ @SEDA(PropertyTerm="zu", FormName="zoulou",FormDescription="")
+ZU,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des codes pour le niveau de description
+ *
+**/
+
+public enum LevelDescriptionType {
+
+/**
+ * Classe
+ * Cette valeur, issue de la tradition archivistique allemande, ne correspond pas pour l'instant aux pratiques archivistiques françaises
+ **/
+ @SEDA(PropertyTerm="class", FormName="Classe",FormDescription="Cette valeur, issue de la tradition archivistique allemande, ne correspond pas pour l'instant aux pratiques archivistiques françaises")
+CLASS,
+/**
+ * Collection
+ * Réunion artificielle de documents en fonction de critères communs liés à leur contenu ou à leur support, sans considération de leur provenance, par opposition au fonds d'archives constitué de façon organique
+ **/
+ @SEDA(PropertyTerm="collection", FormName="Collection",FormDescription="Réunion artificielle de documents en fonction de critères communs liés à leur contenu ou à leur support, sans considération de leur provenance, par opposition au fonds d'archives constitué de façon organique")
+COLLECTION,
+/**
+ * Dossier
+ * ensemble de documents regroupés, soit par le producteur pour son usage courant, soit dans le processus du classement d'archives, parce qu'ils concernent un même sujet ou une même affaire; le dossier est ordinairement l'unité de base à l'intérieur d'une série organique
+ **/
+ @SEDA(PropertyTerm="file", FormName="Dossier",FormDescription="ensemble de documents regroupés, soit par le producteur pour son usage courant, soit dans le processus du classement d'archives, parce qu'ils concernent un même sujet ou une même affaire; le dossier est ordinairement l'unité de base à l'intérieur d'une série organique")
+FILE,
+/**
+ * Fonds
+ * ensemble de documents quels que soit leur type et leur support, créé ou reçu de manière organique et utilisé par une personne physique ou morale dans l'exercice de ses activités
+ **/
+ @SEDA(PropertyTerm="fonds", FormName="Fonds",FormDescription="ensemble de documents quels que soit leur type et leur support, créé ou reçu de manière organique et utilisé par une personne physique ou morale dans l'exercice de ses activités")
+FONDS,
+/**
+ * Item
+ * plus petite unité documentaire, par exemple une lettre, un mémoire, un rapport, une photographie, un enregistrement sonore
+ **/
+ @SEDA(PropertyTerm="item", FormName="Item",FormDescription="plus petite unité documentaire, par exemple une lettre, un mémoire, un rapport, une photographie, un enregistrement sonore")
+ITEM,
+/**
+ * Groupe de documents
+ * niveau de description intermédiaire qui ne correspond pas à une division organique (sous-fonds, série ou sous-série organique); parties au sein d'une collection, versements, épaves d'un fonds, subdivisions de fonds dont on ne connait pas la nature exacte, sous-ensemble classés thématiquement
+ **/
+ @SEDA(PropertyTerm="recordgrp", FormName="Groupe de documents",FormDescription="niveau de description intermédiaire qui ne correspond pas à une division organique (sous-fonds, série ou sous-série organique); parties au sein d'une collection, versements, épaves d'un fonds, subdivisions de fonds dont on ne connait pas la nature exacte, sous-ensemble classés thématiquement")
+RECORDGRP,
+/**
+ * Serie organique
+ * division organique d'un fonds, correspondant à un ensemble de dossiers maintenus groupés parce qu'ils résultent d'une même activité, se rapportent à une même fonction ou à un même sujet ou revêtent une même forme
+ **/
+ @SEDA(PropertyTerm="series", FormName="Serie organique",FormDescription="division organique d'un fonds, correspondant à un ensemble de dossiers maintenus groupés parce qu'ils résultent d'une même activité, se rapportent à une même fonction ou à un même sujet ou revêtent une même forme")
+SERIES,
+/**
+ * Sous fonds
+ * division organique d'un fonds correspondant aux divisions administratives de l'institution ou de l'organisme producteur, ou, à défaut, à un regroupement géographique, chronologique, fonctionnel ou autre des documents; quand le producteur a une structure hiérarchique complexe , chaque sous-fonds est lui-même subdivisé, autant que nécessaire pour refléter les niveaux hiérarchiques
+ **/
+ @SEDA(PropertyTerm="subfonds", FormName="Sous fonds",FormDescription="division organique d'un fonds correspondant aux divisions administratives de l'institution ou de l'organisme producteur, ou, à défaut, à un regroupement géographique, chronologique, fonctionnel ou autre des documents; quand le producteur a une structure hiérarchique complexe , chaque sous-fonds est lui-même subdivisé, autant que nécessaire pour refléter les niveaux hiérarchiques")
+SUBFONDS,
+/**
+ * Sous-groupe de documents
+ * subdivision du groupe de documents
+ **/
+ @SEDA(PropertyTerm="subgrp", FormName="Sous-groupe de documents",FormDescription="subdivision du groupe de documents")
+SUBGRP,
+/**
+ * Sous-série organique
+ * subdivision de la série organique
+ **/
+ @SEDA(PropertyTerm="subseries", FormName="Sous-série organique",FormDescription="subdivision de la série organique")
+SUBSERIES,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum MIMEMediaTypeContentType {
+
+/**
+ * activemessage
+ * Shapiro
+ **/
+ @SEDA(PropertyTerm="application/activemessage", FormName="activemessage",FormDescription="Shapiro")
+APPLICATIONACTIVEMESSAGE,
+/**
+ * andrew-inset
+ * Borenstein
+ **/
+ @SEDA(PropertyTerm="application/andrew-inset", FormName="andrew-inset",FormDescription="Borenstein")
+APPLICATIONANDREW_INSET,
+/**
+ * applefile
+ * Faltstrom
+ **/
+ @SEDA(PropertyTerm="application/applefile", FormName="applefile",FormDescription="Faltstrom")
+APPLICATIONAPPLEFILE,
+/**
+ * atom+xml
+ * RFC4287,RFC5023
+ **/
+ @SEDA(PropertyTerm="application/atom+xml", FormName="atom+xml",FormDescription="RFC4287,RFC5023")
+APPLICATIONATOM_XML,
+/**
+ * atomicmail
+ * Borenstein
+ **/
+ @SEDA(PropertyTerm="application/atomicmail", FormName="atomicmail",FormDescription="Borenstein")
+APPLICATIONATOMICMAIL,
+/**
+ * atomcat+xml
+ * RFC5023
+ **/
+ @SEDA(PropertyTerm="application/atomcat+xml", FormName="atomcat+xml",FormDescription="RFC5023")
+APPLICATIONATOMCAT_XML,
+/**
+ * atomsvc+xml
+ * RFC5023
+ **/
+ @SEDA(PropertyTerm="application/atomsvc+xml", FormName="atomsvc+xml",FormDescription="RFC5023")
+APPLICATIONATOMSVC_XML,
+/**
+ * auth-policy+xml
+ * RFC4745
+ **/
+ @SEDA(PropertyTerm="application/auth-policy+xml", FormName="auth-policy+xml",FormDescription="RFC4745")
+APPLICATIONAUTH_POLICY_XML,
+/**
+ * batch-SMTP
+ * RFC2442
+ **/
+ @SEDA(PropertyTerm="application/batch-SMTP", FormName="batch-SMTP",FormDescription="RFC2442")
+APPLICATIONBATCH_SMTP,
+/**
+ * beep+xml
+ * RFC3080
+ **/
+ @SEDA(PropertyTerm="application/beep+xml", FormName="beep+xml",FormDescription="RFC3080")
+APPLICATIONBEEP_XML,
+/**
+ * cals-1840
+ * RFC1895
+ **/
+ @SEDA(PropertyTerm="application/cals-1840", FormName="cals-1840",FormDescription="RFC1895")
+APPLICATIONCALS_1840,
+/**
+ * ccxml+xml
+ * RFC4267
+ **/
+ @SEDA(PropertyTerm="application/ccxml+xml", FormName="ccxml+xml",FormDescription="RFC4267")
+APPLICATIONCCXML_XML,
+/**
+ * cellml+xml
+ * RFC4708
+ **/
+ @SEDA(PropertyTerm="application/cellml+xml", FormName="cellml+xml",FormDescription="RFC4708")
+APPLICATIONCELLML_XML,
+/**
+ * cnrp+xml
+ * RFC3367
+ **/
+ @SEDA(PropertyTerm="application/cnrp+xml", FormName="cnrp+xml",FormDescription="RFC3367")
+APPLICATIONCNRP_XML,
+/**
+ * commonground
+ * Glazer
+ **/
+ @SEDA(PropertyTerm="application/commonground", FormName="commonground",FormDescription="Glazer")
+APPLICATIONCOMMONGROUND,
+/**
+ * conference-info+xml
+ * RFC4575
+ **/
+ @SEDA(PropertyTerm="application/conference-info+xml", FormName="conference-info+xml",FormDescription="RFC4575")
+APPLICATIONCONFERENCE_INFO_XML,
+/**
+ * cpl+xml
+ * RFC3880
+ **/
+ @SEDA(PropertyTerm="application/cpl+xml", FormName="cpl+xml",FormDescription="RFC3880")
+APPLICATIONCPL_XML,
+/**
+ * csta+xml
+ * Ecma International Helpdesk
+ **/
+ @SEDA(PropertyTerm="application/csta+xml", FormName="csta+xml",FormDescription="Ecma International Helpdesk")
+APPLICATIONCSTA_XML,
+/**
+ * CSTAdata+xml
+ * Ecma International Helpdesk
+ **/
+ @SEDA(PropertyTerm="application/CSTAdata+xml", FormName="CSTAdata+xml",FormDescription="Ecma International Helpdesk")
+APPLICATIONCSTADATA_XML,
+/**
+ * cybercash
+ * Eastlake
+ **/
+ @SEDA(PropertyTerm="application/cybercash", FormName="cybercash",FormDescription="Eastlake")
+APPLICATIONCYBERCASH,
+/**
+ * davmount+xml
+ * RFC4709
+ **/
+ @SEDA(PropertyTerm="application/davmount+xml", FormName="davmount+xml",FormDescription="RFC4709")
+APPLICATIONDAVMOUNT_XML,
+/**
+ * dca-rft
+ * Campbell
+ **/
+ @SEDA(PropertyTerm="application/dca-rft", FormName="dca-rft",FormDescription="Campbell")
+APPLICATIONDCA_RFT,
+/**
+ * dec-dx
+ * Campbell
+ **/
+ @SEDA(PropertyTerm="application/dec-dx", FormName="dec-dx",FormDescription="Campbell")
+APPLICATIONDEC_DX,
+/**
+ * dialog-info+xml
+ * RFC4235
+ **/
+ @SEDA(PropertyTerm="application/dialog-info+xml", FormName="dialog-info+xml",FormDescription="RFC4235")
+APPLICATIONDIALOG_INFO_XML,
+/**
+ * dicom
+ * RFC3240
+ **/
+ @SEDA(PropertyTerm="application/dicom", FormName="dicom",FormDescription="RFC3240")
+APPLICATIONDICOM,
+/**
+ * dns
+ * RFC4027
+ **/
+ @SEDA(PropertyTerm="application/dns", FormName="dns",FormDescription="RFC4027")
+APPLICATIONDNS,
+/**
+ * dvcs
+ * RFC3029
+ **/
+ @SEDA(PropertyTerm="application/dvcs", FormName="dvcs",FormDescription="RFC3029")
+APPLICATIONDVCS,
+/**
+ * ecmascript
+ * RFC4329
+ **/
+ @SEDA(PropertyTerm="application/ecmascript", FormName="ecmascript",FormDescription="RFC4329")
+APPLICATIONECMASCRIPT,
+/**
+ * EDI-Consent
+ * RFC1767
+ **/
+ @SEDA(PropertyTerm="application/EDI-Consent", FormName="EDI-Consent",FormDescription="RFC1767")
+APPLICATIONEDI_CONSENT,
+/**
+ * EDIFACT
+ * RFC1767
+ **/
+ @SEDA(PropertyTerm="application/EDIFACT", FormName="EDIFACT",FormDescription="RFC1767")
+APPLICATIONEDIFACT,
+/**
+ * EDI-X12
+ * RFC1767
+ **/
+ @SEDA(PropertyTerm="application/EDI-X12", FormName="EDI-X12",FormDescription="RFC1767")
+APPLICATIONEDI_X12,
+/**
+ * epp+xml
+ * RFC3730
+ **/
+ @SEDA(PropertyTerm="application/epp+xml", FormName="epp+xml",FormDescription="RFC3730")
+APPLICATIONEPP_XML,
+/**
+ * eshop
+ * Katz
+ **/
+ @SEDA(PropertyTerm="application/eshop", FormName="eshop",FormDescription="Katz")
+APPLICATIONESHOP,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="application/example", FormName="example",FormDescription="RFC4735")
+APPLICATIONEXAMPLE,
+/**
+ * fastinfoset
+ * ITU-T ASN.1 Rapporteur
+ **/
+ @SEDA(PropertyTerm="application/fastinfoset", FormName="fastinfoset",FormDescription="ITU-T ASN.1 Rapporteur")
+APPLICATIONFASTINFOSET,
+/**
+ * fastsoap
+ * ITU-T ASN.1 Rapporteur
+ **/
+ @SEDA(PropertyTerm="application/fastsoap", FormName="fastsoap",FormDescription="ITU-T ASN.1 Rapporteur")
+APPLICATIONFASTSOAP,
+/**
+ * fits
+ * RFC4047
+ **/
+ @SEDA(PropertyTerm="application/fits", FormName="fits",FormDescription="RFC4047")
+APPLICATIONFITS,
+/**
+ * font-tdpfr
+ * RFC3073
+ **/
+ @SEDA(PropertyTerm="application/font-tdpfr", FormName="font-tdpfr",FormDescription="RFC3073")
+APPLICATIONFONT_TDPFR,
+/**
+ * H224
+ * RFC4573
+ **/
+ @SEDA(PropertyTerm="application/H224", FormName="H224",FormDescription="RFC4573")
+APPLICATIONH224,
+/**
+ * http
+ * RFC2616
+ **/
+ @SEDA(PropertyTerm="application/http", FormName="http",FormDescription="RFC2616")
+APPLICATIONHTTP,
+/**
+ * hyperstudio
+ * Domino
+ **/
+ @SEDA(PropertyTerm="application/hyperstudio", FormName="hyperstudio",FormDescription="Domino")
+APPLICATIONHYPERSTUDIO,
+/**
+ * iges
+ * Parks
+ **/
+ @SEDA(PropertyTerm="application/iges", FormName="iges",FormDescription="Parks")
+APPLICATIONIGES,
+/**
+ * im-iscomposing+xml
+ * RFC3994
+ **/
+ @SEDA(PropertyTerm="application/im-iscomposing+xml", FormName="im-iscomposing+xml",FormDescription="RFC3994")
+APPLICATIONIM_ISCOMPOSING_XML,
+/**
+ * index
+ * RFC2652
+ **/
+ @SEDA(PropertyTerm="application/index", FormName="index",FormDescription="RFC2652")
+APPLICATIONINDEX,
+/**
+ * index.cmd
+ * RFC2652
+ **/
+ @SEDA(PropertyTerm="application/index.cmd", FormName="index.cmd",FormDescription="RFC2652")
+APPLICATIONINDEX_CMD,
+/**
+ * index.obj
+ * RFC2652
+ **/
+ @SEDA(PropertyTerm="application/index.obj", FormName="index.obj",FormDescription="RFC2652")
+APPLICATIONINDEX_OBJ,
+/**
+ * index.response
+ * RFC2652
+ **/
+ @SEDA(PropertyTerm="application/index.response", FormName="index.response",FormDescription="RFC2652")
+APPLICATIONINDEX_RESPONSE,
+/**
+ * index.vnd
+ * RFC2652
+ **/
+ @SEDA(PropertyTerm="application/index.vnd", FormName="index.vnd",FormDescription="RFC2652")
+APPLICATIONINDEX_VND,
+/**
+ * iotp
+ * RFC2935
+ **/
+ @SEDA(PropertyTerm="application/iotp", FormName="iotp",FormDescription="RFC2935")
+APPLICATIONIOTP,
+/**
+ * ipp
+ * RFC2910
+ **/
+ @SEDA(PropertyTerm="application/ipp", FormName="ipp",FormDescription="RFC2910")
+APPLICATIONIPP,
+/**
+ * isup
+ * RFC3204
+ **/
+ @SEDA(PropertyTerm="application/isup", FormName="isup",FormDescription="RFC3204")
+APPLICATIONISUP,
+/**
+ * javascript
+ * RFC4329
+ **/
+ @SEDA(PropertyTerm="application/javascript", FormName="javascript",FormDescription="RFC4329")
+APPLICATIONJAVASCRIPT,
+/**
+ * json
+ * RFC4627
+ **/
+ @SEDA(PropertyTerm="application/json", FormName="json",FormDescription="RFC4627")
+APPLICATIONJSON,
+/**
+ * kpml-request+xml
+ * RFC4730
+ **/
+ @SEDA(PropertyTerm="application/kpml-request+xml", FormName="kpml-request+xml",FormDescription="RFC4730")
+APPLICATIONKPML_REQUEST_XML,
+/**
+ * kpml-response+xml
+ * RFC4730
+ **/
+ @SEDA(PropertyTerm="application/kpml-response+xml", FormName="kpml-response+xml",FormDescription="RFC4730")
+APPLICATIONKPML_RESPONSE_XML,
+/**
+ * mac-binhex40
+ * Faltstrom
+ **/
+ @SEDA(PropertyTerm="application/mac-binhex40", FormName="mac-binhex40",FormDescription="Faltstrom")
+APPLICATIONMAC_BINHEX40,
+/**
+ * macwriteii
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="application/macwriteii", FormName="macwriteii",FormDescription="Lindner")
+APPLICATIONMACWRITEII,
+/**
+ * marc
+ * RFC2220
+ **/
+ @SEDA(PropertyTerm="application/marc", FormName="marc",FormDescription="RFC2220")
+APPLICATIONMARC,
+/**
+ * mathematica
+ * Wolfram
+ **/
+ @SEDA(PropertyTerm="application/mathematica", FormName="mathematica",FormDescription="Wolfram")
+APPLICATIONMATHEMATICA,
+/**
+ * mbms-associated-procedure-description+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-associated-procedure-description+xml", FormName="mbms-associated-procedure-description+xml",FormDescription="3GPP")
+APPLICATIONMBMS_ASSOCIATED_PROCEDURE_DESCRIPTION_XML,
+/**
+ * mbms-deregister+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-deregister+xml", FormName="mbms-deregister+xml",FormDescription="3GPP")
+APPLICATIONMBMS_DEREGISTER_XML,
+/**
+ * mbms-envelope+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-envelope+xml", FormName="mbms-envelope+xml",FormDescription="3GPP")
+APPLICATIONMBMS_ENVELOPE_XML,
+/**
+ * mbms-msk-response+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-msk-response+xml", FormName="mbms-msk-response+xml",FormDescription="3GPP")
+APPLICATIONMBMS_MSK_RESPONSE_XML,
+/**
+ * mbms-msk+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-msk+xml", FormName="mbms-msk+xml",FormDescription="3GPP")
+APPLICATIONMBMS_MSK_XML,
+/**
+ * mbms-protection-description+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-protection-description+xml", FormName="mbms-protection-description+xml",FormDescription="3GPP")
+APPLICATIONMBMS_PROTECTION_DESCRIPTION_XML,
+/**
+ * mbms-reception-report+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-reception-report+xml", FormName="mbms-reception-report+xml",FormDescription="3GPP")
+APPLICATIONMBMS_RECEPTION_REPORT_XML,
+/**
+ * mbms-register-response+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-register-response+xml", FormName="mbms-register-response+xml",FormDescription="3GPP")
+APPLICATIONMBMS_REGISTER_RESPONSE_XML,
+/**
+ * mbms-register+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-register+xml", FormName="mbms-register+xml",FormDescription="3GPP")
+APPLICATIONMBMS_REGISTER_XML,
+/**
+ * mbms-user-service-description+xml
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/mbms-user-service-description+xml", FormName="mbms-user-service-description+xml",FormDescription="3GPP")
+APPLICATIONMBMS_USER_SERVICE_DESCRIPTION_XML,
+/**
+ * mbox
+ * RFC4155
+ **/
+ @SEDA(PropertyTerm="application/mbox", FormName="mbox",FormDescription="RFC4155")
+APPLICATIONMBOX,
+/**
+ * media_control+xml
+ * RFC5168
+ **/
+ @SEDA(PropertyTerm="application/media_control+xml", FormName="media_control+xml",FormDescription="RFC5168")
+APPLICATIONMEDIA_CONTROL_XML,
+/**
+ * mediaservercontrol+xml
+ * RFC5022
+ **/
+ @SEDA(PropertyTerm="application/mediaservercontrol+xml", FormName="mediaservercontrol+xml",FormDescription="RFC5022")
+APPLICATIONMEDIASERVERCONTROL_XML,
+/**
+ * mikey
+ * RFC3830
+ **/
+ @SEDA(PropertyTerm="application/mikey", FormName="mikey",FormDescription="RFC3830")
+APPLICATIONMIKEY,
+/**
+ * moss-keys
+ * RFC1848
+ **/
+ @SEDA(PropertyTerm="application/moss-keys", FormName="moss-keys",FormDescription="RFC1848")
+APPLICATIONMOSS_KEYS,
+/**
+ * moss-signature
+ * RFC1848
+ **/
+ @SEDA(PropertyTerm="application/moss-signature", FormName="moss-signature",FormDescription="RFC1848")
+APPLICATIONMOSS_SIGNATURE,
+/**
+ * mosskey-data
+ * RFC1848
+ **/
+ @SEDA(PropertyTerm="application/mosskey-data", FormName="mosskey-data",FormDescription="RFC1848")
+APPLICATIONMOSSKEY_DATA,
+/**
+ * mosskey-request
+ * RFC1848
+ **/
+ @SEDA(PropertyTerm="application/mosskey-request", FormName="mosskey-request",FormDescription="RFC1848")
+APPLICATIONMOSSKEY_REQUEST,
+/**
+ * mpeg4-generic
+ * RFC3640
+ **/
+ @SEDA(PropertyTerm="application/mpeg4-generic", FormName="mpeg4-generic",FormDescription="RFC3640")
+APPLICATIONMPEG4_GENERIC,
+/**
+ * mpeg4-iod
+ * RFC4337
+ **/
+ @SEDA(PropertyTerm="application/mpeg4-iod", FormName="mpeg4-iod",FormDescription="RFC4337")
+APPLICATIONMPEG4_IOD,
+/**
+ * mpeg4-iod-xmt
+ * RFC4337
+ **/
+ @SEDA(PropertyTerm="application/mpeg4-iod-xmt", FormName="mpeg4-iod-xmt",FormDescription="RFC4337")
+APPLICATIONMPEG4_IOD_XMT,
+/**
+ * mp4
+ * RFC4337
+ **/
+ @SEDA(PropertyTerm="application/mp4", FormName="mp4",FormDescription="RFC4337")
+APPLICATIONMP4,
+/**
+ * msword
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="application/msword", FormName="msword",FormDescription="Lindner")
+APPLICATIONMSWORD,
+/**
+ * mxf
+ * RFC4539
+ **/
+ @SEDA(PropertyTerm="application/mxf", FormName="mxf",FormDescription="RFC4539")
+APPLICATIONMXF,
+/**
+ * nasdata
+ * RFC4707
+ **/
+ @SEDA(PropertyTerm="application/nasdata", FormName="nasdata",FormDescription="RFC4707")
+APPLICATIONNASDATA,
+/**
+ * news-message-id
+ * RFC1036Spencer
+ **/
+ @SEDA(PropertyTerm="application/news-message-id", FormName="news-message-id",FormDescription="RFC1036Spencer")
+APPLICATIONNEWS_MESSAGE_ID,
+/**
+ * news-transmission
+ * RFC1036 Spencer
+ **/
+ @SEDA(PropertyTerm="application/news-transmission", FormName="news-transmission",FormDescription="RFC1036 Spencer")
+APPLICATIONNEWS_TRANSMISSION,
+/**
+ * nss
+ * Hammer
+ **/
+ @SEDA(PropertyTerm="application/nss", FormName="nss",FormDescription="Hammer")
+APPLICATIONNSS,
+/**
+ * ocsp-request
+ * RFC2560
+ **/
+ @SEDA(PropertyTerm="application/ocsp-request", FormName="ocsp-request",FormDescription="RFC2560")
+APPLICATIONOCSP_REQUEST,
+/**
+ * ocsp-response
+ * RFC2560
+ **/
+ @SEDA(PropertyTerm="application/ocsp-response", FormName="ocsp-response",FormDescription="RFC2560")
+APPLICATIONOCSP_RESPONSE,
+/**
+ * octet-stream
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="application/octet-stream", FormName="octet-stream",FormDescription="RFC2045,RFC2046")
+APPLICATIONOCTET_STREAM,
+/**
+ * oda
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="application/oda", FormName="oda",FormDescription="RFC2045,RFC2046")
+APPLICATIONODA,
+/**
+ * oebps-package+xml
+ * RFC4839
+ **/
+ @SEDA(PropertyTerm="application/oebps-package+xml", FormName="oebps-package+xml",FormDescription="RFC4839")
+APPLICATIONOEBPS_PACKAGE_XML,
+/**
+ * ogg
+ * RFC3534
+ **/
+ @SEDA(PropertyTerm="application/ogg", FormName="ogg",FormDescription="RFC3534")
+APPLICATIONOGG,
+/**
+ * parityfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="application/parityfec", FormName="parityfec",FormDescription="RFC5109")
+APPLICATIONPARITYFEC,
+/**
+ * pdf
+ * RFC3778
+ **/
+ @SEDA(PropertyTerm="application/pdf", FormName="pdf",FormDescription="RFC3778")
+APPLICATIONPDF,
+/**
+ * pgp-encrypted
+ * RFC3156
+ **/
+ @SEDA(PropertyTerm="application/pgp-encrypted", FormName="pgp-encrypted",FormDescription="RFC3156")
+APPLICATIONPGP_ENCRYPTED,
+/**
+ * pgp-keys
+ * RFC3156
+ **/
+ @SEDA(PropertyTerm="application/pgp-keys", FormName="pgp-keys",FormDescription="RFC3156")
+APPLICATIONPGP_KEYS,
+/**
+ * pgp-signature
+ * RFC3156
+ **/
+ @SEDA(PropertyTerm="application/pgp-signature", FormName="pgp-signature",FormDescription="RFC3156")
+APPLICATIONPGP_SIGNATURE,
+/**
+ * pidf+xml
+ * RFC3863
+ **/
+ @SEDA(PropertyTerm="application/pidf+xml", FormName="pidf+xml",FormDescription="RFC3863")
+APPLICATIONPIDF_XML,
+/**
+ * pkcs10
+ * RFC2311
+ **/
+ @SEDA(PropertyTerm="application/pkcs10", FormName="pkcs10",FormDescription="RFC2311")
+APPLICATIONPKCS10,
+/**
+ * pkcs7-mime
+ * RFC2311
+ **/
+ @SEDA(PropertyTerm="application/pkcs7-mime", FormName="pkcs7-mime",FormDescription="RFC2311")
+APPLICATIONPKCS7_MIME,
+/**
+ * pkcs7-signature
+ * RFC2311
+ **/
+ @SEDA(PropertyTerm="application/pkcs7-signature", FormName="pkcs7-signature",FormDescription="RFC2311")
+APPLICATIONPKCS7_SIGNATURE,
+/**
+ * pkix-cert
+ * RFC2585
+ **/
+ @SEDA(PropertyTerm="application/pkix-cert", FormName="pkix-cert",FormDescription="RFC2585")
+APPLICATIONPKIX_CERT,
+/**
+ * pkixcmp
+ * RFC2510
+ **/
+ @SEDA(PropertyTerm="application/pkixcmp", FormName="pkixcmp",FormDescription="RFC2510")
+APPLICATIONPKIXCMP,
+/**
+ * pkix-crl
+ * RFC2585
+ **/
+ @SEDA(PropertyTerm="application/pkix-crl", FormName="pkix-crl",FormDescription="RFC2585")
+APPLICATIONPKIX_CRL,
+/**
+ * pkix-pkipath
+ * RFC4366
+ **/
+ @SEDA(PropertyTerm="application/pkix-pkipath", FormName="pkix-pkipath",FormDescription="RFC4366")
+APPLICATIONPKIX_PKIPATH,
+/**
+ * pls+xml
+ * RFC4267
+ **/
+ @SEDA(PropertyTerm="application/pls+xml", FormName="pls+xml",FormDescription="RFC4267")
+APPLICATIONPLS_XML,
+/**
+ * poc-settings+xml
+ * RFC4354
+ **/
+ @SEDA(PropertyTerm="application/poc-settings+xml", FormName="poc-settings+xml",FormDescription="RFC4354")
+APPLICATIONPOC_SETTINGS_XML,
+/**
+ * postscript
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="application/postscript", FormName="postscript",FormDescription="RFC2045,RFC2046")
+APPLICATIONPOSTSCRIPT,
+/**
+ * prs.alvestrand.titrax-sheet
+ * Alvestrand
+ **/
+ @SEDA(PropertyTerm="application/prs.alvestrand.titrax-sheet", FormName="prs.alvestrand.titrax-sheet",FormDescription="Alvestrand")
+APPLICATIONPRS_ALVESTRAND_TITRAX_SHEET,
+/**
+ * prs.cww
+ * Rungchavalnont
+ **/
+ @SEDA(PropertyTerm="application/prs.cww", FormName="prs.cww",FormDescription="Rungchavalnont")
+APPLICATIONPRS_CWW,
+/**
+ * prs.nprend
+ * Doggett
+ **/
+ @SEDA(PropertyTerm="application/prs.nprend", FormName="prs.nprend",FormDescription="Doggett")
+APPLICATIONPRS_NPREND,
+/**
+ * prs.plucker
+ * Janssen
+ **/
+ @SEDA(PropertyTerm="application/prs.plucker", FormName="prs.plucker",FormDescription="Janssen")
+APPLICATIONPRS_PLUCKER,
+/**
+ * rdf+xml
+ * RFC3870
+ **/
+ @SEDA(PropertyTerm="application/rdf+xml", FormName="rdf+xml",FormDescription="RFC3870")
+APPLICATIONRDF_XML,
+/**
+ * qsig
+ * RFC3204
+ **/
+ @SEDA(PropertyTerm="application/qsig", FormName="qsig",FormDescription="RFC3204")
+APPLICATIONQSIG,
+/**
+ * reginfo+xml
+ * RFC3680
+ **/
+ @SEDA(PropertyTerm="application/reginfo+xml", FormName="reginfo+xml",FormDescription="RFC3680")
+APPLICATIONREGINFO_XML,
+/**
+ * relax-ng-compact-syntax
+ * ISO/IEC19757-2:2003/FDAM-1
+ **/
+ @SEDA(PropertyTerm="application/relax-ng-compact-syntax", FormName="relax-ng-compact-syntax",FormDescription="ISO/IEC19757-2:2003/FDAM-1")
+APPLICATIONRELAX_NG_COMPACT_SYNTAX,
+/**
+ * remote-printing
+ * RFC1486Rose
+ **/
+ @SEDA(PropertyTerm="application/remote-printing", FormName="remote-printing",FormDescription="RFC1486Rose")
+APPLICATIONREMOTE_PRINTING,
+/**
+ * resource-lists+xml
+ * RFC4826
+ **/
+ @SEDA(PropertyTerm="application/resource-lists+xml", FormName="resource-lists+xml",FormDescription="RFC4826")
+APPLICATIONRESOURCE_LISTS_XML,
+/**
+ * riscos
+ * Smith
+ **/
+ @SEDA(PropertyTerm="application/riscos", FormName="riscos",FormDescription="Smith")
+APPLICATIONRISCOS,
+/**
+ * rlmi+xml
+ * RFC4662
+ **/
+ @SEDA(PropertyTerm="application/rlmi+xml", FormName="rlmi+xml",FormDescription="RFC4662")
+APPLICATIONRLMI_XML,
+/**
+ * rls-services+xml
+ * RFC4826
+ **/
+ @SEDA(PropertyTerm="application/rls-services+xml", FormName="rls-services+xml",FormDescription="RFC4826")
+APPLICATIONRLS_SERVICES_XML,
+/**
+ * rtf
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="application/rtf", FormName="rtf",FormDescription="Lindner")
+APPLICATIONRTF,
+/**
+ * rtx
+ * RFC4588
+ **/
+ @SEDA(PropertyTerm="application/rtx", FormName="rtx",FormDescription="RFC4588")
+APPLICATIONRTX,
+/**
+ * samlassertion+xml
+ * OASIS Security Services Technical Committee (SSTC)
+ **/
+ @SEDA(PropertyTerm="application/samlassertion+xml", FormName="samlassertion+xml",FormDescription="OASIS Security Services Technical Committee (SSTC)")
+APPLICATIONSAMLASSERTION_XML,
+/**
+ * samlmetadata+xml
+ * OASIS Security Services Technical Committee (SSTC)
+ **/
+ @SEDA(PropertyTerm="application/samlmetadata+xml", FormName="samlmetadata+xml",FormDescription="OASIS Security Services Technical Committee (SSTC)")
+APPLICATIONSAMLMETADATA_XML,
+/**
+ * sbml+xml
+ * RFC3823
+ **/
+ @SEDA(PropertyTerm="application/sbml+xml", FormName="sbml+xml",FormDescription="RFC3823")
+APPLICATIONSBML_XML,
+/**
+ * scvp-cv-request
+ * RFC5055
+ **/
+ @SEDA(PropertyTerm="application/scvp-cv-request", FormName="scvp-cv-request",FormDescription="RFC5055")
+APPLICATIONSCVP_CV_REQUEST,
+/**
+ * scvp-cv-response
+ * RFC5055
+ **/
+ @SEDA(PropertyTerm="application/scvp-cv-response", FormName="scvp-cv-response",FormDescription="RFC5055")
+APPLICATIONSCVP_CV_RESPONSE,
+/**
+ * scvp-vp-request
+ * RFC5055
+ **/
+ @SEDA(PropertyTerm="application/scvp-vp-request", FormName="scvp-vp-request",FormDescription="RFC5055")
+APPLICATIONSCVP_VP_REQUEST,
+/**
+ * scvp-vp-response
+ * RFC5055
+ **/
+ @SEDA(PropertyTerm="application/scvp-vp-response", FormName="scvp-vp-response",FormDescription="RFC5055")
+APPLICATIONSCVP_VP_RESPONSE,
+/**
+ * sdp
+ * RFC4566
+ **/
+ @SEDA(PropertyTerm="application/sdp", FormName="sdp",FormDescription="RFC4566")
+APPLICATIONSDP,
+/**
+ * set-payment
+ * Korver
+ **/
+ @SEDA(PropertyTerm="application/set-payment", FormName="set-payment",FormDescription="Korver")
+APPLICATIONSET_PAYMENT,
+/**
+ * set-payment-initiation
+ * Korver
+ **/
+ @SEDA(PropertyTerm="application/set-payment-initiation", FormName="set-payment-initiation",FormDescription="Korver")
+APPLICATIONSET_PAYMENT_INITIATION,
+/**
+ * set-registration
+ * Korver
+ **/
+ @SEDA(PropertyTerm="application/set-registration", FormName="set-registration",FormDescription="Korver")
+APPLICATIONSET_REGISTRATION,
+/**
+ * set-registration-initiation
+ * Korver
+ **/
+ @SEDA(PropertyTerm="application/set-registration-initiation", FormName="set-registration-initiation",FormDescription="Korver")
+APPLICATIONSET_REGISTRATION_INITIATION,
+/**
+ * sgml
+ * RFC1874
+ **/
+ @SEDA(PropertyTerm="application/sgml", FormName="sgml",FormDescription="RFC1874")
+APPLICATIONSGML,
+/**
+ * sgml-open-catalog
+ * Grosso
+ **/
+ @SEDA(PropertyTerm="application/sgml-open-catalog", FormName="sgml-open-catalog",FormDescription="Grosso")
+APPLICATIONSGML_OPEN_CATALOG,
+/**
+ * shf+xml
+ * RFC4194
+ **/
+ @SEDA(PropertyTerm="application/shf+xml", FormName="shf+xml",FormDescription="RFC4194")
+APPLICATIONSHF_XML,
+/**
+ * sieve
+ * RFC5228
+ **/
+ @SEDA(PropertyTerm="application/sieve", FormName="sieve",FormDescription="RFC5228")
+APPLICATIONSIEVE,
+/**
+ * simple-filter+xml
+ * RFC4661
+ **/
+ @SEDA(PropertyTerm="application/simple-filter+xml", FormName="simple-filter+xml",FormDescription="RFC4661")
+APPLICATIONSIMPLE_FILTER_XML,
+/**
+ * simple-message-summary
+ * RFC3842
+ **/
+ @SEDA(PropertyTerm="application/simple-message-summary", FormName="simple-message-summary",FormDescription="RFC3842")
+APPLICATIONSIMPLE_MESSAGE_SUMMARY,
+/**
+ * simpleSymbolContainer
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="application/simpleSymbolContainer", FormName="simpleSymbolContainer",FormDescription="3GPP")
+APPLICATIONSIMPLESYMBOLCONTAINER,
+/**
+ * slate
+ * Crowley
+ **/
+ @SEDA(PropertyTerm="application/slate", FormName="slate",FormDescription="Crowley")
+APPLICATIONSLATE,
+/**
+ * smil (OBSOLETE)
+ * RFC4536
+ **/
+ @SEDA(PropertyTerm="application/smil (OBSOLETE)", FormName="smil (OBSOLETE)",FormDescription="RFC4536")
+APPLICATIONSMIL_OBSOLETE,
+/**
+ * smil+xml
+ * RFC4536
+ **/
+ @SEDA(PropertyTerm="application/smil+xml", FormName="smil+xml",FormDescription="RFC4536")
+APPLICATIONSMIL_XML,
+/**
+ * soap+fastinfoset
+ * ITU-T ASN.1 Rapporteur
+ **/
+ @SEDA(PropertyTerm="application/soap+fastinfoset", FormName="soap+fastinfoset",FormDescription="ITU-T ASN.1 Rapporteur")
+APPLICATIONSOAP_FASTINFOSET,
+/**
+ * soap+xml
+ * RFC3902
+ **/
+ @SEDA(PropertyTerm="application/soap+xml", FormName="soap+xml",FormDescription="RFC3902")
+APPLICATIONSOAP_XML,
+/**
+ * sparql-query
+ * W3C
+ **/
+ @SEDA(PropertyTerm="application/sparql-query", FormName="sparql-query",FormDescription="W3C")
+APPLICATIONSPARQL_QUERY,
+/**
+ * sparql-results+xml
+ * W3C
+ **/
+ @SEDA(PropertyTerm="application/sparql-results+xml", FormName="sparql-results+xml",FormDescription="W3C")
+APPLICATIONSPARQL_RESULTS_XML,
+/**
+ * spirits-event+xml
+ * RFC3910
+ **/
+ @SEDA(PropertyTerm="application/spirits-event+xml", FormName="spirits-event+xml",FormDescription="RFC3910")
+APPLICATIONSPIRITS_EVENT_XML,
+/**
+ * srgs
+ * RFC4267
+ **/
+ @SEDA(PropertyTerm="application/srgs", FormName="srgs",FormDescription="RFC4267")
+APPLICATIONSRGS,
+/**
+ * srgs+xml
+ * RFC4267
+ **/
+ @SEDA(PropertyTerm="application/srgs+xml", FormName="srgs+xml",FormDescription="RFC4267")
+APPLICATIONSRGS_XML,
+/**
+ * ssml+xml
+ * RFC4267
+ **/
+ @SEDA(PropertyTerm="application/ssml+xml", FormName="ssml+xml",FormDescription="RFC4267")
+APPLICATIONSSML_XML,
+/**
+ * timestamp-query
+ * RFC3161
+ **/
+ @SEDA(PropertyTerm="application/timestamp-query", FormName="timestamp-query",FormDescription="RFC3161")
+APPLICATIONTIMESTAMP_QUERY,
+/**
+ * timestamp-reply
+ * RFC3161
+ **/
+ @SEDA(PropertyTerm="application/timestamp-reply", FormName="timestamp-reply",FormDescription="RFC3161")
+APPLICATIONTIMESTAMP_REPLY,
+/**
+ * tve-trigger
+ * Welsh
+ **/
+ @SEDA(PropertyTerm="application/tve-trigger", FormName="tve-trigger",FormDescription="Welsh")
+APPLICATIONTVE_TRIGGER,
+/**
+ * ulpfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="application/ulpfec", FormName="ulpfec",FormDescription="RFC5109")
+APPLICATIONULPFEC,
+/**
+ * vemmi
+ * RFC2122
+ **/
+ @SEDA(PropertyTerm="application/vemmi", FormName="vemmi",FormDescription="RFC2122")
+APPLICATIONVEMMI,
+/**
+ * vnd.3gpp.bsf+xml
+ * Meredith
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp.bsf+xml", FormName="vnd.3gpp.bsf+xml",FormDescription="Meredith")
+APPLICATIONVND_3GPP_BSF_XML,
+/**
+ * vnd.3gpp.pic-bw-large
+ * Meredith
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp.pic-bw-large", FormName="vnd.3gpp.pic-bw-large",FormDescription="Meredith")
+APPLICATIONVND_3GPP_PIC_BW_LARGE,
+/**
+ * vnd.3gpp.pic-bw-small
+ * Meredith
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp.pic-bw-small", FormName="vnd.3gpp.pic-bw-small",FormDescription="Meredith")
+APPLICATIONVND_3GPP_PIC_BW_SMALL,
+/**
+ * vnd.3gpp.pic-bw-var
+ * Meredith
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp.pic-bw-var", FormName="vnd.3gpp.pic-bw-var",FormDescription="Meredith")
+APPLICATIONVND_3GPP_PIC_BW_VAR,
+/**
+ * vnd.3gpp.sms
+ * Meredith
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp.sms", FormName="vnd.3gpp.sms",FormDescription="Meredith")
+APPLICATIONVND_3GPP_SMS,
+/**
+ * vnd.3gpp2.bcmcsinfo+xml
+ * Dryden
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp2.bcmcsinfo+xml", FormName="vnd.3gpp2.bcmcsinfo+xml",FormDescription="Dryden")
+APPLICATIONVND_3GPP2_BCMCSINFO_XML,
+/**
+ * vnd.3gpp2.sms
+ * Mahendran
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp2.sms", FormName="vnd.3gpp2.sms",FormDescription="Mahendran")
+APPLICATIONVND_3GPP2_SMS,
+/**
+ * vnd.3gpp2.tcap
+ * Mahendran
+ **/
+ @SEDA(PropertyTerm="application/vnd.3gpp2.tcap", FormName="vnd.3gpp2.tcap",FormDescription="Mahendran")
+APPLICATIONVND_3GPP2_TCAP,
+/**
+ * vnd.3M.Post-it-Notes
+ * O'Brien
+ **/
+ @SEDA(PropertyTerm="application/vnd.3M.Post-it-Notes", FormName="vnd.3M.Post-it-Notes",FormDescription="O'Brien")
+APPLICATIONVND_3M_POST_IT_NOTES,
+/**
+ * vnd.accpac.simply.aso
+ * Leow
+ **/
+ @SEDA(PropertyTerm="application/vnd.accpac.simply.aso", FormName="vnd.accpac.simply.aso",FormDescription="Leow")
+APPLICATIONVND_ACCPAC_SIMPLY_ASO,
+/**
+ * vnd.accpac.simply.imp
+ * Leow
+ **/
+ @SEDA(PropertyTerm="application/vnd.accpac.simply.imp", FormName="vnd.accpac.simply.imp",FormDescription="Leow")
+APPLICATIONVND_ACCPAC_SIMPLY_IMP,
+/**
+ * vnd.acucobol
+ * Lubin
+ **/
+ @SEDA(PropertyTerm="application/vnd.acucobol", FormName="vnd.acucobol",FormDescription="Lubin")
+APPLICATIONVND_ACUCOBOL,
+/**
+ * vnd.acucorp
+ * Lubin
+ **/
+ @SEDA(PropertyTerm="application/vnd.acucorp", FormName="vnd.acucorp",FormDescription="Lubin")
+APPLICATIONVND_ACUCORP,
+/**
+ * vnd.adobe.xdp+xml
+ * Brinkman
+ **/
+ @SEDA(PropertyTerm="application/vnd.adobe.xdp+xml", FormName="vnd.adobe.xdp+xml",FormDescription="Brinkman")
+APPLICATIONVND_ADOBE_XDP_XML,
+/**
+ * vnd.adobe.xfdf
+ * Perelman
+ **/
+ @SEDA(PropertyTerm="application/vnd.adobe.xfdf", FormName="vnd.adobe.xfdf",FormDescription="Perelman")
+APPLICATIONVND_ADOBE_XFDF,
+/**
+ * vnd.aether.imp
+ * Moskowitz
+ **/
+ @SEDA(PropertyTerm="application/vnd.aether.imp", FormName="vnd.aether.imp",FormDescription="Moskowitz")
+APPLICATIONVND_AETHER_IMP,
+/**
+ * vnd.americandynamics.acc
+ * Sands
+ **/
+ @SEDA(PropertyTerm="application/vnd.americandynamics.acc", FormName="vnd.americandynamics.acc",FormDescription="Sands")
+APPLICATIONVND_AMERICANDYNAMICS_ACC,
+/**
+ * vnd.amiga.ami
+ * Blumberg
+ **/
+ @SEDA(PropertyTerm="application/vnd.amiga.ami", FormName="vnd.amiga.ami",FormDescription="Blumberg")
+APPLICATIONVND_AMIGA_AMI,
+/**
+ * vnd.anser-web-certificate-issue-initiation
+ * Mori
+ **/
+ @SEDA(PropertyTerm="application/vnd.anser-web-certificate-issue-initiation", FormName="vnd.anser-web-certificate-issue-initiation",FormDescription="Mori")
+APPLICATIONVND_ANSER_WEB_CERTIFICATE_ISSUE_INITIATION,
+/**
+ * vnd.antix.game-component
+ * Shelton
+ **/
+ @SEDA(PropertyTerm="application/vnd.antix.game-component", FormName="vnd.antix.game-component",FormDescription="Shelton")
+APPLICATIONVND_ANTIX_GAME_COMPONENT,
+/**
+ * vnd.apple.installer+xml
+ * Bierman
+ **/
+ @SEDA(PropertyTerm="application/vnd.apple.installer+xml", FormName="vnd.apple.installer+xml",FormDescription="Bierman")
+APPLICATIONVND_APPLE_INSTALLER_XML,
+/**
+ * vnd.audiograph
+ * Slusanschi
+ **/
+ @SEDA(PropertyTerm="application/vnd.audiograph", FormName="vnd.audiograph",FormDescription="Slusanschi")
+APPLICATIONVND_AUDIOGRAPH,
+/**
+ * vnd.autopackage
+ * Hearn
+ **/
+ @SEDA(PropertyTerm="application/vnd.autopackage", FormName="vnd.autopackage",FormDescription="Hearn")
+APPLICATIONVND_AUTOPACKAGE,
+/**
+ * vnd.avistar+xml
+ * Vysotsky
+ **/
+ @SEDA(PropertyTerm="application/vnd.avistar+xml", FormName="vnd.avistar+xml",FormDescription="Vysotsky")
+APPLICATIONVND_AVISTAR_XML,
+/**
+ * vnd.blueice.multipass
+ * Holmstrom
+ **/
+ @SEDA(PropertyTerm="application/vnd.blueice.multipass", FormName="vnd.blueice.multipass",FormDescription="Holmstrom")
+APPLICATIONVND_BLUEICE_MULTIPASS,
+/**
+ * vnd.bmi
+ * Gotoh
+ **/
+ @SEDA(PropertyTerm="application/vnd.bmi", FormName="vnd.bmi",FormDescription="Gotoh")
+APPLICATIONVND_BMI,
+/**
+ * vnd.businessobjects
+ * Imoucha
+ **/
+ @SEDA(PropertyTerm="application/vnd.businessobjects", FormName="vnd.businessobjects",FormDescription="Imoucha")
+APPLICATIONVND_BUSINESSOBJECTS,
+/**
+ * vnd.cab-jscript
+ * Falkenberg
+ **/
+ @SEDA(PropertyTerm="application/vnd.cab-jscript", FormName="vnd.cab-jscript",FormDescription="Falkenberg")
+APPLICATIONVND_CAB_JSCRIPT,
+/**
+ * vnd.canon-cpdl
+ * Muto
+ **/
+ @SEDA(PropertyTerm="application/vnd.canon-cpdl", FormName="vnd.canon-cpdl",FormDescription="Muto")
+APPLICATIONVND_CANON_CPDL,
+/**
+ * vnd.canon-lips
+ * Muto
+ **/
+ @SEDA(PropertyTerm="application/vnd.canon-lips", FormName="vnd.canon-lips",FormDescription="Muto")
+APPLICATIONVND_CANON_LIPS,
+/**
+ * vnd.cendio.thinlinc.clientconf
+ * Åstrand
+ **/
+ @SEDA(PropertyTerm="application/vnd.cendio.thinlinc.clientconf", FormName="vnd.cendio.thinlinc.clientconf",FormDescription="Åstrand")
+APPLICATIONVND_CENDIO_THINLINC_CLIENTCONF,
+/**
+ * vnd.chemdraw+xml
+ * Howes
+ **/
+ @SEDA(PropertyTerm="application/vnd.chemdraw+xml", FormName="vnd.chemdraw+xml",FormDescription="Howes")
+APPLICATIONVND_CHEMDRAW_XML,
+/**
+ * vnd.chipnuts.karaoke-mmd
+ * Xiong
+ **/
+ @SEDA(PropertyTerm="application/vnd.chipnuts.karaoke-mmd", FormName="vnd.chipnuts.karaoke-mmd",FormDescription="Xiong")
+APPLICATIONVND_CHIPNUTS_KARAOKE_MMD,
+/**
+ * vnd.cinderella
+ * Kortenkamp
+ **/
+ @SEDA(PropertyTerm="application/vnd.cinderella", FormName="vnd.cinderella",FormDescription="Kortenkamp")
+APPLICATIONVND_CINDERELLA,
+/**
+ * vnd.cirpack.isdn-ext
+ * Mayeux
+ **/
+ @SEDA(PropertyTerm="application/vnd.cirpack.isdn-ext", FormName="vnd.cirpack.isdn-ext",FormDescription="Mayeux")
+APPLICATIONVND_CIRPACK_ISDN_EXT,
+/**
+ * vnd.claymore
+ * Simpson
+ **/
+ @SEDA(PropertyTerm="application/vnd.claymore", FormName="vnd.claymore",FormDescription="Simpson")
+APPLICATIONVND_CLAYMORE,
+/**
+ * vnd.clonk.c4group
+ * Brammer
+ **/
+ @SEDA(PropertyTerm="application/vnd.clonk.c4group", FormName="vnd.clonk.c4group",FormDescription="Brammer")
+APPLICATIONVND_CLONK_C4GROUP,
+/**
+ * vnd.commerce-battelle
+ * Applebaum
+ **/
+ @SEDA(PropertyTerm="application/vnd.commerce-battelle", FormName="vnd.commerce-battelle",FormDescription="Applebaum")
+APPLICATIONVND_COMMERCE_BATTELLE,
+/**
+ * vnd.commonspace
+ * Chandhok
+ **/
+ @SEDA(PropertyTerm="application/vnd.commonspace", FormName="vnd.commonspace",FormDescription="Chandhok")
+APPLICATIONVND_COMMONSPACE,
+/**
+ * vnd.cosmocaller
+ * Dellutri
+ **/
+ @SEDA(PropertyTerm="application/vnd.cosmocaller", FormName="vnd.cosmocaller",FormDescription="Dellutri")
+APPLICATIONVND_COSMOCALLER,
+/**
+ * vnd.contact.cmsg
+ * Patz
+ **/
+ @SEDA(PropertyTerm="application/vnd.contact.cmsg", FormName="vnd.contact.cmsg",FormDescription="Patz")
+APPLICATIONVND_CONTACT_CMSG,
+/**
+ * vnd.crick.clicker
+ * Burt
+ **/
+ @SEDA(PropertyTerm="application/vnd.crick.clicker", FormName="vnd.crick.clicker",FormDescription="Burt")
+APPLICATIONVND_CRICK_CLICKER,
+/**
+ * vnd.crick.clicker.keyboard
+ * Burt
+ **/
+ @SEDA(PropertyTerm="application/vnd.crick.clicker.keyboard", FormName="vnd.crick.clicker.keyboard",FormDescription="Burt")
+APPLICATIONVND_CRICK_CLICKER_KEYBOARD,
+/**
+ * vnd.crick.clicker.palette
+ * Burt
+ **/
+ @SEDA(PropertyTerm="application/vnd.crick.clicker.palette", FormName="vnd.crick.clicker.palette",FormDescription="Burt")
+APPLICATIONVND_CRICK_CLICKER_PALETTE,
+/**
+ * vnd.crick.clicker.template
+ * Burt
+ **/
+ @SEDA(PropertyTerm="application/vnd.crick.clicker.template", FormName="vnd.crick.clicker.template",FormDescription="Burt")
+APPLICATIONVND_CRICK_CLICKER_TEMPLATE,
+/**
+ * vnd.crick.clicker.wordbank
+ * Burt
+ **/
+ @SEDA(PropertyTerm="application/vnd.crick.clicker.wordbank", FormName="vnd.crick.clicker.wordbank",FormDescription="Burt")
+APPLICATIONVND_CRICK_CLICKER_WORDBANK,
+/**
+ * vnd.criticaltools.wbs+xml
+ * Spiller
+ **/
+ @SEDA(PropertyTerm="application/vnd.criticaltools.wbs+xml", FormName="vnd.criticaltools.wbs+xml",FormDescription="Spiller")
+APPLICATIONVND_CRITICALTOOLS_WBS_XML,
+/**
+ * vnd.ctc-posml
+ * Kohlhepp
+ **/
+ @SEDA(PropertyTerm="application/vnd.ctc-posml", FormName="vnd.ctc-posml",FormDescription="Kohlhepp")
+APPLICATIONVND_CTC_POSML,
+/**
+ * vnd.ctct.ws+xml
+ * Ancona
+ **/
+ @SEDA(PropertyTerm="application/vnd.ctct.ws+xml", FormName="vnd.ctct.ws+xml",FormDescription="Ancona")
+APPLICATIONVND_CTCT_WS_XML,
+/**
+ * vnd.cups-pdf
+ * Sweet
+ **/
+ @SEDA(PropertyTerm="application/vnd.cups-pdf", FormName="vnd.cups-pdf",FormDescription="Sweet")
+APPLICATIONVND_CUPS_PDF,
+/**
+ * vnd.cups-postscript
+ * Sweet
+ **/
+ @SEDA(PropertyTerm="application/vnd.cups-postscript", FormName="vnd.cups-postscript",FormDescription="Sweet")
+APPLICATIONVND_CUPS_POSTSCRIPT,
+/**
+ * vnd.cups-ppd
+ * Sweet
+ **/
+ @SEDA(PropertyTerm="application/vnd.cups-ppd", FormName="vnd.cups-ppd",FormDescription="Sweet")
+APPLICATIONVND_CUPS_PPD,
+/**
+ * vnd.cups-raster
+ * Sweet
+ **/
+ @SEDA(PropertyTerm="application/vnd.cups-raster", FormName="vnd.cups-raster",FormDescription="Sweet")
+APPLICATIONVND_CUPS_RASTER,
+/**
+ * vnd.cups-raw
+ * Sweet
+ **/
+ @SEDA(PropertyTerm="application/vnd.cups-raw", FormName="vnd.cups-raw",FormDescription="Sweet")
+APPLICATIONVND_CUPS_RAW,
+/**
+ * vnd.curl
+ * Byrnes
+ **/
+ @SEDA(PropertyTerm="application/vnd.curl", FormName="vnd.curl",FormDescription="Byrnes")
+APPLICATIONVND_CURL,
+/**
+ * vnd.cybank
+ * Helmee
+ **/
+ @SEDA(PropertyTerm="application/vnd.cybank", FormName="vnd.cybank",FormDescription="Helmee")
+APPLICATIONVND_CYBANK,
+/**
+ * vnd.data-vision.rdz
+ * Fields
+ **/
+ @SEDA(PropertyTerm="application/vnd.data-vision.rdz", FormName="vnd.data-vision.rdz",FormDescription="Fields")
+APPLICATIONVND_DATA_VISION_RDZ,
+/**
+ * vnd.denovo.fcselayout-link
+ * Dixon
+ **/
+ @SEDA(PropertyTerm="application/vnd.denovo.fcselayout-link", FormName="vnd.denovo.fcselayout-link",FormDescription="Dixon")
+APPLICATIONVND_DENOVO_FCSELAYOUT_LINK,
+/**
+ * vnd.dna
+ * Searcy
+ **/
+ @SEDA(PropertyTerm="application/vnd.dna", FormName="vnd.dna",FormDescription="Searcy")
+APPLICATIONVND_DNA,
+/**
+ * vnd.dpgraph
+ * Parker
+ **/
+ @SEDA(PropertyTerm="application/vnd.dpgraph", FormName="vnd.dpgraph",FormDescription="Parker")
+APPLICATIONVND_DPGRAPH,
+/**
+ * vnd.dreamfactory
+ * Appleton
+ **/
+ @SEDA(PropertyTerm="application/vnd.dreamfactory", FormName="vnd.dreamfactory",FormDescription="Appleton")
+APPLICATIONVND_DREAMFACTORY,
+/**
+ * vnd.dvb.esgcontainer
+ * Heuer
+ **/
+ @SEDA(PropertyTerm="application/vnd.dvb.esgcontainer", FormName="vnd.dvb.esgcontainer",FormDescription="Heuer")
+APPLICATIONVND_DVB_ESGCONTAINER,
+/**
+ * vnd.dvb.ipdcesgaccess
+ * Heuer
+ **/
+ @SEDA(PropertyTerm="application/vnd.dvb.ipdcesgaccess", FormName="vnd.dvb.ipdcesgaccess",FormDescription="Heuer")
+APPLICATIONVND_DVB_IPDCESGACCESS,
+/**
+ * vnd.dxr
+ * Duffy
+ **/
+ @SEDA(PropertyTerm="application/vnd.dxr", FormName="vnd.dxr",FormDescription="Duffy")
+APPLICATIONVND_DXR,
+/**
+ * vnd.ecdis-update
+ * Buettgenbach
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecdis-update", FormName="vnd.ecdis-update",FormDescription="Buettgenbach")
+APPLICATIONVND_ECDIS_UPDATE,
+/**
+ * vnd.ecowin.chart
+ * Olsson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecowin.chart", FormName="vnd.ecowin.chart",FormDescription="Olsson")
+APPLICATIONVND_ECOWIN_CHART,
+/**
+ * vnd.ecowin.filerequest
+ * Olsson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecowin.filerequest", FormName="vnd.ecowin.filerequest",FormDescription="Olsson")
+APPLICATIONVND_ECOWIN_FILEREQUEST,
+/**
+ * vnd.ecowin.fileupdate
+ * Olsson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecowin.fileupdate", FormName="vnd.ecowin.fileupdate",FormDescription="Olsson")
+APPLICATIONVND_ECOWIN_FILEUPDATE,
+/**
+ * vnd.ecowin.series
+ * Olsson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecowin.series", FormName="vnd.ecowin.series",FormDescription="Olsson")
+APPLICATIONVND_ECOWIN_SERIES,
+/**
+ * vnd.ecowin.seriesrequest
+ * Olsson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecowin.seriesrequest", FormName="vnd.ecowin.seriesrequest",FormDescription="Olsson")
+APPLICATIONVND_ECOWIN_SERIESREQUEST,
+/**
+ * vnd.ecowin.seriesupdate
+ * Olsson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ecowin.seriesupdate", FormName="vnd.ecowin.seriesupdate",FormDescription="Olsson")
+APPLICATIONVND_ECOWIN_SERIESUPDATE,
+/**
+ * vnd.enliven
+ * Santinelli
+ **/
+ @SEDA(PropertyTerm="application/vnd.enliven", FormName="vnd.enliven",FormDescription="Santinelli")
+APPLICATIONVND_ENLIVEN,
+/**
+ * vnd.epson.esf
+ * Hoshina
+ **/
+ @SEDA(PropertyTerm="application/vnd.epson.esf", FormName="vnd.epson.esf",FormDescription="Hoshina")
+APPLICATIONVND_EPSON_ESF,
+/**
+ * vnd.epson.msf
+ * Hoshina
+ **/
+ @SEDA(PropertyTerm="application/vnd.epson.msf", FormName="vnd.epson.msf",FormDescription="Hoshina")
+APPLICATIONVND_EPSON_MSF,
+/**
+ * vnd.epson.quickanime
+ * Gu
+ **/
+ @SEDA(PropertyTerm="application/vnd.epson.quickanime", FormName="vnd.epson.quickanime",FormDescription="Gu")
+APPLICATIONVND_EPSON_QUICKANIME,
+/**
+ * vnd.epson.salt
+ * Nagatomo
+ **/
+ @SEDA(PropertyTerm="application/vnd.epson.salt", FormName="vnd.epson.salt",FormDescription="Nagatomo")
+APPLICATIONVND_EPSON_SALT,
+/**
+ * vnd.epson.ssf
+ * Hoshina
+ **/
+ @SEDA(PropertyTerm="application/vnd.epson.ssf", FormName="vnd.epson.ssf",FormDescription="Hoshina")
+APPLICATIONVND_EPSON_SSF,
+/**
+ * vnd.ericsson.quickcall
+ * Tidwell
+ **/
+ @SEDA(PropertyTerm="application/vnd.ericsson.quickcall", FormName="vnd.ericsson.quickcall",FormDescription="Tidwell")
+APPLICATIONVND_ERICSSON_QUICKCALL,
+/**
+ * vnd.eszigno3+xml
+ * Tóth
+ **/
+ @SEDA(PropertyTerm="application/vnd.eszigno3+xml", FormName="vnd.eszigno3+xml",FormDescription="Tóth")
+APPLICATIONVND_ESZIGNO3_XML,
+/**
+ * vnd.eudora.data
+ * Resnick
+ **/
+ @SEDA(PropertyTerm="application/vnd.eudora.data", FormName="vnd.eudora.data",FormDescription="Resnick")
+APPLICATIONVND_EUDORA_DATA,
+/**
+ * vnd.ezpix-album
+ * Electronic Zombie, Corp.
+ **/
+ @SEDA(PropertyTerm="application/vnd.ezpix-album", FormName="vnd.ezpix-album",FormDescription="Electronic Zombie, Corp.")
+APPLICATIONVND_EZPIX_ALBUM,
+/**
+ * vnd.ezpix-package
+ * Electronic Zombie, Corp.
+ **/
+ @SEDA(PropertyTerm="application/vnd.ezpix-package", FormName="vnd.ezpix-package",FormDescription="Electronic Zombie, Corp.")
+APPLICATIONVND_EZPIX_PACKAGE,
+/**
+ * vnd.fdf
+ * Zilles
+ **/
+ @SEDA(PropertyTerm="application/vnd.fdf", FormName="vnd.fdf",FormDescription="Zilles")
+APPLICATIONVND_FDF,
+/**
+ * vnd.ffsns
+ * Holstage
+ **/
+ @SEDA(PropertyTerm="application/vnd.ffsns", FormName="vnd.ffsns",FormDescription="Holstage")
+APPLICATIONVND_FFSNS,
+/**
+ * vnd.fints
+ * Hammann
+ **/
+ @SEDA(PropertyTerm="application/vnd.fints", FormName="vnd.fints",FormDescription="Hammann")
+APPLICATIONVND_FINTS,
+/**
+ * vnd.FloGraphIt
+ * Floersch
+ **/
+ @SEDA(PropertyTerm="application/vnd.FloGraphIt", FormName="vnd.FloGraphIt",FormDescription="Floersch")
+APPLICATIONVND_FLOGRAPHIT,
+/**
+ * vnd.fluxtime.clip
+ * Winter
+ **/
+ @SEDA(PropertyTerm="application/vnd.fluxtime.clip", FormName="vnd.fluxtime.clip",FormDescription="Winter")
+APPLICATIONVND_FLUXTIME_CLIP,
+/**
+ * vnd.framemaker
+ * Wexler
+ **/
+ @SEDA(PropertyTerm="application/vnd.framemaker", FormName="vnd.framemaker",FormDescription="Wexler")
+APPLICATIONVND_FRAMEMAKER,
+/**
+ * vnd.frogans.fnc
+ * Tamas
+ **/
+ @SEDA(PropertyTerm="application/vnd.frogans.fnc", FormName="vnd.frogans.fnc",FormDescription="Tamas")
+APPLICATIONVND_FROGANS_FNC,
+/**
+ * vnd.frogans.ltf
+ * Tamas
+ **/
+ @SEDA(PropertyTerm="application/vnd.frogans.ltf", FormName="vnd.frogans.ltf",FormDescription="Tamas")
+APPLICATIONVND_FROGANS_LTF,
+/**
+ * vnd.fsc.weblaunch
+ * D.Smith
+ **/
+ @SEDA(PropertyTerm="application/vnd.fsc.weblaunch", FormName="vnd.fsc.weblaunch",FormDescription="D.Smith")
+APPLICATIONVND_FSC_WEBLAUNCH,
+/**
+ * vnd.fujitsu.oasys
+ * Togashi
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujitsu.oasys", FormName="vnd.fujitsu.oasys",FormDescription="Togashi")
+APPLICATIONVND_FUJITSU_OASYS,
+/**
+ * vnd.fujitsu.oasys2
+ * Togashi
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujitsu.oasys2", FormName="vnd.fujitsu.oasys2",FormDescription="Togashi")
+APPLICATIONVND_FUJITSU_OASYS2,
+/**
+ * vnd.fujitsu.oasys3
+ * Okudaira
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujitsu.oasys3", FormName="vnd.fujitsu.oasys3",FormDescription="Okudaira")
+APPLICATIONVND_FUJITSU_OASYS3,
+/**
+ * vnd.fujitsu.oasysgp
+ * Sugimoto
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujitsu.oasysgp", FormName="vnd.fujitsu.oasysgp",FormDescription="Sugimoto")
+APPLICATIONVND_FUJITSU_OASYSGP,
+/**
+ * vnd.fujitsu.oasysprs
+ * Ogita
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujitsu.oasysprs", FormName="vnd.fujitsu.oasysprs",FormDescription="Ogita")
+APPLICATIONVND_FUJITSU_OASYSPRS,
+/**
+ * vnd.fujixerox.ART4
+ * Tanabe
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujixerox.ART4", FormName="vnd.fujixerox.ART4",FormDescription="Tanabe")
+APPLICATIONVND_FUJIXEROX_ART4,
+/**
+ * vnd.fujixerox.ART-EX
+ * Tanabe
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujixerox.ART-EX", FormName="vnd.fujixerox.ART-EX",FormDescription="Tanabe")
+APPLICATIONVND_FUJIXEROX_ART_EX,
+/**
+ * vnd.fujixerox.ddd
+ * Onda
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujixerox.ddd", FormName="vnd.fujixerox.ddd",FormDescription="Onda")
+APPLICATIONVND_FUJIXEROX_DDD,
+/**
+ * vnd.fujixerox.docuworks
+ * Taguchi
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujixerox.docuworks", FormName="vnd.fujixerox.docuworks",FormDescription="Taguchi")
+APPLICATIONVND_FUJIXEROX_DOCUWORKS,
+/**
+ * vnd.fujixerox.docuworks.binder
+ * Matsumoto
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujixerox.docuworks.binder", FormName="vnd.fujixerox.docuworks.binder",FormDescription="Matsumoto")
+APPLICATIONVND_FUJIXEROX_DOCUWORKS_BINDER,
+/**
+ * vnd.fujixerox.HBPL
+ * Tanabe
+ **/
+ @SEDA(PropertyTerm="application/vnd.fujixerox.HBPL", FormName="vnd.fujixerox.HBPL",FormDescription="Tanabe")
+APPLICATIONVND_FUJIXEROX_HBPL,
+/**
+ * vnd.fut-misnet
+ * Pruulmann
+ **/
+ @SEDA(PropertyTerm="application/vnd.fut-misnet", FormName="vnd.fut-misnet",FormDescription="Pruulmann")
+APPLICATIONVND_FUT_MISNET,
+/**
+ * vnd.fuzzysheet
+ * Birtwistle
+ **/
+ @SEDA(PropertyTerm="application/vnd.fuzzysheet", FormName="vnd.fuzzysheet",FormDescription="Birtwistle")
+APPLICATIONVND_FUZZYSHEET,
+/**
+ * vnd.genomatix.tuxedo
+ * Frey
+ **/
+ @SEDA(PropertyTerm="application/vnd.genomatix.tuxedo", FormName="vnd.genomatix.tuxedo",FormDescription="Frey")
+APPLICATIONVND_GENOMATIX_TUXEDO,
+/**
+ * vnd.google-earth.kml+xml
+ * Ashbridge
+ **/
+ @SEDA(PropertyTerm="application/vnd.google-earth.kml+xml", FormName="vnd.google-earth.kml+xml",FormDescription="Ashbridge")
+APPLICATIONVND_GOOGLE_EARTH_KML_XML,
+/**
+ * vnd.google-earth.kmz
+ * Ashbridge
+ **/
+ @SEDA(PropertyTerm="application/vnd.google-earth.kmz", FormName="vnd.google-earth.kmz",FormDescription="Ashbridge")
+APPLICATIONVND_GOOGLE_EARTH_KMZ,
+/**
+ * vnd.grafeq
+ * Tupper
+ **/
+ @SEDA(PropertyTerm="application/vnd.grafeq", FormName="vnd.grafeq",FormDescription="Tupper")
+APPLICATIONVND_GRAFEQ,
+/**
+ * vnd.gridmp
+ * Lawson
+ **/
+ @SEDA(PropertyTerm="application/vnd.gridmp", FormName="vnd.gridmp",FormDescription="Lawson")
+APPLICATIONVND_GRIDMP,
+/**
+ * vnd.groove-account
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-account", FormName="vnd.groove-account",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_ACCOUNT,
+/**
+ * vnd.groove-help
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-help", FormName="vnd.groove-help",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_HELP,
+/**
+ * vnd.groove-identity-message
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-identity-message", FormName="vnd.groove-identity-message",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_IDENTITY_MESSAGE,
+/**
+ * vnd.groove-injector
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-injector", FormName="vnd.groove-injector",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_INJECTOR,
+/**
+ * vnd.groove-tool-message
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-tool-message", FormName="vnd.groove-tool-message",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_TOOL_MESSAGE,
+/**
+ * vnd.groove-tool-template
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-tool-template", FormName="vnd.groove-tool-template",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_TOOL_TEMPLATE,
+/**
+ * vnd.groove-vcard
+ * Joseph
+ **/
+ @SEDA(PropertyTerm="application/vnd.groove-vcard", FormName="vnd.groove-vcard",FormDescription="Joseph")
+APPLICATIONVND_GROOVE_VCARD,
+/**
+ * vnd.HandHeld-Entertainment+xml
+ * Hamilton
+ **/
+ @SEDA(PropertyTerm="application/vnd.HandHeld-Entertainment+xml", FormName="vnd.HandHeld-Entertainment+xml",FormDescription="Hamilton")
+APPLICATIONVND_HANDHELD_ENTERTAINMENT_XML,
+/**
+ * vnd.hbci
+ * Hammann
+ **/
+ @SEDA(PropertyTerm="application/vnd.hbci", FormName="vnd.hbci",FormDescription="Hammann")
+APPLICATIONVND_HBCI,
+/**
+ * vnd.hcl-bireports
+ * Serres
+ **/
+ @SEDA(PropertyTerm="application/vnd.hcl-bireports", FormName="vnd.hcl-bireports",FormDescription="Serres")
+APPLICATIONVND_HCL_BIREPORTS,
+/**
+ * vnd.hhe.lesson-player
+ * Jones
+ **/
+ @SEDA(PropertyTerm="application/vnd.hhe.lesson-player", FormName="vnd.hhe.lesson-player",FormDescription="Jones")
+APPLICATIONVND_HHE_LESSON_PLAYER,
+/**
+ * vnd.hp-HPGL
+ * Pentecost
+ **/
+ @SEDA(PropertyTerm="application/vnd.hp-HPGL", FormName="vnd.hp-HPGL",FormDescription="Pentecost")
+APPLICATIONVND_HP_HPGL,
+/**
+ * vnd.hp-hpid
+ * Gupta
+ **/
+ @SEDA(PropertyTerm="application/vnd.hp-hpid", FormName="vnd.hp-hpid",FormDescription="Gupta")
+APPLICATIONVND_HP_HPID,
+/**
+ * vnd.hp-hps
+ * Aubrey
+ **/
+ @SEDA(PropertyTerm="application/vnd.hp-hps", FormName="vnd.hp-hps",FormDescription="Aubrey")
+APPLICATIONVND_HP_HPS,
+/**
+ * vnd.hp-jlyt
+ * Gaash
+ **/
+ @SEDA(PropertyTerm="application/vnd.hp-jlyt", FormName="vnd.hp-jlyt",FormDescription="Gaash")
+APPLICATIONVND_HP_JLYT,
+/**
+ * vnd.hp-PCL
+ * Pentecost
+ **/
+ @SEDA(PropertyTerm="application/vnd.hp-PCL", FormName="vnd.hp-PCL",FormDescription="Pentecost")
+APPLICATIONVND_HP_PCL,
+/**
+ * vnd.hp-PCLXL
+ * Pentecost
+ **/
+ @SEDA(PropertyTerm="application/vnd.hp-PCLXL", FormName="vnd.hp-PCLXL",FormDescription="Pentecost")
+APPLICATIONVND_HP_PCLXL,
+/**
+ * vnd.httphone
+ * Lefevre
+ **/
+ @SEDA(PropertyTerm="application/vnd.httphone", FormName="vnd.httphone",FormDescription="Lefevre")
+APPLICATIONVND_HTTPHONE,
+/**
+ * vnd.hzn-3d-crossword
+ * Minnis
+ **/
+ @SEDA(PropertyTerm="application/vnd.hzn-3d-crossword", FormName="vnd.hzn-3d-crossword",FormDescription="Minnis")
+APPLICATIONVND_HZN_3D_CROSSWORD,
+/**
+ * vnd.ibm.afplinedata
+ * Buis
+ **/
+ @SEDA(PropertyTerm="application/vnd.ibm.afplinedata", FormName="vnd.ibm.afplinedata",FormDescription="Buis")
+APPLICATIONVND_IBM_AFPLINEDATA,
+/**
+ * vnd.ibm.electronic-media
+ * Tantlinger
+ **/
+ @SEDA(PropertyTerm="application/vnd.ibm.electronic-media", FormName="vnd.ibm.electronic-media",FormDescription="Tantlinger")
+APPLICATIONVND_IBM_ELECTRONIC_MEDIA,
+/**
+ * vnd.ibm.MiniPay
+ * Herzberg
+ **/
+ @SEDA(PropertyTerm="application/vnd.ibm.MiniPay", FormName="vnd.ibm.MiniPay",FormDescription="Herzberg")
+APPLICATIONVND_IBM_MINIPAY,
+/**
+ * vnd.ibm.modcap
+ * Hohensee
+ **/
+ @SEDA(PropertyTerm="application/vnd.ibm.modcap", FormName="vnd.ibm.modcap",FormDescription="Hohensee")
+APPLICATIONVND_IBM_MODCAP,
+/**
+ * vnd.ibm.rights-management
+ * Tantlinger
+ **/
+ @SEDA(PropertyTerm="application/vnd.ibm.rights-management", FormName="vnd.ibm.rights-management",FormDescription="Tantlinger")
+APPLICATIONVND_IBM_RIGHTS_MANAGEMENT,
+/**
+ * vnd.ibm.secure-container
+ * Tantlinger
+ **/
+ @SEDA(PropertyTerm="application/vnd.ibm.secure-container", FormName="vnd.ibm.secure-container",FormDescription="Tantlinger")
+APPLICATIONVND_IBM_SECURE_CONTAINER,
+/**
+ * vnd.iccprofile
+ * Green
+ **/
+ @SEDA(PropertyTerm="application/vnd.iccprofile", FormName="vnd.iccprofile",FormDescription="Green")
+APPLICATIONVND_ICCPROFILE,
+/**
+ * vnd.igloader
+ * Fisher
+ **/
+ @SEDA(PropertyTerm="application/vnd.igloader", FormName="vnd.igloader",FormDescription="Fisher")
+APPLICATIONVND_IGLOADER,
+/**
+ * vnd.immervision-ivp
+ * Villegas
+ **/
+ @SEDA(PropertyTerm="application/vnd.immervision-ivp", FormName="vnd.immervision-ivp",FormDescription="Villegas")
+APPLICATIONVND_IMMERVISION_IVP,
+/**
+ * vnd.immervision-ivu
+ * Villegas
+ **/
+ @SEDA(PropertyTerm="application/vnd.immervision-ivu", FormName="vnd.immervision-ivu",FormDescription="Villegas")
+APPLICATIONVND_IMMERVISION_IVU,
+/**
+ * vnd.informedcontrol.rms+xml
+ * Wahl
+ **/
+ @SEDA(PropertyTerm="application/vnd.informedcontrol.rms+xml", FormName="vnd.informedcontrol.rms+xml",FormDescription="Wahl")
+APPLICATIONVND_INFORMEDCONTROL_RMS_XML,
+/**
+ * vnd.informix-visionary
+ * Gales
+ **/
+ @SEDA(PropertyTerm="application/vnd.informix-visionary", FormName="vnd.informix-visionary",FormDescription="Gales")
+APPLICATIONVND_INFORMIX_VISIONARY,
+/**
+ * vnd.intercon.formnet
+ * Gurak
+ **/
+ @SEDA(PropertyTerm="application/vnd.intercon.formnet", FormName="vnd.intercon.formnet",FormDescription="Gurak")
+APPLICATIONVND_INTERCON_FORMNET,
+/**
+ * vnd.intertrust.digibox
+ * Tomasello
+ **/
+ @SEDA(PropertyTerm="application/vnd.intertrust.digibox", FormName="vnd.intertrust.digibox",FormDescription="Tomasello")
+APPLICATIONVND_INTERTRUST_DIGIBOX,
+/**
+ * vnd.intertrust.nncp
+ * Tomasello
+ **/
+ @SEDA(PropertyTerm="application/vnd.intertrust.nncp", FormName="vnd.intertrust.nncp",FormDescription="Tomasello")
+APPLICATIONVND_INTERTRUST_NNCP,
+/**
+ * vnd.intu.qbo
+ * Scratchley
+ **/
+ @SEDA(PropertyTerm="application/vnd.intu.qbo", FormName="vnd.intu.qbo",FormDescription="Scratchley")
+APPLICATIONVND_INTU_QBO,
+/**
+ * vnd.intu.qfx
+ * Scratchley
+ **/
+ @SEDA(PropertyTerm="application/vnd.intu.qfx", FormName="vnd.intu.qfx",FormDescription="Scratchley")
+APPLICATIONVND_INTU_QFX,
+/**
+ * vnd.ipunplugged.rcprofile
+ * Ersson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ipunplugged.rcprofile", FormName="vnd.ipunplugged.rcprofile",FormDescription="Ersson")
+APPLICATIONVND_IPUNPLUGGED_RCPROFILE,
+/**
+ * vnd.irepository.package+xml
+ * Knowles
+ **/
+ @SEDA(PropertyTerm="application/vnd.irepository.package+xml", FormName="vnd.irepository.package+xml",FormDescription="Knowles")
+APPLICATIONVND_IREPOSITORY_PACKAGE_XML,
+/**
+ * vnd.is-xpr
+ * Natarajan
+ **/
+ @SEDA(PropertyTerm="application/vnd.is-xpr", FormName="vnd.is-xpr",FormDescription="Natarajan")
+APPLICATIONVND_IS_XPR,
+/**
+ * vnd.jam
+ * B.Kumar
+ **/
+ @SEDA(PropertyTerm="application/vnd.jam", FormName="vnd.jam",FormDescription="B.Kumar")
+APPLICATIONVND_JAM,
+/**
+ * vnd.japannet-directory-service
+ * Fujii
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-directory-service", FormName="vnd.japannet-directory-service",FormDescription="Fujii")
+APPLICATIONVND_JAPANNET_DIRECTORY_SERVICE,
+/**
+ * vnd.japannet-jpnstore-wakeup
+ * Yoshitake
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-jpnstore-wakeup", FormName="vnd.japannet-jpnstore-wakeup",FormDescription="Yoshitake")
+APPLICATIONVND_JAPANNET_JPNSTORE_WAKEUP,
+/**
+ * vnd.japannet-payment-wakeup
+ * Fujii
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-payment-wakeup", FormName="vnd.japannet-payment-wakeup",FormDescription="Fujii")
+APPLICATIONVND_JAPANNET_PAYMENT_WAKEUP,
+/**
+ * vnd.japannet-registration
+ * Yoshitake
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-registration", FormName="vnd.japannet-registration",FormDescription="Yoshitake")
+APPLICATIONVND_JAPANNET_REGISTRATION,
+/**
+ * vnd.japannet-registration-wakeup
+ * Fujii
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-registration-wakeup", FormName="vnd.japannet-registration-wakeup",FormDescription="Fujii")
+APPLICATIONVND_JAPANNET_REGISTRATION_WAKEUP,
+/**
+ * vnd.japannet-setstore-wakeup
+ * Yoshitake
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-setstore-wakeup", FormName="vnd.japannet-setstore-wakeup",FormDescription="Yoshitake")
+APPLICATIONVND_JAPANNET_SETSTORE_WAKEUP,
+/**
+ * vnd.japannet-verification
+ * Yoshitake
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-verification", FormName="vnd.japannet-verification",FormDescription="Yoshitake")
+APPLICATIONVND_JAPANNET_VERIFICATION,
+/**
+ * vnd.japannet-verification-wakeup
+ * Fujii
+ **/
+ @SEDA(PropertyTerm="application/vnd.japannet-verification-wakeup", FormName="vnd.japannet-verification-wakeup",FormDescription="Fujii")
+APPLICATIONVND_JAPANNET_VERIFICATION_WAKEUP,
+/**
+ * vnd.jcp.javame.midlet-rms
+ * Gorshenev
+ **/
+ @SEDA(PropertyTerm="application/vnd.jcp.javame.midlet-rms", FormName="vnd.jcp.javame.midlet-rms",FormDescription="Gorshenev")
+APPLICATIONVND_JCP_JAVAME_MIDLET_RMS,
+/**
+ * vnd.jisp
+ * Deckers
+ **/
+ @SEDA(PropertyTerm="application/vnd.jisp", FormName="vnd.jisp",FormDescription="Deckers")
+APPLICATIONVND_JISP,
+/**
+ * vnd.joost.joda-archive
+ * Joost
+ **/
+ @SEDA(PropertyTerm="application/vnd.joost.joda-archive", FormName="vnd.joost.joda-archive",FormDescription="Joost")
+APPLICATIONVND_JOOST_JODA_ARCHIVE,
+/**
+ * vnd.kahootz
+ * Macdonald
+ **/
+ @SEDA(PropertyTerm="application/vnd.kahootz", FormName="vnd.kahootz",FormDescription="Macdonald")
+APPLICATIONVND_KAHOOTZ,
+/**
+ * vnd.kde.karbon
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.karbon", FormName="vnd.kde.karbon",FormDescription="Faure")
+APPLICATIONVND_KDE_KARBON,
+/**
+ * vnd.kde.kchart
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kchart", FormName="vnd.kde.kchart",FormDescription="Faure")
+APPLICATIONVND_KDE_KCHART,
+/**
+ * vnd.kde.kformula
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kformula", FormName="vnd.kde.kformula",FormDescription="Faure")
+APPLICATIONVND_KDE_KFORMULA,
+/**
+ * vnd.kde.kivio
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kivio", FormName="vnd.kde.kivio",FormDescription="Faure")
+APPLICATIONVND_KDE_KIVIO,
+/**
+ * vnd.kde.kontour
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kontour", FormName="vnd.kde.kontour",FormDescription="Faure")
+APPLICATIONVND_KDE_KONTOUR,
+/**
+ * vnd.kde.kpresenter
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kpresenter", FormName="vnd.kde.kpresenter",FormDescription="Faure")
+APPLICATIONVND_KDE_KPRESENTER,
+/**
+ * vnd.kde.kspread
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kspread", FormName="vnd.kde.kspread",FormDescription="Faure")
+APPLICATIONVND_KDE_KSPREAD,
+/**
+ * vnd.kde.kword
+ * Faure
+ **/
+ @SEDA(PropertyTerm="application/vnd.kde.kword", FormName="vnd.kde.kword",FormDescription="Faure")
+APPLICATIONVND_KDE_KWORD,
+/**
+ * vnd.kenameaapp
+ * DiGiorgio-Haag
+ **/
+ @SEDA(PropertyTerm="application/vnd.kenameaapp", FormName="vnd.kenameaapp",FormDescription="DiGiorgio-Haag")
+APPLICATIONVND_KENAMEAAPP,
+/**
+ * vnd.kidspiration
+ * Bennett
+ **/
+ @SEDA(PropertyTerm="application/vnd.kidspiration", FormName="vnd.kidspiration",FormDescription="Bennett")
+APPLICATIONVND_KIDSPIRATION,
+/**
+ * vnd.Kinar
+ * Thakkar
+ **/
+ @SEDA(PropertyTerm="application/vnd.Kinar", FormName="vnd.Kinar",FormDescription="Thakkar")
+APPLICATIONVND_KINAR,
+/**
+ * vnd.koan
+ * Cole
+ **/
+ @SEDA(PropertyTerm="application/vnd.koan", FormName="vnd.koan",FormDescription="Cole")
+APPLICATIONVND_KOAN,
+/**
+ * vnd.kodak-descriptor
+ * Donahue
+ **/
+ @SEDA(PropertyTerm="application/vnd.kodak-descriptor", FormName="vnd.kodak-descriptor",FormDescription="Donahue")
+APPLICATIONVND_KODAK_DESCRIPTOR,
+/**
+ * vnd.liberty-request+xml
+ * McDowell
+ **/
+ @SEDA(PropertyTerm="application/vnd.liberty-request+xml", FormName="vnd.liberty-request+xml",FormDescription="McDowell")
+APPLICATIONVND_LIBERTY_REQUEST_XML,
+/**
+ * vnd.llamagraphics.life-balance.desktop
+ * White
+ **/
+ @SEDA(PropertyTerm="application/vnd.llamagraphics.life-balance.desktop", FormName="vnd.llamagraphics.life-balance.desktop",FormDescription="White")
+APPLICATIONVND_LLAMAGRAPHICS_LIFE_BALANCE_DESKTOP,
+/**
+ * vnd.llamagraphics.life-balance.exchange+xml
+ * White
+ **/
+ @SEDA(PropertyTerm="application/vnd.llamagraphics.life-balance.exchange+xml", FormName="vnd.llamagraphics.life-balance.exchange+xml",FormDescription="White")
+APPLICATIONVND_LLAMAGRAPHICS_LIFE_BALANCE_EXCHANGE_XML,
+/**
+ * vnd.lotus-1-2-3
+ * Wattenberger
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-1-2-3", FormName="vnd.lotus-1-2-3",FormDescription="Wattenberger")
+APPLICATIONVND_LOTUS_1_2_3,
+/**
+ * vnd.lotus-approach
+ * Wattenberger
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-approach", FormName="vnd.lotus-approach",FormDescription="Wattenberger")
+APPLICATIONVND_LOTUS_APPROACH,
+/**
+ * vnd.lotus-freelance
+ * Wattenberger
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-freelance", FormName="vnd.lotus-freelance",FormDescription="Wattenberger")
+APPLICATIONVND_LOTUS_FREELANCE,
+/**
+ * vnd.lotus-notes
+ * Laramie
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-notes", FormName="vnd.lotus-notes",FormDescription="Laramie")
+APPLICATIONVND_LOTUS_NOTES,
+/**
+ * vnd.lotus-organizer
+ * Wattenberger
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-organizer", FormName="vnd.lotus-organizer",FormDescription="Wattenberger")
+APPLICATIONVND_LOTUS_ORGANIZER,
+/**
+ * vnd.lotus-screencam
+ * Wattenberger
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-screencam", FormName="vnd.lotus-screencam",FormDescription="Wattenberger")
+APPLICATIONVND_LOTUS_SCREENCAM,
+/**
+ * vnd.lotus-wordpro
+ * Wattenberger
+ **/
+ @SEDA(PropertyTerm="application/vnd.lotus-wordpro", FormName="vnd.lotus-wordpro",FormDescription="Wattenberger")
+APPLICATIONVND_LOTUS_WORDPRO,
+/**
+ * vnd.macports.portpkg
+ * Berry
+ **/
+ @SEDA(PropertyTerm="application/vnd.macports.portpkg", FormName="vnd.macports.portpkg",FormDescription="Berry")
+APPLICATIONVND_MACPORTS_PORTPKG,
+/**
+ * vnd.marlin.drm.actiontoken+xml
+ * Ellison
+ **/
+ @SEDA(PropertyTerm="application/vnd.marlin.drm.actiontoken+xml", FormName="vnd.marlin.drm.actiontoken+xml",FormDescription="Ellison")
+APPLICATIONVND_MARLIN_DRM_ACTIONTOKEN_XML,
+/**
+ * vnd.marlin.drm.conftoken+xml
+ * Ellison
+ **/
+ @SEDA(PropertyTerm="application/vnd.marlin.drm.conftoken+xml", FormName="vnd.marlin.drm.conftoken+xml",FormDescription="Ellison")
+APPLICATIONVND_MARLIN_DRM_CONFTOKEN_XML,
+/**
+ * vnd.marlin.drm.mdcf
+ * Ellison
+ **/
+ @SEDA(PropertyTerm="application/vnd.marlin.drm.mdcf", FormName="vnd.marlin.drm.mdcf",FormDescription="Ellison")
+APPLICATIONVND_MARLIN_DRM_MDCF,
+/**
+ * vnd.mcd
+ * Gotoh
+ **/
+ @SEDA(PropertyTerm="application/vnd.mcd", FormName="vnd.mcd",FormDescription="Gotoh")
+APPLICATIONVND_MCD,
+/**
+ * vnd.medcalcdata
+ * Schoonjans
+ **/
+ @SEDA(PropertyTerm="application/vnd.medcalcdata", FormName="vnd.medcalcdata",FormDescription="Schoonjans")
+APPLICATIONVND_MEDCALCDATA,
+/**
+ * vnd.mediastation.cdkey
+ * Flurry
+ **/
+ @SEDA(PropertyTerm="application/vnd.mediastation.cdkey", FormName="vnd.mediastation.cdkey",FormDescription="Flurry")
+APPLICATIONVND_MEDIASTATION_CDKEY,
+/**
+ * vnd.meridian-slingshot
+ * Wedel
+ **/
+ @SEDA(PropertyTerm="application/vnd.meridian-slingshot", FormName="vnd.meridian-slingshot",FormDescription="Wedel")
+APPLICATIONVND_MERIDIAN_SLINGSHOT,
+/**
+ * vnd.MFER
+ * Hirai
+ **/
+ @SEDA(PropertyTerm="application/vnd.MFER", FormName="vnd.MFER",FormDescription="Hirai")
+APPLICATIONVND_MFER,
+/**
+ * vnd.mfmp
+ * Ikeda
+ **/
+ @SEDA(PropertyTerm="application/vnd.mfmp", FormName="vnd.mfmp",FormDescription="Ikeda")
+APPLICATIONVND_MFMP,
+/**
+ * vnd.micrografx.flo
+ * Prevo
+ **/
+ @SEDA(PropertyTerm="application/vnd.micrografx.flo", FormName="vnd.micrografx.flo",FormDescription="Prevo")
+APPLICATIONVND_MICROGRAFX_FLO,
+/**
+ * vnd.micrografx.igx
+ * Prevo
+ **/
+ @SEDA(PropertyTerm="application/vnd.micrografx.igx", FormName="vnd.micrografx.igx",FormDescription="Prevo")
+APPLICATIONVND_MICROGRAFX_IGX,
+/**
+ * vnd.mif
+ * Wexler
+ **/
+ @SEDA(PropertyTerm="application/vnd.mif", FormName="vnd.mif",FormDescription="Wexler")
+APPLICATIONVND_MIF,
+/**
+ * vnd.minisoft-hp3000-save
+ * Bartram
+ **/
+ @SEDA(PropertyTerm="application/vnd.minisoft-hp3000-save", FormName="vnd.minisoft-hp3000-save",FormDescription="Bartram")
+APPLICATIONVND_MINISOFT_HP3000_SAVE,
+/**
+ * vnd.mitsubishi.misty-guard.trustweb
+ * Tanaka
+ **/
+ @SEDA(PropertyTerm="application/vnd.mitsubishi.misty-guard.trustweb", FormName="vnd.mitsubishi.misty-guard.trustweb",FormDescription="Tanaka")
+APPLICATIONVND_MITSUBISHI_MISTY_GUARD_TRUSTWEB,
+/**
+ * vnd.Mobius.DAF
+ * Kabayama
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.DAF", FormName="vnd.Mobius.DAF",FormDescription="Kabayama")
+APPLICATIONVND_MOBIUS_DAF,
+/**
+ * vnd.Mobius.DIS
+ * Kabayama
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.DIS", FormName="vnd.Mobius.DIS",FormDescription="Kabayama")
+APPLICATIONVND_MOBIUS_DIS,
+/**
+ * vnd.Mobius.MBK
+ * Devasia
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.MBK", FormName="vnd.Mobius.MBK",FormDescription="Devasia")
+APPLICATIONVND_MOBIUS_MBK,
+/**
+ * vnd.Mobius.MQY
+ * Devasia
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.MQY", FormName="vnd.Mobius.MQY",FormDescription="Devasia")
+APPLICATIONVND_MOBIUS_MQY,
+/**
+ * vnd.Mobius.MSL
+ * Kabayama
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.MSL", FormName="vnd.Mobius.MSL",FormDescription="Kabayama")
+APPLICATIONVND_MOBIUS_MSL,
+/**
+ * vnd.Mobius.PLC
+ * Kabayama
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.PLC", FormName="vnd.Mobius.PLC",FormDescription="Kabayama")
+APPLICATIONVND_MOBIUS_PLC,
+/**
+ * vnd.Mobius.TXF
+ * Kabayama
+ **/
+ @SEDA(PropertyTerm="application/vnd.Mobius.TXF", FormName="vnd.Mobius.TXF",FormDescription="Kabayama")
+APPLICATIONVND_MOBIUS_TXF,
+/**
+ * vnd.mophun.application
+ * Wennerstrom
+ **/
+ @SEDA(PropertyTerm="application/vnd.mophun.application", FormName="vnd.mophun.application",FormDescription="Wennerstrom")
+APPLICATIONVND_MOPHUN_APPLICATION,
+/**
+ * vnd.mophun.certificate
+ * Wennerstrom
+ **/
+ @SEDA(PropertyTerm="application/vnd.mophun.certificate", FormName="vnd.mophun.certificate",FormDescription="Wennerstrom")
+APPLICATIONVND_MOPHUN_CERTIFICATE,
+/**
+ * vnd.motorola.flexsuite
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite", FormName="vnd.motorola.flexsuite",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE,
+/**
+ * vnd.motorola.flexsuite.adsi
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite.adsi", FormName="vnd.motorola.flexsuite.adsi",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE_ADSI,
+/**
+ * vnd.motorola.flexsuite.fis
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite.fis", FormName="vnd.motorola.flexsuite.fis",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE_FIS,
+/**
+ * vnd.motorola.flexsuite.gotap
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite.gotap", FormName="vnd.motorola.flexsuite.gotap",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE_GOTAP,
+/**
+ * vnd.motorola.flexsuite.kmr
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite.kmr", FormName="vnd.motorola.flexsuite.kmr",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE_KMR,
+/**
+ * vnd.motorola.flexsuite.ttc
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite.ttc", FormName="vnd.motorola.flexsuite.ttc",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE_TTC,
+/**
+ * vnd.motorola.flexsuite.wem
+ * Patton
+ **/
+ @SEDA(PropertyTerm="application/vnd.motorola.flexsuite.wem", FormName="vnd.motorola.flexsuite.wem",FormDescription="Patton")
+APPLICATIONVND_MOTOROLA_FLEXSUITE_WEM,
+/**
+ * vnd.mozilla.xul+xml
+ * McDaniel
+ **/
+ @SEDA(PropertyTerm="application/vnd.mozilla.xul+xml", FormName="vnd.mozilla.xul+xml",FormDescription="McDaniel")
+APPLICATIONVND_MOZILLA_XUL_XML,
+/**
+ * vnd.ms-artgalry
+ * Slawson
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-artgalry", FormName="vnd.ms-artgalry",FormDescription="Slawson")
+APPLICATIONVND_MS_ARTGALRY,
+/**
+ * vnd.ms-asf
+ * Fleischman
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-asf", FormName="vnd.ms-asf",FormDescription="Fleischman")
+APPLICATIONVND_MS_ASF,
+/**
+ * vnd.ms-cab-compressed
+ * Scarborough
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-cab-compressed", FormName="vnd.ms-cab-compressed",FormDescription="Scarborough")
+APPLICATIONVND_MS_CAB_COMPRESSED,
+/**
+ * vnd.mseq
+ * Le Bodic
+ **/
+ @SEDA(PropertyTerm="application/vnd.mseq", FormName="vnd.mseq",FormDescription="Le Bodic")
+APPLICATIONVND_MSEQ,
+/**
+ * vnd.ms-excel
+ * Gill
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-excel", FormName="vnd.ms-excel",FormDescription="Gill")
+APPLICATIONVND_MS_EXCEL,
+/**
+ * vnd.ms-fontobject
+ * Scarborough
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-fontobject", FormName="vnd.ms-fontobject",FormDescription="Scarborough")
+APPLICATIONVND_MS_FONTOBJECT,
+/**
+ * vnd.ms-htmlhelp
+ * Techtonik
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-htmlhelp", FormName="vnd.ms-htmlhelp",FormDescription="Techtonik")
+APPLICATIONVND_MS_HTMLHELP,
+/**
+ * vnd.msign
+ * Borcherding
+ **/
+ @SEDA(PropertyTerm="application/vnd.msign", FormName="vnd.msign",FormDescription="Borcherding")
+APPLICATIONVND_MSIGN,
+/**
+ * vnd.ms-ims
+ * Ledoux
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-ims", FormName="vnd.ms-ims",FormDescription="Ledoux")
+APPLICATIONVND_MS_IMS,
+/**
+ * vnd.ms-lrm
+ * Ledoux
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-lrm", FormName="vnd.ms-lrm",FormDescription="Ledoux")
+APPLICATIONVND_MS_LRM,
+/**
+ * vnd.ms-playready.initiator+xml
+ * Schneider
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-playready.initiator+xml", FormName="vnd.ms-playready.initiator+xml",FormDescription="Schneider")
+APPLICATIONVND_MS_PLAYREADY_INITIATOR_XML,
+/**
+ * vnd.ms-powerpoint
+ * Gill
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-powerpoint", FormName="vnd.ms-powerpoint",FormDescription="Gill")
+APPLICATIONVND_MS_POWERPOINT,
+/**
+ * vnd.ms-project
+ * Gill
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-project", FormName="vnd.ms-project",FormDescription="Gill")
+APPLICATIONVND_MS_PROJECT,
+/**
+ * vnd.ms-tnef
+ * Gill
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-tnef", FormName="vnd.ms-tnef",FormDescription="Gill")
+APPLICATIONVND_MS_TNEF,
+/**
+ * vnd.ms-wmdrm.lic-chlg-req
+ * Lau
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-wmdrm.lic-chlg-req", FormName="vnd.ms-wmdrm.lic-chlg-req",FormDescription="Lau")
+APPLICATIONVND_MS_WMDRM_LIC_CHLG_REQ,
+/**
+ * vnd.ms-wmdrm.lic-resp
+ * Lau
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-wmdrm.lic-resp", FormName="vnd.ms-wmdrm.lic-resp",FormDescription="Lau")
+APPLICATIONVND_MS_WMDRM_LIC_RESP,
+/**
+ * vnd.ms-wmdrm.meter-chlg-req
+ * Lau
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-wmdrm.meter-chlg-req", FormName="vnd.ms-wmdrm.meter-chlg-req",FormDescription="Lau")
+APPLICATIONVND_MS_WMDRM_METER_CHLG_REQ,
+/**
+ * vnd.ms-wmdrm.meter-resp
+ * Lau
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-wmdrm.meter-resp", FormName="vnd.ms-wmdrm.meter-resp",FormDescription="Lau")
+APPLICATIONVND_MS_WMDRM_METER_RESP,
+/**
+ * vnd.ms-works
+ * Gill
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-works", FormName="vnd.ms-works",FormDescription="Gill")
+APPLICATIONVND_MS_WORKS,
+/**
+ * vnd.ms-wpl
+ * Plastina
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-wpl", FormName="vnd.ms-wpl",FormDescription="Plastina")
+APPLICATIONVND_MS_WPL,
+/**
+ * vnd.ms-xpsdocument
+ * McGatha
+ **/
+ @SEDA(PropertyTerm="application/vnd.ms-xpsdocument", FormName="vnd.ms-xpsdocument",FormDescription="McGatha")
+APPLICATIONVND_MS_XPSDOCUMENT,
+/**
+ * vnd.multiad.creator
+ * Mills
+ **/
+ @SEDA(PropertyTerm="application/vnd.multiad.creator", FormName="vnd.multiad.creator",FormDescription="Mills")
+APPLICATIONVND_MULTIAD_CREATOR,
+/**
+ * vnd.multiad.creator.cif
+ * Mills
+ **/
+ @SEDA(PropertyTerm="application/vnd.multiad.creator.cif", FormName="vnd.multiad.creator.cif",FormDescription="Mills")
+APPLICATIONVND_MULTIAD_CREATOR_CIF,
+/**
+ * vnd.musician
+ * Adams
+ **/
+ @SEDA(PropertyTerm="application/vnd.musician", FormName="vnd.musician",FormDescription="Adams")
+APPLICATIONVND_MUSICIAN,
+/**
+ * vnd.music-niff
+ * Butler
+ **/
+ @SEDA(PropertyTerm="application/vnd.music-niff", FormName="vnd.music-niff",FormDescription="Butler")
+APPLICATIONVND_MUSIC_NIFF,
+
+
+/**
+ * vnd.muvee.style
+ * Anantharamu
+ **/
+ @SEDA(PropertyTerm="application/vnd.muvee.style", FormName="vnd.muvee.style",FormDescription="Anantharamu")
+APPLICATIONVND_MUVEE_STYLE,
+/**
+ * vnd.ncd.control
+ * Tarkkala
+ **/
+ @SEDA(PropertyTerm="application/vnd.ncd.control", FormName="vnd.ncd.control",FormDescription="Tarkkala")
+APPLICATIONVND_NCD_CONTROL,
+/**
+ * vnd.ncd.reference
+ * Tarkkala
+ **/
+ @SEDA(PropertyTerm="application/vnd.ncd.reference", FormName="vnd.ncd.reference",FormDescription="Tarkkala")
+APPLICATIONVND_NCD_REFERENCE,
+/**
+ * vnd.nervana
+ * Judkins
+ **/
+ @SEDA(PropertyTerm="application/vnd.nervana", FormName="vnd.nervana",FormDescription="Judkins")
+APPLICATIONVND_NERVANA,
+/**
+ * vnd.netfpx
+ * Mutz
+ **/
+ @SEDA(PropertyTerm="application/vnd.netfpx", FormName="vnd.netfpx",FormDescription="Mutz")
+APPLICATIONVND_NETFPX,
+/**
+ * vnd.neurolanguage.nlu
+ * DuFeu
+ **/
+ @SEDA(PropertyTerm="application/vnd.neurolanguage.nlu", FormName="vnd.neurolanguage.nlu",FormDescription="DuFeu")
+APPLICATIONVND_NEUROLANGUAGE_NLU,
+/**
+ * vnd.noblenet-directory
+ * Solomon
+ **/
+ @SEDA(PropertyTerm="application/vnd.noblenet-directory", FormName="vnd.noblenet-directory",FormDescription="Solomon")
+APPLICATIONVND_NOBLENET_DIRECTORY,
+/**
+ * vnd.noblenet-sealer
+ * Solomon
+ **/
+ @SEDA(PropertyTerm="application/vnd.noblenet-sealer", FormName="vnd.noblenet-sealer",FormDescription="Solomon")
+APPLICATIONVND_NOBLENET_SEALER,
+/**
+ * vnd.noblenet-web
+ * Solomon
+ **/
+ @SEDA(PropertyTerm="application/vnd.noblenet-web", FormName="vnd.noblenet-web",FormDescription="Solomon")
+APPLICATIONVND_NOBLENET_WEB,
+/**
+ * vnd.nokia.catalogs
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.catalogs", FormName="vnd.nokia.catalogs",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_CATALOGS,
+/**
+ * vnd.nokia.conml+wbxml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.conml+wbxml", FormName="vnd.nokia.conml+wbxml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_CONML_WBXML,
+/**
+ * vnd.nokia.conml+xml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.conml+xml", FormName="vnd.nokia.conml+xml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_CONML_XML,
+/**
+ * vnd.nokia.iptv.config+xml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.iptv.config+xml", FormName="vnd.nokia.iptv.config+xml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_IPTV_CONFIG_XML,
+/**
+ * vnd.nokia.iSDS-radio-presets
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.iSDS-radio-presets", FormName="vnd.nokia.iSDS-radio-presets",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_ISDS_RADIO_PRESETS,
+/**
+ * vnd.nokia.landmark+wbxml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.landmark+wbxml", FormName="vnd.nokia.landmark+wbxml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_LANDMARK_WBXML,
+/**
+ * vnd.nokia.landmark+xml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.landmark+xml", FormName="vnd.nokia.landmark+xml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_LANDMARK_XML,
+/**
+ * vnd.nokia.landmarkcollection+xml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.landmarkcollection+xml", FormName="vnd.nokia.landmarkcollection+xml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_LANDMARKCOLLECTION_XML,
+/**
+ * vnd.nokia.ncd
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.ncd", FormName="vnd.nokia.ncd",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_NCD,
+/**
+ * vnd.nokia.n-gage.ac+xml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.n-gage.ac+xml", FormName="vnd.nokia.n-gage.ac+xml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_N_GAGE_AC_XML,
+/**
+ * vnd.nokia.n-gage.data
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.n-gage.data", FormName="vnd.nokia.n-gage.data",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_N_GAGE_DATA,
+/**
+ * vnd.nokia.n-gage.symbian.install
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.n-gage.symbian.install", FormName="vnd.nokia.n-gage.symbian.install",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_N_GAGE_SYMBIAN_INSTALL,
+/**
+ * vnd.nokia.pcd+wbxml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.pcd+wbxml", FormName="vnd.nokia.pcd+wbxml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_PCD_WBXML,
+/**
+ * vnd.nokia.pcd+xml
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.pcd+xml", FormName="vnd.nokia.pcd+xml",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_PCD_XML,
+/**
+ * vnd.nokia.radio-preset
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.radio-preset", FormName="vnd.nokia.radio-preset",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_RADIO_PRESET,
+/**
+ * vnd.nokia.radio-presets
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="application/vnd.nokia.radio-presets", FormName="vnd.nokia.radio-presets",FormDescription="Nokia")
+APPLICATIONVND_NOKIA_RADIO_PRESETS,
+/**
+ * vnd.novadigm.EDM
+ * Swenson
+ **/
+ @SEDA(PropertyTerm="application/vnd.novadigm.EDM", FormName="vnd.novadigm.EDM",FormDescription="Swenson")
+APPLICATIONVND_NOVADIGM_EDM,
+/**
+ * vnd.novadigm.EDX
+ * Swenson
+ **/
+ @SEDA(PropertyTerm="application/vnd.novadigm.EDX", FormName="vnd.novadigm.EDX",FormDescription="Swenson")
+APPLICATIONVND_NOVADIGM_EDX,
+/**
+ * vnd.novadigm.EXT
+ * Swenson
+ **/
+ @SEDA(PropertyTerm="application/vnd.novadigm.EXT", FormName="vnd.novadigm.EXT",FormDescription="Swenson")
+APPLICATIONVND_NOVADIGM_EXT,
+/**
+ * vnd.oasis.opendocument.chart
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.chart", FormName="vnd.oasis.opendocument.chart",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_CHART,
+/**
+ * vnd.oasis.opendocument.chart-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.chart-template", FormName="vnd.oasis.opendocument.chart-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_CHART_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.formula
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.formula", FormName="vnd.oasis.opendocument.formula",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_FORMULA,
+/**
+ * vnd.oasis.opendocument.formula-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.formula-template", FormName="vnd.oasis.opendocument.formula-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_FORMULA_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.graphics
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.graphics", FormName="vnd.oasis.opendocument.graphics",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_GRAPHICS,
+/**
+ * vnd.oasis.opendocument.graphics-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.graphics-template", FormName="vnd.oasis.opendocument.graphics-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_GRAPHICS_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.image
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.image", FormName="vnd.oasis.opendocument.image",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_IMAGE,
+/**
+ * vnd.oasis.opendocument.image-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.image-template", FormName="vnd.oasis.opendocument.image-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_IMAGE_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.presentation
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.presentation", FormName="vnd.oasis.opendocument.presentation",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_PRESENTATION,
+/**
+ * vnd.oasis.opendocument.presentation-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.presentation-template", FormName="vnd.oasis.opendocument.presentation-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_PRESENTATION_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.spreadsheet
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.spreadsheet", FormName="vnd.oasis.opendocument.spreadsheet",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_SPREADSHEET,
+/**
+ * vnd.oasis.opendocument.spreadsheet-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.spreadsheet-template", FormName="vnd.oasis.opendocument.spreadsheet-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_SPREADSHEET_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.text
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.text", FormName="vnd.oasis.opendocument.text",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_TEXT,
+/**
+ * vnd.oasis.opendocument.text-master
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.text-master", FormName="vnd.oasis.opendocument.text-master",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_TEXT_MASTER,
+/**
+ * vnd.oasis.opendocument.text-template
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.text-template", FormName="vnd.oasis.opendocument.text-template",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_TEXT_TEMPLATE,
+/**
+ * vnd.oasis.opendocument.text-web
+ * Oppermann
+ **/
+ @SEDA(PropertyTerm="application/vnd.oasis.opendocument.text-web", FormName="vnd.oasis.opendocument.text-web",FormDescription="Oppermann")
+APPLICATIONVND_OASIS_OPENDOCUMENT_TEXT_WEB,
+/**
+ * vnd.obn
+ * Hessling
+ **/
+ @SEDA(PropertyTerm="application/vnd.obn", FormName="vnd.obn",FormDescription="Hessling")
+APPLICATIONVND_OBN,
+/**
+ * vnd.olpc-sugar
+ * Palmieri
+ **/
+ @SEDA(PropertyTerm="application/vnd.olpc-sugar", FormName="vnd.olpc-sugar",FormDescription="Palmieri")
+APPLICATIONVND_OLPC_SUGAR,
+/**
+ * vnd.oma.bcast.associated-procedure-parameter+xml
+ * Rauschenbach, OMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.associated-procedure-parameter+xml", FormName="vnd.oma.bcast.associated-procedure-parameter+xml",FormDescription="Rauschenbach, OMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_ASSOCIATED_PROCEDURE_PARAMETER_XML,
+/**
+ * vnd.oma.bcast.drm-trigger+xml
+ * Rauschenbach, OMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.drm-trigger+xml", FormName="vnd.oma.bcast.drm-trigger+xml",FormDescription="Rauschenbach, OMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_DRM_TRIGGER_XML,
+/**
+ * vnd.oma.bcast.imd+xml
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.imd+xml", FormName="vnd.oma.bcast.imd+xml",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_IMD_XML,
+/**
+ * vnd.oma.bcast.ltkm
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.ltkm", FormName="vnd.oma.bcast.ltkm",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_LTKM,
+/**
+ * vnd.oma.bcast.notification+xml
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.notification+xml", FormName="vnd.oma.bcast.notification+xml",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_NOTIFICATION_XML,
+/**
+ * vnd.oma.bcast.sgboot
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.sgboot", FormName="vnd.oma.bcast.sgboot",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_SGBOOT,
+/**
+ * vnd.oma.bcast.sgdd+xml
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.sgdd+xml", FormName="vnd.oma.bcast.sgdd+xml",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_SGDD_XML,
+/**
+ * vnd.oma.bcast.sgdu
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.sgdu", FormName="vnd.oma.bcast.sgdu",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_SGDU,
+/**
+ * vnd.oma.bcast.simple-symbol-container
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.simple-symbol-container", FormName="vnd.oma.bcast.simple-symbol-container",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_SIMPLE_SYMBOL_CONTAINER,
+/**
+ * vnd.oma.bcast.smartcard-trigger+xml
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.smartcard-trigger+xml", FormName="vnd.oma.bcast.smartcard-trigger+xml",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_SMARTCARD_TRIGGER_XML,
+/**
+ * vnd.oma.bcast.sprov+xml
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.sprov+xml", FormName="vnd.oma.bcast.sprov+xml",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_SPROV_XML,
+/**
+ * vnd.oma.bcast.stkm
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.bcast.stkm", FormName="vnd.oma.bcast.stkm",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_BCAST_STKM,
+/**
+ * vnd.oma.dd2+xml
+ * SatoOpen Mobile Alliance's BAC DLDRM Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.dd2+xml", FormName="vnd.oma.dd2+xml",FormDescription="SatoOpen Mobile Alliance's BAC DLDRM Working Group")
+APPLICATIONVND_OMA_DD2_XML,
+/**
+ * vnd.oma.drm.risd+xml
+ * RauschenbachOMNA - Open Mobile Naming Authority
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.drm.risd+xml", FormName="vnd.oma.drm.risd+xml",FormDescription="RauschenbachOMNA - Open Mobile Naming Authority")
+APPLICATIONVND_OMA_DRM_RISD_XML,
+/**
+ * vnd.oma.group-usage-list+xml
+ * KelleyOMA Presence and Availability (PAG) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.group-usage-list+xml", FormName="vnd.oma.group-usage-list+xml",FormDescription="KelleyOMA Presence and Availability (PAG) Working Group")
+APPLICATIONVND_OMA_GROUP_USAGE_LIST_XML,
+/**
+ * vnd.oma.poc.detailed-progress-report+xml
+ * OMA Push to Talk over Cellular (POC) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.poc.detailed-progress-report+xml", FormName="vnd.oma.poc.detailed-progress-report+xml",FormDescription="OMA Push to Talk over Cellular (POC) Working Group")
+APPLICATIONVND_OMA_POC_DETAILED_PROGRESS_REPORT_XML,
+/**
+ * vnd.oma.poc.final-report+xml
+ * OMA Push to Talk over Cellular (POC) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.poc.final-report+xml", FormName="vnd.oma.poc.final-report+xml",FormDescription="OMA Push to Talk over Cellular (POC) Working Group")
+APPLICATIONVND_OMA_POC_FINAL_REPORT_XML,
+/**
+ * vnd.oma.poc.groups+xml
+ * KelleyOMA Push to Talk over Cellular (POC) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.poc.groups+xml", FormName="vnd.oma.poc.groups+xml",FormDescription="KelleyOMA Push to Talk over Cellular (POC) Working Group")
+APPLICATIONVND_OMA_POC_GROUPS_XML,
+/**
+ * vnd.oma.poc.invocation-descriptor+xml
+ * OMA Push to Talk over Cellular (POC) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.poc.invocation-descriptor+xml", FormName="vnd.oma.poc.invocation-descriptor+xml",FormDescription="OMA Push to Talk over Cellular (POC) Working Group")
+APPLICATIONVND_OMA_POC_INVOCATION_DESCRIPTOR_XML,
+/**
+ * vnd.oma.poc.optimized-progress-report+xml
+ * OMA Push to Talk over Cellular (POC) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.poc.optimized-progress-report+xml", FormName="vnd.oma.poc.optimized-progress-report+xml",FormDescription="OMA Push to Talk over Cellular (POC) Working Group")
+APPLICATIONVND_OMA_POC_OPTIMIZED_PROGRESS_REPORT_XML,
+/**
+ * vnd.oma.xcap-directory+xml
+ * KelleyOMA Presence and Availability (PAG) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma.xcap-directory+xml", FormName="vnd.oma.xcap-directory+xml",FormDescription="KelleyOMA Presence and Availability (PAG) Working Group")
+APPLICATIONVND_OMA_XCAP_DIRECTORY_XML,
+/**
+ * vnd.omads-email+xml
+ * OMA Data Synchronization Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.omads-email+xml", FormName="vnd.omads-email+xml",FormDescription="OMA Data Synchronization Working Group")
+APPLICATIONVND_OMADS_EMAIL_XML,
+/**
+ * vnd.omads-file+xml
+ * OMA Data Synchronization Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.omads-file+xml", FormName="vnd.omads-file+xml",FormDescription="OMA Data Synchronization Working Group")
+APPLICATIONVND_OMADS_FILE_XML,
+/**
+ * vnd.omads-folder+xml
+ * OMA Data Synchronization Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.omads-folder+xml", FormName="vnd.omads-folder+xml",FormDescription="OMA Data Synchronization Working Group")
+APPLICATIONVND_OMADS_FOLDER_XML,
+/**
+ * vnd.omaloc-supl-init
+ * Grange
+ **/
+ @SEDA(PropertyTerm="application/vnd.omaloc-supl-init", FormName="vnd.omaloc-supl-init",FormDescription="Grange")
+APPLICATIONVND_OMALOC_SUPL_INIT,
+/**
+ * vnd.oma-scws-config
+ * Mahalal
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma-scws-config", FormName="vnd.oma-scws-config",FormDescription="Mahalal")
+APPLICATIONVND_OMA_SCWS_CONFIG,
+/**
+ * vnd.oma-scws-http-request
+ * Mahalal
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma-scws-http-request", FormName="vnd.oma-scws-http-request",FormDescription="Mahalal")
+APPLICATIONVND_OMA_SCWS_HTTP_REQUEST,
+/**
+ * vnd.oma-scws-http-response
+ * Mahalal
+ **/
+ @SEDA(PropertyTerm="application/vnd.oma-scws-http-response", FormName="vnd.oma-scws-http-response",FormDescription="Mahalal")
+APPLICATIONVND_OMA_SCWS_HTTP_RESPONSE,
+/**
+ * vnd.openofficeorg.extension
+ * Lingner
+ **/
+ @SEDA(PropertyTerm="application/vnd.openofficeorg.extension", FormName="vnd.openofficeorg.extension",FormDescription="Lingner")
+APPLICATIONVND_OPENOFFICEORG_EXTENSION,
+/**
+ * vnd.osa.netdeploy
+ * Klos
+ **/
+ @SEDA(PropertyTerm="application/vnd.osa.netdeploy", FormName="vnd.osa.netdeploy",FormDescription="Klos")
+APPLICATIONVND_OSA_NETDEPLOY,
+/**
+ * vnd.osgi.bundle
+ * Kriens
+ **/
+ @SEDA(PropertyTerm="application/vnd.osgi.bundle", FormName="vnd.osgi.bundle",FormDescription="Kriens")
+APPLICATIONVND_OSGI_BUNDLE,
+/**
+ * vnd.osgi.dp
+ * Kriens
+ **/
+ @SEDA(PropertyTerm="application/vnd.osgi.dp", FormName="vnd.osgi.dp",FormDescription="Kriens")
+APPLICATIONVND_OSGI_DP,
+/**
+ * vnd.otps.ct-kip+xml
+ * Nyström
+ **/
+ @SEDA(PropertyTerm="application/vnd.otps.ct-kip+xml", FormName="vnd.otps.ct-kip+xml",FormDescription="Nyström")
+APPLICATIONVND_OTPS_CT_KIP_XML,
+/**
+ * vnd.palm
+ * Peacock
+ **/
+ @SEDA(PropertyTerm="application/vnd.palm", FormName="vnd.palm",FormDescription="Peacock")
+APPLICATIONVND_PALM,
+/**
+ * vnd.paos.xml
+ * Kemp
+ **/
+ @SEDA(PropertyTerm="application/vnd.paos.xml", FormName="vnd.paos.xml",FormDescription="Kemp")
+APPLICATIONVND_PAOS_XML,
+/**
+ * vnd.pg.format
+ * Gandert
+ **/
+ @SEDA(PropertyTerm="application/vnd.pg.format", FormName="vnd.pg.format",FormDescription="Gandert")
+APPLICATIONVND_PG_FORMAT,
+/**
+ * vnd.pg.osasli
+ * Gandert
+ **/
+ @SEDA(PropertyTerm="application/vnd.pg.osasli", FormName="vnd.pg.osasli",FormDescription="Gandert")
+APPLICATIONVND_PG_OSASLI,
+/**
+ * vnd.piaccess.application-licence
+ * Maneos
+ **/
+ @SEDA(PropertyTerm="application/vnd.piaccess.application-licence", FormName="vnd.piaccess.application-licence",FormDescription="Maneos")
+APPLICATIONVND_PIACCESS_APPLICATION_LICENCE,
+/**
+ * vnd.picsel
+ * Naccarato
+ **/
+ @SEDA(PropertyTerm="application/vnd.picsel", FormName="vnd.picsel",FormDescription="Naccarato")
+APPLICATIONVND_PICSEL,
+/**
+ * vnd.poc.group-advertisement+xml
+ * KelleyOMA Push to Talk over Cellular (POC) Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.poc.group-advertisement+xml", FormName="vnd.poc.group-advertisement+xml",FormDescription="KelleyOMA Push to Talk over Cellular (POC) Working Group")
+APPLICATIONVND_POC_GROUP_ADVERTISEMENT_XML,
+/**
+ * vnd.pocketlearn
+ * Pando
+ **/
+ @SEDA(PropertyTerm="application/vnd.pocketlearn", FormName="vnd.pocketlearn",FormDescription="Pando")
+APPLICATIONVND_POCKETLEARN,
+/**
+ * vnd.powerbuilder6
+ * Guy
+ **/
+ @SEDA(PropertyTerm="application/vnd.powerbuilder6", FormName="vnd.powerbuilder6",FormDescription="Guy")
+APPLICATIONVND_POWERBUILDER6,
+/**
+ * vnd.powerbuilder6-s
+ * Guy
+ **/
+ @SEDA(PropertyTerm="application/vnd.powerbuilder6-s", FormName="vnd.powerbuilder6-s",FormDescription="Guy")
+APPLICATIONVND_POWERBUILDER6_S,
+/**
+ * vnd.powerbuilder7
+ * Shilts
+ **/
+ @SEDA(PropertyTerm="application/vnd.powerbuilder7", FormName="vnd.powerbuilder7",FormDescription="Shilts")
+APPLICATIONVND_POWERBUILDER7,
+/**
+ * vnd.powerbuilder75
+ * Shilts
+ **/
+ @SEDA(PropertyTerm="application/vnd.powerbuilder75", FormName="vnd.powerbuilder75",FormDescription="Shilts")
+APPLICATIONVND_POWERBUILDER75,
+/**
+ * vnd.powerbuilder75-s
+ * Shilts
+ **/
+ @SEDA(PropertyTerm="application/vnd.powerbuilder75-s", FormName="vnd.powerbuilder75-s",FormDescription="Shilts")
+APPLICATIONVND_POWERBUILDER75_S,
+/**
+ * vnd.powerbuilder7-s
+ * Shilts
+ **/
+ @SEDA(PropertyTerm="application/vnd.powerbuilder7-s", FormName="vnd.powerbuilder7-s",FormDescription="Shilts")
+APPLICATIONVND_POWERBUILDER7_S,
+/**
+ * vnd.preminet
+ * Tenhunen
+ **/
+ @SEDA(PropertyTerm="application/vnd.preminet", FormName="vnd.preminet",FormDescription="Tenhunen")
+APPLICATIONVND_PREMINET,
+/**
+ * vnd.previewsystems.box
+ * Smolgovsky
+ **/
+ @SEDA(PropertyTerm="application/vnd.previewsystems.box", FormName="vnd.previewsystems.box",FormDescription="Smolgovsky")
+APPLICATIONVND_PREVIEWSYSTEMS_BOX,
+/**
+ * vnd.proteus.magazine
+ * Hoch
+ **/
+ @SEDA(PropertyTerm="application/vnd.proteus.magazine", FormName="vnd.proteus.magazine",FormDescription="Hoch")
+APPLICATIONVND_PROTEUS_MAGAZINE,
+/**
+ * vnd.publishare-delta-tree
+ * Ben-Kiki
+ **/
+ @SEDA(PropertyTerm="application/vnd.publishare-delta-tree", FormName="vnd.publishare-delta-tree",FormDescription="Ben-Kiki")
+APPLICATIONVND_PUBLISHARE_DELTA_TREE,
+/**
+ * vnd.pvi.ptid1
+ * Lamb
+ **/
+ @SEDA(PropertyTerm="application/vnd.pvi.ptid1", FormName="vnd.pvi.ptid1",FormDescription="Lamb")
+APPLICATIONVND_PVI_PTID1,
+/**
+ * vnd.pwg-multiplexed
+ * RFC3391
+ **/
+ @SEDA(PropertyTerm="application/vnd.pwg-multiplexed", FormName="vnd.pwg-multiplexed",FormDescription="RFC3391")
+APPLICATIONVND_PWG_MULTIPLEXED,
+/**
+ * vnd.pwg-xhtml-print+xml
+ * Wright
+ **/
+ @SEDA(PropertyTerm="application/vnd.pwg-xhtml-print+xml", FormName="vnd.pwg-xhtml-print+xml",FormDescription="Wright")
+APPLICATIONVND_PWG_XHTML_PRINT_XML,
+/**
+ * vnd.qualcomm.brew-app-res
+ * Forrester
+ **/
+ @SEDA(PropertyTerm="application/vnd.qualcomm.brew-app-res", FormName="vnd.qualcomm.brew-app-res",FormDescription="Forrester")
+APPLICATIONVND_QUALCOMM_BREW_APP_RES,
+/**
+ * vnd.Quark.QuarkXPress
+ * Scheidler
+ **/
+ @SEDA(PropertyTerm="application/vnd.Quark.QuarkXPress", FormName="vnd.Quark.QuarkXPress",FormDescription="Scheidler")
+APPLICATIONVND_QUARK_QUARKXPRESS,
+/**
+ * vnd.rapid
+ * Szekely
+ **/
+ @SEDA(PropertyTerm="application/vnd.rapid", FormName="vnd.rapid",FormDescription="Szekely")
+APPLICATIONVND_RAPID,
+/**
+ * vnd.recordare.musicxml
+ * Good
+ **/
+ @SEDA(PropertyTerm="application/vnd.recordare.musicxml", FormName="vnd.recordare.musicxml",FormDescription="Good")
+APPLICATIONVND_RECORDARE_MUSICXML,
+/**
+ * vnd.recordare.musicxml+xml
+ * Good
+ **/
+ @SEDA(PropertyTerm="application/vnd.recordare.musicxml+xml", FormName="vnd.recordare.musicxml+xml",FormDescription="Good")
+APPLICATIONVND_RECORDARE_MUSICXML_XML,
+/**
+ * vnd.RenLearn.rlprint
+ * Wick
+ **/
+ @SEDA(PropertyTerm="application/vnd.RenLearn.rlprint", FormName="vnd.RenLearn.rlprint",FormDescription="Wick")
+APPLICATIONVND_RENLEARN_RLPRINT,
+/**
+ * vnd.ruckus.download
+ * Harris
+ **/
+ @SEDA(PropertyTerm="application/vnd.ruckus.download", FormName="vnd.ruckus.download",FormDescription="Harris")
+APPLICATIONVND_RUCKUS_DOWNLOAD,
+/**
+ * vnd.s3sms
+ * Tarkkala
+ **/
+ @SEDA(PropertyTerm="application/vnd.s3sms", FormName="vnd.s3sms",FormDescription="Tarkkala")
+APPLICATIONVND_S3SMS,
+/**
+ * vnd.sbm.mid2
+ * Murai
+ **/
+ @SEDA(PropertyTerm="application/vnd.sbm.mid2", FormName="vnd.sbm.mid2",FormDescription="Murai")
+APPLICATIONVND_SBM_MID2,
+/**
+ * vnd.scribus
+ * Bradney
+ **/
+ @SEDA(PropertyTerm="application/vnd.scribus", FormName="vnd.scribus",FormDescription="Bradney")
+APPLICATIONVND_SCRIBUS,
+/**
+ * vnd.sealed.3df
+ * Kwan
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.3df", FormName="vnd.sealed.3df",FormDescription="Kwan")
+APPLICATIONVND_SEALED_3DF,
+/**
+ * vnd.sealed.csf
+ * Kwan
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.csf", FormName="vnd.sealed.csf",FormDescription="Kwan")
+APPLICATIONVND_SEALED_CSF,
+/**
+ * vnd.sealed.doc
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.doc", FormName="vnd.sealed.doc",FormDescription="Petersen")
+APPLICATIONVND_SEALED_DOC,
+/**
+ * vnd.sealed.eml
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.eml", FormName="vnd.sealed.eml",FormDescription="Petersen")
+APPLICATIONVND_SEALED_EML,
+/**
+ * vnd.sealed.mht
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.mht", FormName="vnd.sealed.mht",FormDescription="Petersen")
+APPLICATIONVND_SEALED_MHT,
+/**
+ * vnd.sealed.net
+ * Lambert
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.net", FormName="vnd.sealed.net",FormDescription="Lambert")
+APPLICATIONVND_SEALED_NET,
+/**
+ * vnd.sealed.ppt
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.ppt", FormName="vnd.sealed.ppt",FormDescription="Petersen")
+APPLICATIONVND_SEALED_PPT,
+/**
+ * vnd.sealed.tiff
+ * KwanLambert
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.tiff", FormName="vnd.sealed.tiff",FormDescription="KwanLambert")
+APPLICATIONVND_SEALED_TIFF,
+/**
+ * vnd.sealed.xls
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealed.xls", FormName="vnd.sealed.xls",FormDescription="Petersen")
+APPLICATIONVND_SEALED_XLS,
+/**
+ * vnd.sealedmedia.softseal.html
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealedmedia.softseal.html", FormName="vnd.sealedmedia.softseal.html",FormDescription="Petersen")
+APPLICATIONVND_SEALEDMEDIA_SOFTSEAL_HTML,
+/**
+ * vnd.sealedmedia.softseal.pdf
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="application/vnd.sealedmedia.softseal.pdf", FormName="vnd.sealedmedia.softseal.pdf",FormDescription="Petersen")
+APPLICATIONVND_SEALEDMEDIA_SOFTSEAL_PDF,
+/**
+ * vnd.seemail
+ * Webb
+ **/
+ @SEDA(PropertyTerm="application/vnd.seemail", FormName="vnd.seemail",FormDescription="Webb")
+APPLICATIONVND_SEEMAIL,
+/**
+ * vnd.sema
+ * Hansson
+ **/
+ @SEDA(PropertyTerm="application/vnd.sema", FormName="vnd.sema",FormDescription="Hansson")
+APPLICATIONVND_SEMA,
+/**
+ * vnd.semd
+ * Hansson
+ **/
+ @SEDA(PropertyTerm="application/vnd.semd", FormName="vnd.semd",FormDescription="Hansson")
+APPLICATIONVND_SEMD,
+/**
+ * vnd.semf
+ * Hansson
+ **/
+ @SEDA(PropertyTerm="application/vnd.semf", FormName="vnd.semf",FormDescription="Hansson")
+APPLICATIONVND_SEMF,
+/**
+ * vnd.shana.informed.formdata
+ * Selzler
+ **/
+ @SEDA(PropertyTerm="application/vnd.shana.informed.formdata", FormName="vnd.shana.informed.formdata",FormDescription="Selzler")
+APPLICATIONVND_SHANA_INFORMED_FORMDATA,
+/**
+ * vnd.shana.informed.formtemplate
+ * Selzler
+ **/
+ @SEDA(PropertyTerm="application/vnd.shana.informed.formtemplate", FormName="vnd.shana.informed.formtemplate",FormDescription="Selzler")
+APPLICATIONVND_SHANA_INFORMED_FORMTEMPLATE,
+/**
+ * vnd.shana.informed.interchange
+ * Selzler
+ **/
+ @SEDA(PropertyTerm="application/vnd.shana.informed.interchange", FormName="vnd.shana.informed.interchange",FormDescription="Selzler")
+APPLICATIONVND_SHANA_INFORMED_INTERCHANGE,
+/**
+ * vnd.shana.informed.package
+ * Selzler
+ **/
+ @SEDA(PropertyTerm="application/vnd.shana.informed.package", FormName="vnd.shana.informed.package",FormDescription="Selzler")
+APPLICATIONVND_SHANA_INFORMED_PACKAGE,
+/**
+ * vnd.SimTech-MindMapper
+ * Koh
+ **/
+ @SEDA(PropertyTerm="application/vnd.SimTech-MindMapper", FormName="vnd.SimTech-MindMapper",FormDescription="Koh")
+APPLICATIONVND_SIMTECH_MINDMAPPER,
+/**
+ * vnd.smaf
+ * Takahashi
+ **/
+ @SEDA(PropertyTerm="application/vnd.smaf", FormName="vnd.smaf",FormDescription="Takahashi")
+APPLICATIONVND_SMAF,
+/**
+ * vnd.solent.sdkm+xml
+ * Gauntlett
+ **/
+ @SEDA(PropertyTerm="application/vnd.solent.sdkm+xml", FormName="vnd.solent.sdkm+xml",FormDescription="Gauntlett")
+APPLICATIONVND_SOLENT_SDKM_XML,
+/**
+ * vnd.spotfire.dxp
+ * Jernberg
+ **/
+ @SEDA(PropertyTerm="application/vnd.spotfire.dxp", FormName="vnd.spotfire.dxp",FormDescription="Jernberg")
+APPLICATIONVND_SPOTFIRE_DXP,
+/**
+ * vnd.spotfire.sfs
+ * Jernberg
+ **/
+ @SEDA(PropertyTerm="application/vnd.spotfire.sfs", FormName="vnd.spotfire.sfs",FormDescription="Jernberg")
+APPLICATIONVND_SPOTFIRE_SFS,
+/**
+ * vnd.sss-cod
+ * Dani
+ **/
+ @SEDA(PropertyTerm="application/vnd.sss-cod", FormName="vnd.sss-cod",FormDescription="Dani")
+APPLICATIONVND_SSS_COD,
+/**
+ * vnd.sss-dtf
+ * Bruno
+ **/
+ @SEDA(PropertyTerm="application/vnd.sss-dtf", FormName="vnd.sss-dtf",FormDescription="Bruno")
+APPLICATIONVND_SSS_DTF,
+/**
+ * vnd.sss-ntf
+ * Bruno
+ **/
+ @SEDA(PropertyTerm="application/vnd.sss-ntf", FormName="vnd.sss-ntf",FormDescription="Bruno")
+APPLICATIONVND_SSS_NTF,
+/**
+ * vnd.street-stream
+ * Levitt
+ **/
+ @SEDA(PropertyTerm="application/vnd.street-stream", FormName="vnd.street-stream",FormDescription="Levitt")
+APPLICATIONVND_STREET_STREAM,
+/**
+ * vnd.sun.wadl+xml
+ * Hadley
+ **/
+ @SEDA(PropertyTerm="application/vnd.sun.wadl+xml", FormName="vnd.sun.wadl+xml",FormDescription="Hadley")
+APPLICATIONVND_SUN_WADL_XML,
+/**
+ * vnd.sus-calendar
+ * Niedfeldt
+ **/
+ @SEDA(PropertyTerm="application/vnd.sus-calendar", FormName="vnd.sus-calendar",FormDescription="Niedfeldt")
+APPLICATIONVND_SUS_CALENDAR,
+/**
+ * vnd.svd
+ * Becker
+ **/
+ @SEDA(PropertyTerm="application/vnd.svd", FormName="vnd.svd",FormDescription="Becker")
+APPLICATIONVND_SVD,
+/**
+ * vnd.swiftview-ics
+ * Widener
+ **/
+ @SEDA(PropertyTerm="application/vnd.swiftview-ics", FormName="vnd.swiftview-ics",FormDescription="Widener")
+APPLICATIONVND_SWIFTVIEW_ICS,
+/**
+ * vnd.syncml.dm+wbxml
+ * OMA-DM Work Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.syncml.dm+wbxml", FormName="vnd.syncml.dm+wbxml",FormDescription="OMA-DM Work Group")
+APPLICATIONVND_SYNCML_DM_WBXML,
+/**
+ * vnd.syncml.dm+xml
+ * RaoOMA-DM Work Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.syncml.dm+xml", FormName="vnd.syncml.dm+xml",FormDescription="RaoOMA-DM Work Group")
+APPLICATIONVND_SYNCML_DM_XML,
+/**
+ * vnd.syncml.ds.notification
+ * OMA Data Synchronization Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.syncml.ds.notification", FormName="vnd.syncml.ds.notification",FormDescription="OMA Data Synchronization Working Group")
+APPLICATIONVND_SYNCML_DS_NOTIFICATION,
+/**
+ * vnd.syncml+xml
+ * OMA Data Synchronization Working Group
+ **/
+ @SEDA(PropertyTerm="application/vnd.syncml+xml", FormName="vnd.syncml+xml",FormDescription="OMA Data Synchronization Working Group")
+APPLICATIONVND_SYNCML_XML,
+/**
+ * vnd.tao.intent-module-archive
+ * Shelton
+ **/
+ @SEDA(PropertyTerm="application/vnd.tao.intent-module-archive", FormName="vnd.tao.intent-module-archive",FormDescription="Shelton")
+APPLICATIONVND_TAO_INTENT_MODULE_ARCHIVE,
+/**
+ * vnd.tmobile-livetv
+ * Helin
+ **/
+ @SEDA(PropertyTerm="application/vnd.tmobile-livetv", FormName="vnd.tmobile-livetv",FormDescription="Helin")
+APPLICATIONVND_TMOBILE_LIVETV,
+/**
+ * vnd.trid.tpt
+ * Cusack
+ **/
+ @SEDA(PropertyTerm="application/vnd.trid.tpt", FormName="vnd.trid.tpt",FormDescription="Cusack")
+APPLICATIONVND_TRID_TPT,
+/**
+ * vnd.triscape.mxs
+ * Simonoff
+ **/
+ @SEDA(PropertyTerm="application/vnd.triscape.mxs", FormName="vnd.triscape.mxs",FormDescription="Simonoff")
+APPLICATIONVND_TRISCAPE_MXS,
+/**
+ * vnd.trueapp
+ * Hepler
+ **/
+ @SEDA(PropertyTerm="application/vnd.trueapp", FormName="vnd.trueapp",FormDescription="Hepler")
+APPLICATIONVND_TRUEAPP,
+/**
+ * vnd.truedoc
+ * Chase
+ **/
+ @SEDA(PropertyTerm="application/vnd.truedoc", FormName="vnd.truedoc",FormDescription="Chase")
+APPLICATIONVND_TRUEDOC,
+/**
+ * vnd.ufdl
+ * Manning
+ **/
+ @SEDA(PropertyTerm="application/vnd.ufdl", FormName="vnd.ufdl",FormDescription="Manning")
+APPLICATIONVND_UFDL,
+/**
+ * vnd.uiq.theme
+ * Ocock
+ **/
+ @SEDA(PropertyTerm="application/vnd.uiq.theme", FormName="vnd.uiq.theme",FormDescription="Ocock")
+APPLICATIONVND_UIQ_THEME,
+/**
+ * vnd.umajin
+ * Riden
+ **/
+ @SEDA(PropertyTerm="application/vnd.umajin", FormName="vnd.umajin",FormDescription="Riden")
+APPLICATIONVND_UMAJIN,
+/**
+ * vnd.unity
+ * Unity3d
+ **/
+ @SEDA(PropertyTerm="application/vnd.unity", FormName="vnd.unity",FormDescription="Unity3d")
+APPLICATIONVND_UNITY,
+/**
+ * vnd.uoml+xml
+ * Gerdes
+ **/
+ @SEDA(PropertyTerm="application/vnd.uoml+xml", FormName="vnd.uoml+xml",FormDescription="Gerdes")
+APPLICATIONVND_UOML_XML,
+/**
+ * vnd.uplanet.alert
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.alert", FormName="vnd.uplanet.alert",FormDescription="Martin")
+APPLICATIONVND_UPLANET_ALERT,
+/**
+ * vnd.uplanet.alert-wbxml
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.alert-wbxml", FormName="vnd.uplanet.alert-wbxml",FormDescription="Martin")
+APPLICATIONVND_UPLANET_ALERT_WBXML,
+/**
+ * vnd.uplanet.bearer-choice
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.bearer-choice", FormName="vnd.uplanet.bearer-choice",FormDescription="Martin")
+APPLICATIONVND_UPLANET_BEARER_CHOICE,
+/**
+ * vnd.uplanet.bearer-choice-wbxml
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.bearer-choice-wbxml", FormName="vnd.uplanet.bearer-choice-wbxml",FormDescription="Martin")
+APPLICATIONVND_UPLANET_BEARER_CHOICE_WBXML,
+/**
+ * vnd.uplanet.cacheop
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.cacheop", FormName="vnd.uplanet.cacheop",FormDescription="Martin")
+APPLICATIONVND_UPLANET_CACHEOP,
+/**
+ * vnd.uplanet.cacheop-wbxml
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.cacheop-wbxml", FormName="vnd.uplanet.cacheop-wbxml",FormDescription="Martin")
+APPLICATIONVND_UPLANET_CACHEOP_WBXML,
+/**
+ * vnd.uplanet.channel
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.channel", FormName="vnd.uplanet.channel",FormDescription="Martin")
+APPLICATIONVND_UPLANET_CHANNEL,
+/**
+ * vnd.uplanet.channel-wbxml
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.channel-wbxml", FormName="vnd.uplanet.channel-wbxml",FormDescription="Martin")
+APPLICATIONVND_UPLANET_CHANNEL_WBXML,
+/**
+ * vnd.uplanet.list
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.list", FormName="vnd.uplanet.list",FormDescription="Martin")
+APPLICATIONVND_UPLANET_LIST,
+/**
+ * vnd.uplanet.listcmd
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.listcmd", FormName="vnd.uplanet.listcmd",FormDescription="Martin")
+APPLICATIONVND_UPLANET_LISTCMD,
+/**
+ * vnd.uplanet.listcmd-wbxml
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.listcmd-wbxml", FormName="vnd.uplanet.listcmd-wbxml",FormDescription="Martin")
+APPLICATIONVND_UPLANET_LISTCMD_WBXML,
+/**
+ * vnd.uplanet.list-wbxml
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.list-wbxml", FormName="vnd.uplanet.list-wbxml",FormDescription="Martin")
+APPLICATIONVND_UPLANET_LIST_WBXML,
+/**
+ * vnd.uplanet.signal
+ * Martin
+ **/
+ @SEDA(PropertyTerm="application/vnd.uplanet.signal", FormName="vnd.uplanet.signal",FormDescription="Martin")
+APPLICATIONVND_UPLANET_SIGNAL,
+/**
+ * vnd.vcx
+ * T.Sugimoto
+ **/
+ @SEDA(PropertyTerm="application/vnd.vcx", FormName="vnd.vcx",FormDescription="T.Sugimoto")
+APPLICATIONVND_VCX,
+/**
+ * vnd.vectorworks
+ * Pharr
+ **/
+ @SEDA(PropertyTerm="application/vnd.vectorworks", FormName="vnd.vectorworks",FormDescription="Pharr")
+APPLICATIONVND_VECTORWORKS,
+/**
+ * vnd.vd-study
+ * Rogge
+ **/
+ @SEDA(PropertyTerm="application/vnd.vd-study", FormName="vnd.vd-study",FormDescription="Rogge")
+APPLICATIONVND_VD_STUDY,
+/**
+ * vnd.vidsoft.vidconference
+ * Hess
+ **/
+ @SEDA(PropertyTerm="application/vnd.vidsoft.vidconference", FormName="vnd.vidsoft.vidconference",FormDescription="Hess")
+APPLICATIONVND_VIDSOFT_VIDCONFERENCE,
+/**
+ * vnd.visio
+ * Sandal
+ **/
+ @SEDA(PropertyTerm="application/vnd.visio", FormName="vnd.visio",FormDescription="Sandal")
+APPLICATIONVND_VISIO,
+/**
+ * vnd.visionary
+ * Aravindakumar
+ **/
+ @SEDA(PropertyTerm="application/vnd.visionary", FormName="vnd.visionary",FormDescription="Aravindakumar")
+APPLICATIONVND_VISIONARY,
+/**
+ * vnd.vividence.scriptfile
+ * Risher
+ **/
+ @SEDA(PropertyTerm="application/vnd.vividence.scriptfile", FormName="vnd.vividence.scriptfile",FormDescription="Risher")
+APPLICATIONVND_VIVIDENCE_SCRIPTFILE,
+/**
+ * vnd.vsf
+ * Rowe
+ **/
+ @SEDA(PropertyTerm="application/vnd.vsf", FormName="vnd.vsf",FormDescription="Rowe")
+APPLICATIONVND_VSF,
+/**
+ * vnd.wap.sic
+ * WAP-Forum
+ **/
+ @SEDA(PropertyTerm="application/vnd.wap.sic", FormName="vnd.wap.sic",FormDescription="WAP-Forum")
+APPLICATIONVND_WAP_SIC,
+/**
+ * vnd.wap.slc
+ * WAP-Forum
+ **/
+ @SEDA(PropertyTerm="application/vnd.wap.slc", FormName="vnd.wap.slc",FormDescription="WAP-Forum")
+APPLICATIONVND_WAP_SLC,
+/**
+ * vnd.wap.wbxml
+ * Stark
+ **/
+ @SEDA(PropertyTerm="application/vnd.wap.wbxml", FormName="vnd.wap.wbxml",FormDescription="Stark")
+APPLICATIONVND_WAP_WBXML,
+/**
+ * vnd.wap.wmlc
+ * Stark
+ **/
+ @SEDA(PropertyTerm="application/vnd.wap.wmlc", FormName="vnd.wap.wmlc",FormDescription="Stark")
+APPLICATIONVND_WAP_WMLC,
+/**
+ * vnd.wap.wmlscriptc
+ * Stark
+ **/
+ @SEDA(PropertyTerm="application/vnd.wap.wmlscriptc", FormName="vnd.wap.wmlscriptc",FormDescription="Stark")
+APPLICATIONVND_WAP_WMLSCRIPTC,
+/**
+ * vnd.webturbo
+ * Rehem
+ **/
+ @SEDA(PropertyTerm="application/vnd.webturbo", FormName="vnd.webturbo",FormDescription="Rehem")
+APPLICATIONVND_WEBTURBO,
+/**
+ * vnd.wfa.wsc
+ * Wi-Fi Alliance
+ **/
+ @SEDA(PropertyTerm="application/vnd.wfa.wsc", FormName="vnd.wfa.wsc",FormDescription="Wi-Fi Alliance")
+APPLICATIONVND_WFA_WSC,
+/**
+ * vnd.wmc
+ * Kjørnes
+ **/
+ @SEDA(PropertyTerm="application/vnd.wmc", FormName="vnd.wmc",FormDescription="Kjørnes")
+APPLICATIONVND_WMC,
+/**
+ * vnd.wmf.bootstrap
+ * Nguyenphu Iyer
+ **/
+ @SEDA(PropertyTerm="application/vnd.wmf.bootstrap", FormName="vnd.wmf.bootstrap",FormDescription="Nguyenphu Iyer")
+APPLICATIONVND_WMF_BOOTSTRAP,
+/**
+ * vnd.wordperfect
+ * Scarborough
+ **/
+ @SEDA(PropertyTerm="application/vnd.wordperfect", FormName="vnd.wordperfect",FormDescription="Scarborough")
+APPLICATIONVND_WORDPERFECT,
+/**
+ * vnd.wqd
+ * Bostrom
+ **/
+ @SEDA(PropertyTerm="application/vnd.wqd", FormName="vnd.wqd",FormDescription="Bostrom")
+APPLICATIONVND_WQD,
+/**
+ * vnd.wrq-hp3000-labelled
+ * Bartram
+ **/
+ @SEDA(PropertyTerm="application/vnd.wrq-hp3000-labelled", FormName="vnd.wrq-hp3000-labelled",FormDescription="Bartram")
+APPLICATIONVND_WRQ_HP3000_LABELLED,
+/**
+ * vnd.wt.stf
+ * Wohler
+ **/
+ @SEDA(PropertyTerm="application/vnd.wt.stf", FormName="vnd.wt.stf",FormDescription="Wohler")
+APPLICATIONVND_WT_STF,
+/**
+ * vnd.wv.csp+xml
+ * Ingimundarson
+ **/
+ @SEDA(PropertyTerm="application/vnd.wv.csp+xml", FormName="vnd.wv.csp+xml",FormDescription="Ingimundarson")
+APPLICATIONVND_WV_CSP_XML,
+/**
+ * vnd.wv.csp+wbxml
+ * Salmi
+ **/
+ @SEDA(PropertyTerm="application/vnd.wv.csp+wbxml", FormName="vnd.wv.csp+wbxml",FormDescription="Salmi")
+APPLICATIONVND_WV_CSP_WBXML,
+/**
+ * vnd.wv.ssp+xml
+ * Ingimundarson
+ **/
+ @SEDA(PropertyTerm="application/vnd.wv.ssp+xml", FormName="vnd.wv.ssp+xml",FormDescription="Ingimundarson")
+APPLICATIONVND_WV_SSP_XML,
+/**
+ * vnd.xara
+ * Matthewman
+ **/
+ @SEDA(PropertyTerm="application/vnd.xara", FormName="vnd.xara",FormDescription="Matthewman")
+APPLICATIONVND_XARA,
+/**
+ * vnd.xfdl
+ * Manning
+ **/
+ @SEDA(PropertyTerm="application/vnd.xfdl", FormName="vnd.xfdl",FormDescription="Manning")
+APPLICATIONVND_XFDL,
+/**
+ * vnd.xmpie.cpkg
+ * Sherwin
+ **/
+ @SEDA(PropertyTerm="application/vnd.xmpie.cpkg", FormName="vnd.xmpie.cpkg",FormDescription="Sherwin")
+APPLICATIONVND_XMPIE_CPKG,
+/**
+ * vnd.xmpie.dpkg
+ * Sherwin
+ **/
+ @SEDA(PropertyTerm="application/vnd.xmpie.dpkg", FormName="vnd.xmpie.dpkg",FormDescription="Sherwin")
+APPLICATIONVND_XMPIE_DPKG,
+/**
+ * vnd.xmpie.plan
+ * Sherwin
+ **/
+ @SEDA(PropertyTerm="application/vnd.xmpie.plan", FormName="vnd.xmpie.plan",FormDescription="Sherwin")
+APPLICATIONVND_XMPIE_PLAN,
+/**
+ * vnd.xmpie.ppkg
+ * Sherwin
+ **/
+ @SEDA(PropertyTerm="application/vnd.xmpie.ppkg", FormName="vnd.xmpie.ppkg",FormDescription="Sherwin")
+APPLICATIONVND_XMPIE_PPKG,
+/**
+ * vnd.xmpie.xlim
+ * Sherwin
+ **/
+ @SEDA(PropertyTerm="application/vnd.xmpie.xlim", FormName="vnd.xmpie.xlim",FormDescription="Sherwin")
+APPLICATIONVND_XMPIE_XLIM,
+/**
+ * vnd.yamaha.hv-dic
+ * Yamamoto
+ **/
+ @SEDA(PropertyTerm="application/vnd.yamaha.hv-dic", FormName="vnd.yamaha.hv-dic",FormDescription="Yamamoto")
+APPLICATIONVND_YAMAHA_HV_DIC,
+/**
+ * vnd.yamaha.hv-script
+ * Yamamoto
+ **/
+ @SEDA(PropertyTerm="application/vnd.yamaha.hv-script", FormName="vnd.yamaha.hv-script",FormDescription="Yamamoto")
+APPLICATIONVND_YAMAHA_HV_SCRIPT,
+/**
+ * vnd.yamaha.hv-voice
+ * Yamamoto
+ **/
+ @SEDA(PropertyTerm="application/vnd.yamaha.hv-voice", FormName="vnd.yamaha.hv-voice",FormDescription="Yamamoto")
+APPLICATIONVND_YAMAHA_HV_VOICE,
+/**
+ * vnd.yamaha.smaf-audio
+ * Shinoda
+ **/
+ @SEDA(PropertyTerm="application/vnd.yamaha.smaf-audio", FormName="vnd.yamaha.smaf-audio",FormDescription="Shinoda")
+APPLICATIONVND_YAMAHA_SMAF_AUDIO,
+/**
+ * vnd.yamaha.smaf-phrase
+ * Shinoda
+ **/
+ @SEDA(PropertyTerm="application/vnd.yamaha.smaf-phrase", FormName="vnd.yamaha.smaf-phrase",FormDescription="Shinoda")
+APPLICATIONVND_YAMAHA_SMAF_PHRASE,
+/**
+ * vnd.yellowriver-custom-menu
+ * Yellow
+ **/
+ @SEDA(PropertyTerm="application/vnd.yellowriver-custom-menu", FormName="vnd.yellowriver-custom-menu",FormDescription="Yellow")
+APPLICATIONVND_YELLOWRIVER_CUSTOM_MENU,
+/**
+ * vnd.zzazz.deck+xml
+ * Hewett
+ **/
+ @SEDA(PropertyTerm="application/vnd.zzazz.deck+xml", FormName="vnd.zzazz.deck+xml",FormDescription="Hewett")
+APPLICATIONVND_ZZAZZ_DECK_XML,
+/**
+ * voicexml+xml
+ * RFC4267
+ **/
+ @SEDA(PropertyTerm="application/voicexml+xml", FormName="voicexml+xml",FormDescription="RFC4267")
+APPLICATIONVOICEXML_XML,
+/**
+ * watcherinfo+xml
+ * RFC3858
+ **/
+ @SEDA(PropertyTerm="application/watcherinfo+xml", FormName="watcherinfo+xml",FormDescription="RFC3858")
+APPLICATIONWATCHERINFO_XML,
+/**
+ * whoispp-query
+ * RFC2957
+ **/
+ @SEDA(PropertyTerm="application/whoispp-query", FormName="whoispp-query",FormDescription="RFC2957")
+APPLICATIONWHOISPP_QUERY,
+/**
+ * whoispp-response
+ * RFC2958
+ **/
+ @SEDA(PropertyTerm="application/whoispp-response", FormName="whoispp-response",FormDescription="RFC2958")
+APPLICATIONWHOISPP_RESPONSE,
+/**
+ * wita
+ * Campbell
+ **/
+ @SEDA(PropertyTerm="application/wita", FormName="wita",FormDescription="Campbell")
+APPLICATIONWITA,
+/**
+ * wordperfect5.1
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="application/wordperfect5.1", FormName="wordperfect5.1",FormDescription="Lindner")
+APPLICATIONWORDPERFECT5_1,
+/**
+ * wsdl+xml
+ * W3C
+ **/
+ @SEDA(PropertyTerm="application/wsdl+xml", FormName="wsdl+xml",FormDescription="W3C")
+APPLICATIONWSDL_XML,
+/**
+ * wspolicy+xml
+ * W3C
+ **/
+ @SEDA(PropertyTerm="application/wspolicy+xml", FormName="wspolicy+xml",FormDescription="W3C")
+APPLICATIONWSPOLICY_XML,
+/**
+ * x400-bp
+ * RFC1494
+ **/
+ @SEDA(PropertyTerm="application/x400-bp", FormName="x400-bp",FormDescription="RFC1494")
+APPLICATIONX400_BP,
+/**
+ * xcap-att+xml
+ * RFC4825
+ **/
+ @SEDA(PropertyTerm="application/xcap-att+xml", FormName="xcap-att+xml",FormDescription="RFC4825")
+APPLICATIONXCAP_ATT_XML,
+/**
+ * xcap-caps+xml
+ * RFC4825
+ **/
+ @SEDA(PropertyTerm="application/xcap-caps+xml", FormName="xcap-caps+xml",FormDescription="RFC4825")
+APPLICATIONXCAP_CAPS_XML,
+/**
+ * xcap-el+xml
+ * RFC4825
+ **/
+ @SEDA(PropertyTerm="application/xcap-el+xml", FormName="xcap-el+xml",FormDescription="RFC4825")
+APPLICATIONXCAP_EL_XML,
+/**
+ * xcap-error+xml
+ * RFC4825
+ **/
+ @SEDA(PropertyTerm="application/xcap-error+xml", FormName="xcap-error+xml",FormDescription="RFC4825")
+APPLICATIONXCAP_ERROR_XML,
+/**
+ * xcap-ns+xml
+ * RFC4825
+ **/
+ @SEDA(PropertyTerm="application/xcap-ns+xml", FormName="xcap-ns+xml",FormDescription="RFC4825")
+APPLICATIONXCAP_NS_XML,
+/**
+ * xenc+xml
+ * ReagleXENC Working Group
+ **/
+ @SEDA(PropertyTerm="application/xenc+xml", FormName="xenc+xml",FormDescription="ReagleXENC Working Group")
+APPLICATIONXENC_XML,
+/**
+ * xhtml-voice+xml (Obsolete)
+ * RFC-mccobb-xplusv-media-type-04.txt
+ **/
+ @SEDA(PropertyTerm="application/xhtml-voice+xml (Obsolete)", FormName="xhtml-voice+xml (Obsolete)",FormDescription="RFC-mccobb-xplusv-media-type-04.txt")
+APPLICATIONXHTML_VOICE_XML_OBSOLETE,
+/**
+ * xhtml+xml
+ * RFC3236
+ **/
+ @SEDA(PropertyTerm="application/xhtml+xml", FormName="xhtml+xml",FormDescription="RFC3236")
+APPLICATIONXHTML_XML,
+/**
+ * xml
+ * RFC3023
+ **/
+ @SEDA(PropertyTerm="application/xml", FormName="xml",FormDescription="RFC3023")
+APPLICATIONXML,
+/**
+ * xml-dtd
+ * RFC3023
+ **/
+ @SEDA(PropertyTerm="application/xml-dtd", FormName="xml-dtd",FormDescription="RFC3023")
+APPLICATIONXML_DTD,
+/**
+ * xml-external-parsed-entity
+ * RFC3023
+ **/
+ @SEDA(PropertyTerm="application/xml-external-parsed-entity", FormName="xml-external-parsed-entity",FormDescription="RFC3023")
+APPLICATIONXML_EXTERNAL_PARSED_ENTITY,
+/**
+ * xmpp+xml
+ * RFC3923
+ **/
+ @SEDA(PropertyTerm="application/xmpp+xml", FormName="xmpp+xml",FormDescription="RFC3923")
+APPLICATIONXMPP_XML,
+/**
+ * xop+xml
+ * Nottingham
+ **/
+ @SEDA(PropertyTerm="application/xop+xml", FormName="xop+xml",FormDescription="Nottingham")
+APPLICATIONXOP_XML,
+/**
+ * xv+xml
+ * RFC4374
+ **/
+ @SEDA(PropertyTerm="application/xv+xml", FormName="xv+xml",FormDescription="RFC4374")
+APPLICATIONXV_XML,
+/**
+ * zip
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="application/zip", FormName="zip",FormDescription="Lindner")
+APPLICATIONZIP,
+/**
+ * 32kadpcm
+ * RFC2421,RFC2422
+ **/
+ @SEDA(PropertyTerm="audio/32kadpcm", FormName="32kadpcm",FormDescription="RFC2421,RFC2422")
+AUDIO32KADPCM,
+/**
+ * 3gpp
+ * RFC3839,RFC4281
+ **/
+ @SEDA(PropertyTerm="audio/3gpp", FormName="3gpp",FormDescription="RFC3839,RFC4281")
+AUDIO3GPP,
+/**
+ * 3gpp2
+ * RFC4393
+ **/
+ @SEDA(PropertyTerm="audio/3gpp2", FormName="3gpp2",FormDescription="RFC4393")
+AUDIO3GPP2,
+/**
+ * ac3
+ * RFC4184
+ **/
+ @SEDA(PropertyTerm="audio/ac3", FormName="ac3",FormDescription="RFC4184")
+AUDIOAC3,
+/**
+ * AMR
+ * RFC4867
+ **/
+ @SEDA(PropertyTerm="audio/AMR", FormName="AMR",FormDescription="RFC4867")
+AUDIOAMR,
+/**
+ * AMR-WB
+ * RFC4867
+ **/
+ @SEDA(PropertyTerm="audio/AMR-WB", FormName="AMR-WB",FormDescription="RFC4867")
+AUDIOAMR_WB,
+/**
+ * amr-wb+
+ * RFC4352
+ **/
+ @SEDA(PropertyTerm="audio/amr-wb+", FormName="amr-wb+",FormDescription="RFC4352")
+AUDIOAMR_WB_,
+/**
+ * asc
+ * RFC4695
+ **/
+ @SEDA(PropertyTerm="audio/asc", FormName="asc",FormDescription="RFC4695")
+AUDIOASC,
+/**
+ * basic
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="audio/basic", FormName="basic",FormDescription="RFC2045,RFC2046")
+AUDIOBASIC,
+/**
+ * BV16
+ * RFC4298
+ **/
+ @SEDA(PropertyTerm="audio/BV16", FormName="BV16",FormDescription="RFC4298")
+AUDIOBV16,
+/**
+ * BV32
+ * RFC4298
+ **/
+ @SEDA(PropertyTerm="audio/BV32", FormName="BV32",FormDescription="RFC4298")
+AUDIOBV32,
+/**
+ * clearmode
+ * RFC4040
+ **/
+ @SEDA(PropertyTerm="audio/clearmode", FormName="clearmode",FormDescription="RFC4040")
+AUDIOCLEARMODE,
+/**
+ * CN
+ * RFC3389
+ **/
+ @SEDA(PropertyTerm="audio/CN", FormName="CN",FormDescription="RFC3389")
+AUDIOCN,
+/**
+ * DAT12
+ * RFC3190
+ **/
+ @SEDA(PropertyTerm="audio/DAT12", FormName="DAT12",FormDescription="RFC3190")
+AUDIODAT12,
+/**
+ * dls
+ * RFC4613
+ **/
+ @SEDA(PropertyTerm="audio/dls", FormName="dls",FormDescription="RFC4613")
+AUDIODLS,
+/**
+ * dsr-es201108
+ * RFC3557
+ **/
+ @SEDA(PropertyTerm="audio/dsr-es201108", FormName="dsr-es201108",FormDescription="RFC3557")
+AUDIODSR_ES201108,
+/**
+ * dsr-es202050
+ * RFC4060
+ **/
+ @SEDA(PropertyTerm="audio/dsr-es202050", FormName="dsr-es202050",FormDescription="RFC4060")
+AUDIODSR_ES202050,
+/**
+ * dsr-es202211
+ * RFC4060
+ **/
+ @SEDA(PropertyTerm="audio/dsr-es202211", FormName="dsr-es202211",FormDescription="RFC4060")
+AUDIODSR_ES202211,
+/**
+ * dsr-es202212
+ * RFC4060
+ **/
+ @SEDA(PropertyTerm="audio/dsr-es202212", FormName="dsr-es202212",FormDescription="RFC4060")
+AUDIODSR_ES202212,
+/**
+ * eac3
+ * RFC4598
+ **/
+ @SEDA(PropertyTerm="audio/eac3", FormName="eac3",FormDescription="RFC4598")
+AUDIOEAC3,
+/**
+ * DVI4
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/DVI4", FormName="DVI4",FormDescription="RFC4856")
+AUDIODVI4,
+/**
+ * EVRC
+ * RFC4788
+ **/
+ @SEDA(PropertyTerm="audio/EVRC", FormName="EVRC",FormDescription="RFC4788")
+AUDIOEVRC,
+/**
+ * EVRC0
+ * RFC4788
+ **/
+ @SEDA(PropertyTerm="audio/EVRC0", FormName="EVRC0",FormDescription="RFC4788")
+AUDIOEVRC0,
+/**
+ * EVRC1
+ * RFC4788
+ **/
+ @SEDA(PropertyTerm="audio/EVRC1", FormName="EVRC1",FormDescription="RFC4788")
+AUDIOEVRC1,
+/**
+ * EVRCB
+ * RFC5188
+ **/
+ @SEDA(PropertyTerm="audio/EVRCB", FormName="EVRCB",FormDescription="RFC5188")
+AUDIOEVRCB,
+/**
+ * EVRCB0
+ * RFC5188
+ **/
+ @SEDA(PropertyTerm="audio/EVRCB0", FormName="EVRCB0",FormDescription="RFC5188")
+AUDIOEVRCB0,
+/**
+ * EVRCB1
+ * RFC4788
+ **/
+ @SEDA(PropertyTerm="audio/EVRCB1", FormName="EVRCB1",FormDescription="RFC4788")
+AUDIOEVRCB1,
+/**
+ * EVRC-QCP
+ * RFC3625
+ **/
+ @SEDA(PropertyTerm="audio/EVRC-QCP", FormName="EVRC-QCP",FormDescription="RFC3625")
+AUDIOEVRC_QCP,
+/**
+ * EVRCWB
+ * RFC5188
+ **/
+ @SEDA(PropertyTerm="audio/EVRCWB", FormName="EVRCWB",FormDescription="RFC5188")
+AUDIOEVRCWB,
+/**
+ * EVRCWB0
+ * RFC5188
+ **/
+ @SEDA(PropertyTerm="audio/EVRCWB0", FormName="EVRCWB0",FormDescription="RFC5188")
+AUDIOEVRCWB0,
+/**
+ * EVRCWB1
+ * RFC5188
+ **/
+ @SEDA(PropertyTerm="audio/EVRCWB1", FormName="EVRCWB1",FormDescription="RFC5188")
+AUDIOEVRCWB1,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="audio/example", FormName="example",FormDescription="RFC4735")
+AUDIOEXAMPLE,
+/**
+ * G722
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G722", FormName="G722",FormDescription="RFC4856")
+AUDIOG722,
+/**
+ * G7221
+ * RFC3047
+ **/
+ @SEDA(PropertyTerm="audio/G7221", FormName="G7221",FormDescription="RFC3047")
+AUDIOG7221,
+/**
+ * G723
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G723", FormName="G723",FormDescription="RFC4856")
+AUDIOG723,
+/**
+ * G726-16
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G726-16", FormName="G726-16",FormDescription="RFC4856")
+AUDIOG726_16,
+/**
+ * G726-24
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G726-24", FormName="G726-24",FormDescription="RFC4856")
+AUDIOG726_24,
+/**
+ * G726-32
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G726-32", FormName="G726-32",FormDescription="RFC4856")
+AUDIOG726_32,
+/**
+ * G726-40
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G726-40", FormName="G726-40",FormDescription="RFC4856")
+AUDIOG726_40,
+/**
+ * G728
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G728", FormName="G728",FormDescription="RFC4856")
+AUDIOG728,
+/**
+ * G729
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G729", FormName="G729",FormDescription="RFC4856")
+AUDIOG729,
+/**
+ * G7291
+ * RFC4749
+ **/
+ @SEDA(PropertyTerm="audio/G7291", FormName="G7291",FormDescription="RFC4749")
+AUDIOG7291,
+/**
+ * G729D
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G729D", FormName="G729D",FormDescription="RFC4856")
+AUDIOG729D,
+/**
+ * G729E
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/G729E", FormName="G729E",FormDescription="RFC4856")
+AUDIOG729E,
+/**
+ * GSM
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/GSM", FormName="GSM",FormDescription="RFC4856")
+AUDIOGSM,
+/**
+ * GSM-EFR
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/GSM-EFR", FormName="GSM-EFR",FormDescription="RFC4856")
+AUDIOGSM_EFR,
+/**
+ * iLBC
+ * RFC3952
+ **/
+ @SEDA(PropertyTerm="audio/iLBC", FormName="iLBC",FormDescription="RFC3952")
+AUDIOILBC,
+/**
+ * L8
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/L8", FormName="L8",FormDescription="RFC4856")
+AUDIOL8,
+/**
+ * L16
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/L16", FormName="L16",FormDescription="RFC4856")
+AUDIOL16,
+/**
+ * L20
+ * RFC3190
+ **/
+ @SEDA(PropertyTerm="audio/L20", FormName="L20",FormDescription="RFC3190")
+AUDIOL20,
+/**
+ * L24
+ * RFC3190
+ **/
+ @SEDA(PropertyTerm="audio/L24", FormName="L24",FormDescription="RFC3190")
+AUDIOL24,
+/**
+ * LPC
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/LPC", FormName="LPC",FormDescription="RFC4856")
+AUDIOLPC,
+/**
+ * mobile-xmf
+ * RFC4723
+ **/
+ @SEDA(PropertyTerm="audio/mobile-xmf", FormName="mobile-xmf",FormDescription="RFC4723")
+AUDIOMOBILE_XMF,
+/**
+ * MPA
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="audio/MPA", FormName="MPA",FormDescription="RFC3555")
+AUDIOMPA,
+/**
+ * mp4
+ * RFC4337
+ **/
+ @SEDA(PropertyTerm="audio/mp4", FormName="mp4",FormDescription="RFC4337")
+AUDIOMP4,
+/**
+ * MP4A-LATM
+ * RFC3016
+ **/
+ @SEDA(PropertyTerm="audio/MP4A-LATM", FormName="MP4A-LATM",FormDescription="RFC3016")
+AUDIOMP4A_LATM,
+/**
+ * mpa-robust
+ * RFC5219
+ **/
+ @SEDA(PropertyTerm="audio/mpa-robust", FormName="mpa-robust",FormDescription="RFC5219")
+AUDIOMPA_ROBUST,
+/**
+ * mpeg
+ * RFC3003
+ **/
+ @SEDA(PropertyTerm="audio/mpeg", FormName="mpeg",FormDescription="RFC3003")
+AUDIOMPEG,
+/**
+ * mpeg4-generic
+ * RFC3640
+ **/
+ @SEDA(PropertyTerm="audio/mpeg4-generic", FormName="mpeg4-generic",FormDescription="RFC3640")
+AUDIOMPEG4_GENERIC,
+/**
+ * parityfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="audio/parityfec", FormName="parityfec",FormDescription="RFC5109")
+AUDIOPARITYFEC,
+/**
+ * PCMA
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/PCMA", FormName="PCMA",FormDescription="RFC4856")
+AUDIOPCMA,
+/**
+ * PCMU
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="audio/PCMU", FormName="PCMU",FormDescription="RFC4856")
+AUDIOPCMU,
+/**
+ * prs.sid
+ * Walleij RFC4735
+ **/
+ @SEDA(PropertyTerm="audio/prs.sid", FormName="prs.sid",FormDescription="Walleij RFC4735")
+AUDIOPRS_SID,
+/**
+ * QCELP
+ * RFC3555,RFC3625,RFC4047
+ **/
+ @SEDA(PropertyTerm="audio/QCELP", FormName="QCELP",FormDescription="RFC3555,RFC3625,RFC4047")
+AUDIOQCELP2,
+/**
+ * RED
+ * RFC3555,RFC1494
+ **/
+ @SEDA(PropertyTerm="audio/RED", FormName="RED",FormDescription="RFC3555,RFC1494")
+AUDIORED,
+/**
+ * rtp-enc-aescm128
+ * 3GPP,RFC2046
+ **/
+ @SEDA(PropertyTerm="audio/rtp-enc-aescm128", FormName="rtp-enc-aescm128",FormDescription="3GPP,RFC2046")
+AUDIORTP_ENC_AESCM128,
+/**
+ * rtp-midi
+ * RFC4695,RFC1314
+ **/
+ @SEDA(PropertyTerm="audio/rRFC2045tp-midi", FormName="rtp-midi",FormDescription="RFC4695,RFC1314")
+AUDIORRFC2045TP_MIDI,
+/**
+ * rtx
+ * RFC4588,RFC3745
+ **/
+ @SEDA(PropertyTerm="audio/rtx", FormName="rtx",FormDescription="RFC4588,RFC3745")
+AUDIORTX,
+/**
+ * SMV
+ * RFC3558,RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="audio/SMV", FormName="SMV",FormDescription="RFC3558,RFC2045,RFC2046")
+AUDIOSMV,
+/**
+ * SMV0
+ * RFC3558,RFC3745
+ **/
+ @SEDA(PropertyTerm="audio/SMV0", FormName="SMV0",FormDescription="RFC3558,RFC3745")
+AUDIOSMV0,
+/**
+ * SMV-QCP
+ * RFC3625,RFC3745
+ **/
+ @SEDA(PropertyTerm="audio/SMV-QCP", FormName="SMV-QCP",FormDescription="RFC3625,RFC3745")
+AUDIOSMV_QCP,
+/**
+ * sp-midi
+ * KosonenT. White
+ **/
+ @SEDA(PropertyTerm="audio/sp-midi", FormName="sp-midi",FormDescription="KosonenT. White")
+AUDIOSP_MIDI,
+/**
+ * t140c
+ * RFC4351
+ **/
+ @SEDA(PropertyTerm="audio/t140c", FormName="t140c",FormDescription="RFC4351")
+AUDIOT140C,
+/**
+ * t38
+ * RFC4612
+ **/
+ @SEDA(PropertyTerm="audio/t38", FormName="t38",FormDescription="RFC4612")
+AUDIOT38,
+/**
+ * telephone-event
+ * RFC4733
+ **/
+ @SEDA(PropertyTerm="audio/telephone-event", FormName="telephone-event",FormDescription="RFC4733")
+AUDIOTELEPHONE_EVENT,
+/**
+ * tone
+ * RFC4733,RFC3362
+ **/
+ @SEDA(PropertyTerm="audio/tone", FormName="tone",FormDescription="RFC4733,RFC3362")
+AUDIOTONE,
+/**
+ * ulpfec
+ * RFC5109,RFC3302
+ **/
+ @SEDA(PropertyTerm="audio/ulpfec", FormName="ulpfec",FormDescription="RFC5109,RFC3302")
+AUDIOULPFEC,
+/**
+ * VDVI
+ * RFC4856,RFC3950
+ **/
+ @SEDA(PropertyTerm="audio/VDVI", FormName="VDVI",FormDescription="RFC4856,RFC3950")
+AUDIOVDVI,
+/**
+ * VMR-WB
+ * RFC4348,RFC4424
+ **/
+ @SEDA(PropertyTerm="audio/VMR-WB", FormName="VMR-WB",FormDescription="RFC4348,RFC4424")
+AUDIOVMR_WB,
+/**
+ * vnd.3gpp.iufp
+ * Belling
+ **/
+ @SEDA(PropertyTerm="audio/vnd.3gpp.iufp", FormName="vnd.3gpp.iufp",FormDescription="Belling")
+AUDIOVND_3GPP_IUFP,
+/**
+ * vnd.4SB
+ * De Jaham
+ **/
+ @SEDA(PropertyTerm="audio/vnd.4SB", FormName="vnd.4SB",FormDescription="De Jaham")
+AUDIOVND_4SB,
+/**
+ * vnd.audiokoz
+ * DeBarros
+ **/
+ @SEDA(PropertyTerm="audio/vnd.audiokoz", FormName="vnd.audiokoz",FormDescription="DeBarros")
+AUDIOVND_AUDIOKOZ,
+/**
+ * vnd.CELP
+ * De Jaham
+ **/
+ @SEDA(PropertyTerm="audio/vnd.CELP", FormName="vnd.CELP",FormDescription="De Jaham")
+AUDIOVND_CELP,
+/**
+ * vnd.cisco.nse
+ * Kumar
+ **/
+ @SEDA(PropertyTerm="audio/vnd.cisco.nse", FormName="vnd.cisco.nse",FormDescription="Kumar")
+AUDIOVND_CISCO_NSE,
+/**
+ * vnd.cmles.radio-events
+ * Goulet
+ **/
+ @SEDA(PropertyTerm="audio/vnd.cmles.radio-events", FormName="vnd.cmles.radio-events",FormDescription="Goulet")
+AUDIOVND_CMLES_RADIO_EVENTS,
+/**
+ * vnd.cns.anp1
+ * McLaughlin
+ **/
+ @SEDA(PropertyTerm="audio/vnd.cns.anp1", FormName="vnd.cns.anp1",FormDescription="McLaughlin")
+AUDIOVND_CNS_ANP1,
+/**
+ * vnd.cns.inf1
+ * McLaughlin
+ **/
+ @SEDA(PropertyTerm="audio/vnd.cns.inf1", FormName="vnd.cns.inf1",FormDescription="McLaughlin")
+AUDIOVND_CNS_INF1,
+/**
+ * vnd.digital-winds
+ * Strazds
+ **/
+ @SEDA(PropertyTerm="audio/vnd.digital-winds", FormName="vnd.digital-winds",FormDescription="Strazds")
+AUDIOVND_DIGITAL_WINDS,
+/**
+ * vnd.dlna.adts
+ * Heredia
+ **/
+ @SEDA(PropertyTerm="audio/vnd.dlna.adts", FormName="vnd.dlna.adts",FormDescription="Heredia")
+AUDIOVND_DLNA_ADTS,
+/**
+ * vnd.dolby.mlp
+ * Ward
+ **/
+ @SEDA(PropertyTerm="audio/vnd.dolby.mlp", FormName="vnd.dolby.mlp",FormDescription="Ward")
+AUDIOVND_DOLBY_MLP,
+/**
+ * vnd.everad.plj
+ * Cicelsky
+ **/
+ @SEDA(PropertyTerm="audio/vnd.everad.plj", FormName="vnd.everad.plj",FormDescription="Cicelsky")
+AUDIOVND_EVERAD_PLJ,
+/**
+ * vnd.hns.audio
+ * Swaminathan
+ **/
+ @SEDA(PropertyTerm="audio/vnd.hns.audio", FormName="vnd.hns.audio",FormDescription="Swaminathan")
+AUDIOVND_HNS_AUDIO,
+/**
+ * vnd.lucent.voice
+ * Vaudreuil
+ **/
+ @SEDA(PropertyTerm="audio/vnd.lucent.voice", FormName="vnd.lucent.voice",FormDescription="Vaudreuil")
+AUDIOVND_LUCENT_VOICE,
+/**
+ * vnd.nokia.mobile-xmf
+ * Nokia Corporation
+ **/
+ @SEDA(PropertyTerm="audio/vnd.nokia.mobile-xmf", FormName="vnd.nokia.mobile-xmf",FormDescription="Nokia Corporation")
+AUDIOVND_NOKIA_MOBILE_XMF,
+/**
+ * vnd.nortel.vbk
+ * Parsons
+ **/
+ @SEDA(PropertyTerm="audio/vnd.nortel.vbk", FormName="vnd.nortel.vbk",FormDescription="Parsons")
+AUDIOVND_NORTEL_VBK,
+/**
+ * vnd.nuera.ecelp4800
+ * Fox
+ **/
+ @SEDA(PropertyTerm="audio/vnd.nuera.ecelp4800", FormName="vnd.nuera.ecelp4800",FormDescription="Fox")
+AUDIOVND_NUERA_ECELP4800,
+/**
+ * vnd.nuera.ecelp7470
+ * Fox
+ **/
+ @SEDA(PropertyTerm="audio/vnd.nuera.ecelp7470", FormName="vnd.nuera.ecelp7470",FormDescription="Fox")
+AUDIOVND_NUERA_ECELP7470,
+/**
+ * vnd.nuera.ecelp9600
+ * Fox
+ **/
+ @SEDA(PropertyTerm="audio/vnd.nuera.ecelp9600", FormName="vnd.nuera.ecelp9600",FormDescription="Fox")
+AUDIOVND_NUERA_ECELP9600,
+/**
+ * vnd.octel.sbc
+ * Vaudreuil
+ **/
+ @SEDA(PropertyTerm="audio/vnd.octel.sbc", FormName="vnd.octel.sbc",FormDescription="Vaudreuil")
+AUDIOVND_OCTEL_SBC,
+/**
+ * vnd.qcelp - DEPRECATED - Please use audio/qcelp
+ * RFC3625
+ **/
+ @SEDA(PropertyTerm="audio/vnd.qcelp - DEPRECATED - Please use audio/qcelp", FormName="vnd.qcelp - DEPRECATED - Please use audio/qcelp",FormDescription="RFC3625")
+AUDIOVND_QCELP_DEPRECATED_PLEASE_USE_AUDIOQCELP,
+/**
+ * vnd.rhetorex.32kadpcm
+ * Vaudreuil
+ **/
+ @SEDA(PropertyTerm="audio/vnd.rhetorex.32kadpcm", FormName="vnd.rhetorex.32kadpcm",FormDescription="Vaudreuil")
+AUDIOVND_RHETOREX_32KADPCM,
+/**
+ * vnd.sealedmedia.softseal.mpeg
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="audio/vnd.sealedmedia.softseal.mpeg", FormName="vnd.sealedmedia.softseal.mpeg",FormDescription="Petersen")
+AUDIOVND_SEALEDMEDIA_SOFTSEAL_MPEG,
+/**
+ * vnd.vmx.cvsd
+ * Vaudreuil
+ **/
+ @SEDA(PropertyTerm="audio/vnd.vmx.cvsd", FormName="vnd.vmx.cvsd",FormDescription="Vaudreuil")
+AUDIOVND_VMX_CVSD,
+/**
+ * cgm
+ * Computer Graphics Metafile Francis
+ **/
+ @SEDA(PropertyTerm="image/cgm", FormName="cgm",FormDescription="Computer Graphics Metafile Francis")
+IMAGECGM,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="image/example", FormName="example",FormDescription="RFC4735")
+IMAGEEXAMPLE,
+/**
+ * fits
+ * RFC4047
+ **/
+ @SEDA(PropertyTerm="image/fits", FormName="fits",FormDescription="RFC4047")
+IMAGEFITS,
+/**
+ * g3fax
+ * RFC1494
+ **/
+ @SEDA(PropertyTerm="image/g3fax", FormName="g3fax",FormDescription="RFC1494")
+IMAGEG3FAX,
+/**
+ * gif
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="image/gif", FormName="gif",FormDescription="RFC2045,RFC2046")
+IMAGEGIF,
+/**
+ * ief
+ * Image Exchange Format RFC1314
+ **/
+ @SEDA(PropertyTerm="image/ief", FormName="ief",FormDescription="Image Exchange Format RFC1314")
+IMAGEIEF,
+/**
+ * jp2
+ * RFC3745
+ **/
+ @SEDA(PropertyTerm="image/jp2", FormName="jp2",FormDescription="RFC3745")
+IMAGEJP2,
+/**
+ * jpeg
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="image/jpeg", FormName="jpeg",FormDescription="RFC2045,RFC2046")
+IMAGEJPEG,
+/**
+ * jpm
+ * RFC3745
+ **/
+ @SEDA(PropertyTerm="image/jpm", FormName="jpm",FormDescription="RFC3745")
+IMAGEJPM,
+/**
+ * jpx
+ * RFC3745
+ **/
+ @SEDA(PropertyTerm="image/jpx", FormName="jpx",FormDescription="RFC3745")
+IMAGEJPX,
+/**
+ * naplps
+ * Ferber
+ **/
+ @SEDA(PropertyTerm="image/naplps", FormName="naplps",FormDescription="Ferber")
+IMAGENAPLPS,
+/**
+ * png
+ * Randers-Pehrson
+ **/
+ @SEDA(PropertyTerm="image/png", FormName="png",FormDescription="Randers-Pehrson")
+IMAGEPNG,
+/**
+ * prs.btif
+ * Simon
+ **/
+ @SEDA(PropertyTerm="image/prs.btif", FormName="prs.btif",FormDescription="Simon")
+IMAGEPRS_BTIF,
+/**
+ * prs.pti
+ * Laun
+ **/
+ @SEDA(PropertyTerm="image/prs.pti", FormName="prs.pti",FormDescription="Laun")
+IMAGEPRS_PTI,
+/**
+ * t38
+ * RFC3362
+ **/
+ @SEDA(PropertyTerm="image/t38", FormName="t38",FormDescription="RFC3362")
+IMAGET38,
+/**
+ * tiff
+ * Tag Image File Format RFC3302
+ **/
+ @SEDA(PropertyTerm="image/tiff", FormName="tiff",FormDescription="Tag Image File Format RFC3302")
+IMAGETIFF,
+/**
+ * tiff-fx
+ * Tag Image File Format Fax eXtended RFC3950
+ **/
+ @SEDA(PropertyTerm="image/tiff-fx", FormName="tiff-fx",FormDescription="Tag Image File Format Fax eXtended RFC3950")
+IMAGETIFF_FX,
+/**
+ * vnd.adobe.photoshop
+ * Scarborough
+ **/
+ @SEDA(PropertyTerm="image/vnd.adobe.photoshop", FormName="vnd.adobe.photoshop",FormDescription="Scarborough")
+IMAGEVND_ADOBE_PHOTOSHOP,
+/**
+ * vnd.cns.inf2
+ * McLaughlin
+ **/
+ @SEDA(PropertyTerm="image/vnd.cns.inf2", FormName="vnd.cns.inf2",FormDescription="McLaughlin")
+IMAGEVND_CNS_INF2,
+/**
+ * vnd.djvu
+ * Bottou
+ **/
+ @SEDA(PropertyTerm="image/vnd.djvu", FormName="vnd.djvu",FormDescription="Bottou")
+IMAGEVND_DJVU,
+/**
+ * vnd.dwg
+ * Moline
+ **/
+ @SEDA(PropertyTerm="image/vnd.dwg", FormName="vnd.dwg",FormDescription="Moline")
+IMAGEVND_DWG,
+/**
+ * vnd.dxf
+ * Moline
+ **/
+ @SEDA(PropertyTerm="image/vnd.dxf", FormName="vnd.dxf",FormDescription="Moline")
+IMAGEVND_DXF,
+/**
+ * vnd.fastbidsheet
+ * Becker
+ **/
+ @SEDA(PropertyTerm="image/vnd.fastbidsheet", FormName="vnd.fastbidsheet",FormDescription="Becker")
+IMAGEVND_FASTBIDSHEET,
+/**
+ * vnd.fpx
+ * Spencer
+ **/
+ @SEDA(PropertyTerm="image/vnd.fpx", FormName="vnd.fpx",FormDescription="Spencer")
+IMAGEVND_FPX,
+/**
+ * vnd.fst
+ * Fuldseth
+ **/
+ @SEDA(PropertyTerm="image/vnd.fst", FormName="vnd.fst",FormDescription="Fuldseth")
+IMAGEVND_FST,
+/**
+ * vnd.fujixerox.edmics-mmr
+ * Onda
+ **/
+ @SEDA(PropertyTerm="image/vnd.fujixerox.edmics-mmr", FormName="vnd.fujixerox.edmics-mmr",FormDescription="Onda")
+IMAGEVND_FUJIXEROX_EDMICS_MMR,
+/**
+ * vnd.fujixerox.edmics-rlc
+ * Onda
+ **/
+ @SEDA(PropertyTerm="image/vnd.fujixerox.edmics-rlc", FormName="vnd.fujixerox.edmics-rlc",FormDescription="Onda")
+IMAGEVND_FUJIXEROX_EDMICS_RLC,
+/**
+ * vnd.globalgraphics.pgb
+ * Bailey
+ **/
+ @SEDA(PropertyTerm="image/vnd.globalgraphics.pgb", FormName="vnd.globalgraphics.pgb",FormDescription="Bailey")
+IMAGEVND_GLOBALGRAPHICS_PGB,
+/**
+ * vnd.microsoft.icon
+ * Butcher
+ **/
+ @SEDA(PropertyTerm="image/vnd.microsoft.icon", FormName="vnd.microsoft.icon",FormDescription="Butcher")
+IMAGEVND_MICROSOFT_ICON,
+/**
+ * vnd.mix
+ * Reddy
+ **/
+ @SEDA(PropertyTerm="image/vnd.mix", FormName="vnd.mix",FormDescription="Reddy")
+IMAGEVND_MIX,
+/**
+ * vnd.ms-modi
+ * Vaughan
+ **/
+ @SEDA(PropertyTerm="image/vnd.ms-modi", FormName="vnd.ms-modi",FormDescription="Vaughan")
+IMAGEVND_MS_MODI,
+/**
+ * vnd.net-fpx
+ * Spencer
+ **/
+ @SEDA(PropertyTerm="image/vnd.net-fpx", FormName="vnd.net-fpx",FormDescription="Spencer")
+IMAGEVND_NET_FPX,
+/**
+ * vnd.sealed.png
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="image/vnd.sealed.png", FormName="vnd.sealed.png",FormDescription="Petersen")
+IMAGEVND_SEALED_PNG,
+/**
+ * vnd.sealedmedia.softseal.gif
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="image/vnd.sealedmedia.softseal.gif", FormName="vnd.sealedmedia.softseal.gif",FormDescription="Petersen")
+IMAGEVND_SEALEDMEDIA_SOFTSEAL_GIF,
+/**
+ * vnd.sealedmedia.softseal.jpg
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="image/vnd.sealedmedia.softseal.jpg", FormName="vnd.sealedmedia.softseal.jpg",FormDescription="Petersen")
+IMAGEVND_SEALEDMEDIA_SOFTSEAL_JPG,
+/**
+ * vnd.svf
+ * Moline
+ **/
+ @SEDA(PropertyTerm="image/vnd.svf", FormName="vnd.svf",FormDescription="Moline")
+IMAGEVND_SVF,
+/**
+ * vnd.wap.wbmp
+ * Stark
+ **/
+ @SEDA(PropertyTerm="image/vnd.wap.wbmp", FormName="vnd.wap.wbmp",FormDescription="Stark")
+IMAGEVND_WAP_WBMP,
+/**
+ * vnd.xiff
+ * S.Martin
+ **/
+ @SEDA(PropertyTerm="image/vnd.xiff", FormName="vnd.xiff",FormDescription="S.Martin")
+IMAGEVND_XIFF,
+/**
+ * CPIM
+ * RFC3862
+ **/
+ @SEDA(PropertyTerm="message/CPIM", FormName="CPIM",FormDescription="RFC3862")
+MESSAGECPIM,
+/**
+ * delivery-status
+ * RFC1894
+ **/
+ @SEDA(PropertyTerm="message/delivery-status", FormName="delivery-status",FormDescription="RFC1894")
+MESSAGEDELIVERY_STATUS,
+/**
+ * disposition-notification
+ * RFC2298
+ **/
+ @SEDA(PropertyTerm="message/disposition-notification", FormName="disposition-notification",FormDescription="RFC2298")
+MESSAGEDISPOSITION_NOTIFICATION,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="message/example", FormName="example",FormDescription="RFC4735")
+MESSAGEEXAMPLE,
+/**
+ * external-body
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="message/external-body", FormName="external-body",FormDescription="RFC2045,RFC2046")
+MESSAGEEXTERNAL_BODY,
+/**
+ * http
+ * RFC2616
+ **/
+ @SEDA(PropertyTerm="message/http", FormName="http",FormDescription="RFC2616")
+MESSAGEHTTP,
+/**
+ * news
+ * RFC1036, H.Spencer
+ **/
+ @SEDA(PropertyTerm="message/news", FormName="news",FormDescription="RFC1036, H.Spencer")
+MESSAGENEWS,
+/**
+ * partial
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="message/partial", FormName="partial",FormDescription="RFC2045,RFC2046")
+MESSAGEPARTIAL,
+/**
+ * rfc822
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="message/rfc822", FormName="rfc822",FormDescription="RFC2045,RFC2046")
+MESSAGERFC822,
+/**
+ * s-http
+ * RFC2660
+ **/
+ @SEDA(PropertyTerm="message/s-http", FormName="s-http",FormDescription="RFC2660")
+MESSAGES_HTTP,
+/**
+ * sip
+ * RFC3261
+ **/
+ @SEDA(PropertyTerm="message/sip", FormName="sip",FormDescription="RFC3261")
+MESSAGESIP,
+/**
+ * sipfrag
+ * RFC3420
+ **/
+ @SEDA(PropertyTerm="message/sipfrag", FormName="sipfrag",FormDescription="RFC3420")
+MESSAGESIPFRAG,
+/**
+ * tracking-status
+ * RFC3886
+ **/
+ @SEDA(PropertyTerm="message/tracking-status", FormName="tracking-status",FormDescription="RFC3886")
+MESSAGETRACKING_STATUS,
+/**
+ * vnd.si.simp
+ * Parks Young
+ **/
+ @SEDA(PropertyTerm="message/vnd.si.simp", FormName="vnd.si.simp",FormDescription="Parks Young")
+MESSAGEVND_SI_SIMP,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="model/example", FormName="example",FormDescription="RFC4735")
+MODELEXAMPLE,
+/**
+ * iges
+ * Parks
+ **/
+ @SEDA(PropertyTerm="model/iges", FormName="iges",FormDescription="Parks")
+MODELIGES,
+/**
+ * mesh
+ * RFC2077
+ **/
+ @SEDA(PropertyTerm="model/mesh", FormName="mesh",FormDescription="RFC2077")
+MODELMESH,
+/**
+ * vnd.dwf
+ * Pratt
+ **/
+ @SEDA(PropertyTerm="model/vnd.dwf", FormName="vnd.dwf",FormDescription="Pratt")
+MODELVND_DWF,
+/**
+ * vnd.flatland.3dml
+ * Powers
+ **/
+ @SEDA(PropertyTerm="model/vnd.flatland.3dml", FormName="vnd.flatland.3dml",FormDescription="Powers")
+MODELVND_FLATLAND_3DML,
+/**
+ * vnd.gdl
+ * Babits
+ **/
+ @SEDA(PropertyTerm="model/vnd.gdl", FormName="vnd.gdl",FormDescription="Babits")
+MODELVND_GDL,
+/**
+ * vnd.gs-gdl
+ * Babits
+ **/
+ @SEDA(PropertyTerm="model/vnd.gs-gdl", FormName="vnd.gs-gdl",FormDescription="Babits")
+MODELVND_GS_GDL,
+/**
+ * vnd.gtw
+ * Ozaki
+ **/
+ @SEDA(PropertyTerm="model/vnd.gtw", FormName="vnd.gtw",FormDescription="Ozaki")
+MODELVND_GTW,
+/**
+ * vnd.moml+xml
+ * Brooks
+ **/
+ @SEDA(PropertyTerm="model/vnd.moml+xml", FormName="vnd.moml+xml",FormDescription="Brooks")
+MODELVND_MOML_XML,
+/**
+ * vnd.mts
+ * Rabinovitch
+ **/
+ @SEDA(PropertyTerm="model/vnd.mts", FormName="vnd.mts",FormDescription="Rabinovitch")
+MODELVND_MTS,
+/**
+ * vnd.parasolid.transmit.binary
+ * Parasolid
+ **/
+ @SEDA(PropertyTerm="model/vnd.parasolid.transmit.binary", FormName="vnd.parasolid.transmit.binary",FormDescription="Parasolid")
+MODELVND_PARASOLID_TRANSMIT_BINARY,
+/**
+ * vnd.parasolid.transmit.text
+ * Parasolid
+ **/
+ @SEDA(PropertyTerm="model/vnd.parasolid.transmit.text", FormName="vnd.parasolid.transmit.text",FormDescription="Parasolid")
+MODELVND_PARASOLID_TRANSMIT_TEXT,
+/**
+ * vnd.vtu
+ * Rabinovitch
+ **/
+ @SEDA(PropertyTerm="model/vnd.vtu", FormName="vnd.vtu",FormDescription="Rabinovitch")
+MODELVND_VTU,
+/**
+ * vrml
+ * RFC2077
+ **/
+ @SEDA(PropertyTerm="model/vrml", FormName="vrml",FormDescription="RFC2077")
+MODELVRML,
+/**
+ * alternative
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="multipart/alternative", FormName="alternative",FormDescription="RFC2045,RFC2046")
+MULTIPARTALTERNATIVE,
+/**
+ * appledouble
+ * Faltstrom
+ **/
+ @SEDA(PropertyTerm="multipart/appledouble", FormName="appledouble",FormDescription="Faltstrom")
+MULTIPARTAPPLEDOUBLE,
+/**
+ * byteranges
+ * RFC2068
+ **/
+ @SEDA(PropertyTerm="multipart/byteranges", FormName="byteranges",FormDescription="RFC2068")
+MULTIPARTBYTERANGES,
+/**
+ * digest
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="multipart/digest", FormName="digest",FormDescription="RFC2045,RFC2046")
+MULTIPARTDIGEST,
+/**
+ * encrypted
+ * RFC1847
+ **/
+ @SEDA(PropertyTerm="multipart/encrypted", FormName="encrypted",FormDescription="RFC1847")
+MULTIPARTENCRYPTED,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="multipart/example", FormName="example",FormDescription="RFC4735")
+MULTIPARTEXAMPLE,
+/**
+ * form-data
+ * RFC2388
+ **/
+ @SEDA(PropertyTerm="multipart/form-data", FormName="form-data",FormDescription="RFC2388")
+MULTIPARTFORM_DATA,
+/**
+ * header-set
+ * Crocker
+ **/
+ @SEDA(PropertyTerm="multipart/header-set", FormName="header-set",FormDescription="Crocker")
+MULTIPARTHEADER_SET,
+/**
+ * mixed
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="multipart/mixed", FormName="mixed",FormDescription="RFC2045,RFC2046")
+MULTIPARTMIXED,
+/**
+ * parallel
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="multipart/parallel", FormName="parallel",FormDescription="RFC2045,RFC2046")
+MULTIPARTPARALLEL,
+/**
+ * related
+ * RFC2387
+ **/
+ @SEDA(PropertyTerm="multipart/related", FormName="related",FormDescription="RFC2387")
+MULTIPARTRELATED,
+/**
+ * report
+ * RFC1892
+ **/
+ @SEDA(PropertyTerm="multipart/report", FormName="report",FormDescription="RFC1892")
+MULTIPARTREPORT,
+/**
+ * signed
+ * RFC1847
+ **/
+ @SEDA(PropertyTerm="multipart/signed", FormName="signed",FormDescription="RFC1847")
+MULTIPARTSIGNED,
+/**
+ * voice-message
+ * RFC2421,RFC2423
+ **/
+ @SEDA(PropertyTerm="multipart/voice-message", FormName="voice-message",FormDescription="RFC2421,RFC2423")
+MULTIPARTVOICE_MESSAGE,
+/**
+ * calendar
+ * RFC2445
+ **/
+ @SEDA(PropertyTerm="text/calendar", FormName="calendar",FormDescription="RFC2445")
+TEXTCALENDAR,
+/**
+ * css
+ * RFC2318
+ **/
+ @SEDA(PropertyTerm="text/css", FormName="css",FormDescription="RFC2318")
+TEXTCSS,
+/**
+ * csv
+ * RFC4180
+ **/
+ @SEDA(PropertyTerm="text/csv", FormName="csv",FormDescription="RFC4180")
+TEXTCSV,
+/**
+ * directory
+ * RFC2425
+ **/
+ @SEDA(PropertyTerm="text/directory", FormName="directory",FormDescription="RFC2425")
+TEXTDIRECTORY,
+/**
+ * dns
+ * RFC4027
+ **/
+ @SEDA(PropertyTerm="text/dns", FormName="dns",FormDescription="RFC4027")
+TEXTDNS,
+/**
+ * ecmascript (obsolete)
+ * RFC4329
+ **/
+ @SEDA(PropertyTerm="text/ecmascript (obsolete)", FormName="ecmascript (obsolete)",FormDescription="RFC4329")
+TEXTECMASCRIPT_OBSOLETE,
+/**
+ * enriched
+ * RFC1896
+ **/
+ @SEDA(PropertyTerm="text/enriched", FormName="enriched",FormDescription="RFC1896")
+TEXTENRICHED,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="text/example", FormName="example",FormDescription="RFC4735")
+TEXTEXAMPLE,
+/**
+ * html
+ * RFC2854
+ **/
+ @SEDA(PropertyTerm="text/html", FormName="html",FormDescription="RFC2854")
+TEXTHTML,
+/**
+ * javascript (obsolete)
+ * RFC4329
+ **/
+ @SEDA(PropertyTerm="text/javascript (obsolete)", FormName="javascript (obsolete)",FormDescription="RFC4329")
+TEXTJAVASCRIPT_OBSOLETE,
+/**
+ * parityfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="text/parityfec", FormName="parityfec",FormDescription="RFC5109")
+TEXTPARITYFEC,
+/**
+ * plain
+ * RFC2046,RFC3676,RFC-wilde-text-fragment-09.txt
+ **/
+ @SEDA(PropertyTerm="text/plain", FormName="plain",FormDescription="RFC2046,RFC3676,RFC-wilde-text-fragment-09.txt")
+TEXTPLAIN,
+/**
+ * prs.fallenstein.rst
+ * Fallenstein
+ **/
+ @SEDA(PropertyTerm="text/prs.fallenstein.rst", FormName="prs.fallenstein.rst",FormDescription="Fallenstein")
+TEXTPRS_FALLENSTEIN_RST,
+/**
+ * prs.lines.tag
+ * Lines
+ **/
+ @SEDA(PropertyTerm="text/prs.lines.tag", FormName="prs.lines.tag",FormDescription="Lines")
+TEXTPRS_LINES_TAG,
+/**
+ * RED
+ * RFC4102
+ **/
+ @SEDA(PropertyTerm="text/RED", FormName="RED",FormDescription="RFC4102")
+TEXTRED,
+/**
+ * rfc822-headers
+ * RFC1892
+ **/
+ @SEDA(PropertyTerm="text/rfc822-headers", FormName="rfc822-headers",FormDescription="RFC1892")
+TEXTRFC822_HEADERS,
+/**
+ * richtext
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="text/richtext", FormName="richtext",FormDescription="RFC2045,RFC2046")
+TEXTRICHTEXT,
+/**
+ * rtf
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="text/rtf", FormName="rtf",FormDescription="Lindner")
+TEXTRTF,
+/**
+ * rtp-enc-aescm128
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="text/rtp-enc-aescm128", FormName="rtp-enc-aescm128",FormDescription="3GPP")
+TEXTRTP_ENC_AESCM128,
+/**
+ * rtx
+ * RFC4588
+ **/
+ @SEDA(PropertyTerm="text/rtx", FormName="rtx",FormDescription="RFC4588")
+TEXTRTX,
+/**
+ * sgml
+ * RFC1874
+ **/
+ @SEDA(PropertyTerm="text/sgml", FormName="sgml",FormDescription="RFC1874")
+TEXTSGML,
+/**
+ * t140
+ * RFC4103
+ **/
+ @SEDA(PropertyTerm="text/t140", FormName="t140",FormDescription="RFC4103")
+TEXTT140,
+/**
+ * tab-separated-values
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="text/tab-separated-values", FormName="tab-separated-values",FormDescription="Lindner")
+TEXTTAB_SEPARATED_VALUES,
+/**
+ * troff
+ * RFC4263
+ **/
+ @SEDA(PropertyTerm="text/troff", FormName="troff",FormDescription="RFC4263")
+TEXTTROFF,
+/**
+ * ulpfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="text/ulpfec", FormName="ulpfec",FormDescription="RFC5109")
+TEXTULPFEC,
+/**
+ * uri-list
+ * RFC2483
+ **/
+ @SEDA(PropertyTerm="text/uri-list", FormName="uri-list",FormDescription="RFC2483")
+TEXTURI_LIST,
+/**
+ * vnd.abc
+ * Allen
+ **/
+ @SEDA(PropertyTerm="text/vnd.abc", FormName="vnd.abc",FormDescription="Allen")
+TEXTVND_ABC,
+/**
+ * vnd.curl
+ * Byrnes
+ **/
+ @SEDA(PropertyTerm="text/vnd.curl", FormName="vnd.curl",FormDescription="Byrnes")
+TEXTVND_CURL,
+/**
+ * vnd.DMClientScript
+ * Bradley
+ **/
+ @SEDA(PropertyTerm="text/vnd.DMClientScript", FormName="vnd.DMClientScript",FormDescription="Bradley")
+TEXTVND_DMCLIENTSCRIPT,
+/**
+ * vnd.esmertec.theme-descriptor
+ * Eilemann
+ **/
+ @SEDA(PropertyTerm="text/vnd.esmertec.theme-descriptor", FormName="vnd.esmertec.theme-descriptor",FormDescription="Eilemann")
+TEXTVND_ESMERTEC_THEME_DESCRIPTOR,
+/**
+ * vnd.fly
+ * Gurney
+ **/
+ @SEDA(PropertyTerm="text/vnd.fly", FormName="vnd.fly",FormDescription="Gurney")
+TEXTVND_FLY,
+/**
+ * vnd.fmi.flexstor
+ * Hurtta
+ **/
+ @SEDA(PropertyTerm="text/vnd.fmi.flexstor", FormName="vnd.fmi.flexstor",FormDescription="Hurtta")
+TEXTVND_FMI_FLEXSTOR,
+/**
+ * vnd.in3d.3dml
+ * Powers
+ **/
+ @SEDA(PropertyTerm="text/vnd.in3d.3dml", FormName="vnd.in3d.3dml",FormDescription="Powers")
+TEXTVND_IN3D_3DML,
+/**
+ * vnd.in3d.spot
+ * Powers
+ **/
+ @SEDA(PropertyTerm="text/vnd.in3d.spot", FormName="vnd.in3d.spot",FormDescription="Powers")
+TEXTVND_IN3D_SPOT,
+/**
+ * vnd.IPTC.NewsML
+ * IPTC
+ **/
+ @SEDA(PropertyTerm="text/vnd.IPTC.NewsML", FormName="vnd.IPTC.NewsML",FormDescription="IPTC")
+TEXTVND_IPTC_NEWSML,
+/**
+ * vnd.IPTC.NITF
+ * IPTC
+ **/
+ @SEDA(PropertyTerm="text/vnd.IPTC.NITF", FormName="vnd.IPTC.NITF",FormDescription="IPTC")
+TEXTVND_IPTC_NITF,
+/**
+ * vnd.latex-z
+ * Lubos
+ **/
+ @SEDA(PropertyTerm="text/vnd.latex-z", FormName="vnd.latex-z",FormDescription="Lubos")
+TEXTVND_LATEX_Z,
+/**
+ * vnd.motorola.reflex
+ * Patton
+ **/
+ @SEDA(PropertyTerm="text/vnd.motorola.reflex", FormName="vnd.motorola.reflex",FormDescription="Patton")
+TEXTVND_MOTOROLA_REFLEX,
+/**
+ * vnd.ms-mediapackage
+ * Nelson
+ **/
+ @SEDA(PropertyTerm="text/vnd.ms-mediapackage", FormName="vnd.ms-mediapackage",FormDescription="Nelson")
+TEXTVND_MS_MEDIAPACKAGE,
+/**
+ * vnd.net2phone.commcenter.command
+ * Xie
+ **/
+ @SEDA(PropertyTerm="text/vnd.net2phone.commcenter.command", FormName="vnd.net2phone.commcenter.command",FormDescription="Xie")
+TEXTVND_NET2PHONE_COMMCENTER_COMMAND,
+/**
+ * vnd.si.uricatalogue
+ * Parks Young
+ **/
+ @SEDA(PropertyTerm="text/vnd.si.uricatalogue", FormName="vnd.si.uricatalogue",FormDescription="Parks Young")
+TEXTVND_SI_URICATALOGUE,
+/**
+ * vnd.sun.j2me.app-descriptor
+ * G.Adams
+ **/
+ @SEDA(PropertyTerm="text/vnd.sun.j2me.app-descriptor", FormName="vnd.sun.j2me.app-descriptor",FormDescription="G.Adams")
+TEXTVND_SUN_J2ME_APP_DESCRIPTOR,
+/**
+ * vnd.trolltech.linguist
+ * D.Lambert
+ **/
+ @SEDA(PropertyTerm="text/vnd.trolltech.linguist", FormName="vnd.trolltech.linguist",FormDescription="D.Lambert")
+TEXTVND_TROLLTECH_LINGUIST,
+/**
+ * vnd.wap.si
+ * WAP-Forum
+ **/
+ @SEDA(PropertyTerm="text/vnd.wap.si", FormName="vnd.wap.si",FormDescription="WAP-Forum")
+TEXTVND_WAP_SI,
+/**
+ * vnd.wap.sl
+ * WAP-Forum
+ **/
+ @SEDA(PropertyTerm="text/vnd.wap.sl", FormName="vnd.wap.sl",FormDescription="WAP-Forum")
+TEXTVND_WAP_SL,
+/**
+ * vnd.wap.wml
+ * Stark
+ **/
+ @SEDA(PropertyTerm="text/vnd.wap.wml", FormName="vnd.wap.wml",FormDescription="Stark")
+TEXTVND_WAP_WML,
+/**
+ * vnd.wap.wmlscript
+ * Stark
+ **/
+ @SEDA(PropertyTerm="text/vnd.wap.wmlscript", FormName="vnd.wap.wmlscript",FormDescription="Stark")
+TEXTVND_WAP_WMLSCRIPT,
+/**
+ * xml
+ * RFC3023
+ **/
+ @SEDA(PropertyTerm="text/xml", FormName="xml",FormDescription="RFC3023")
+TEXTXML,
+/**
+ * xml-external-parsed-entity
+ * RFC3023
+ **/
+ @SEDA(PropertyTerm="text/xml-external-parsed-entity", FormName="xml-external-parsed-entity",FormDescription="RFC3023")
+TEXTXML_EXTERNAL_PARSED_ENTITY,
+/**
+ * 3gpp
+ * RFC3839, RFC4281
+ **/
+ @SEDA(PropertyTerm="video/3gpp", FormName="3gpp",FormDescription="RFC3839, RFC4281")
+VIDEO3GPP,
+/**
+ * 3gpp2
+ * RFC4393
+ **/
+ @SEDA(PropertyTerm="video/3gpp2", FormName="3gpp2",FormDescription="RFC4393")
+VIDEO3GPP2,
+/**
+ * 3gpp-tt
+ * RFC4396
+ **/
+ @SEDA(PropertyTerm="video/3gpp-tt", FormName="3gpp-tt",FormDescription="RFC4396")
+VIDEO3GPP_TT,
+/**
+ * BMPEG
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/BMPEG", FormName="BMPEG",FormDescription="RFC3555")
+VIDEOBMPEG,
+/**
+ * BT656
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/BT656", FormName="BT656",FormDescription="RFC3555")
+VIDEOBT656,
+/**
+ * CelB
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/CelB", FormName="CelB",FormDescription="RFC3555")
+VIDEOCELB,
+/**
+ * DV
+ * RFC3189
+ **/
+ @SEDA(PropertyTerm="video/DV", FormName="DV",FormDescription="RFC3189")
+VIDEODV,
+/**
+ * example
+ * RFC4735
+ **/
+ @SEDA(PropertyTerm="video/example", FormName="example",FormDescription="RFC4735")
+VIDEOEXAMPLE,
+/**
+ * H261
+ * RFC4587
+ **/
+ @SEDA(PropertyTerm="video/H261", FormName="H261",FormDescription="RFC4587")
+VIDEOH261,
+/**
+ * H263
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/H263", FormName="H263",FormDescription="RFC3555")
+VIDEOH263,
+/**
+ * H263-1998
+ * RFC4629
+ **/
+ @SEDA(PropertyTerm="video/H263-1998", FormName="H263-1998",FormDescription="RFC4629")
+VIDEOH263_1998,
+/**
+ * H263-2000
+ * RFC4629
+ **/
+ @SEDA(PropertyTerm="video/H263-2000", FormName="H263-2000",FormDescription="RFC4629")
+VIDEOH263_2000,
+/**
+ * H264
+ * RFC3984
+ **/
+ @SEDA(PropertyTerm="video/H264", FormName="H264",FormDescription="RFC3984")
+VIDEOH264,
+/**
+ * JPEG
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/JPEG", FormName="JPEG",FormDescription="RFC3555")
+VIDEOJPEG,
+/**
+ * MJ2
+ * RFC3745
+ **/
+ @SEDA(PropertyTerm="video/MJ2", FormName="MJ2",FormDescription="RFC3745")
+VIDEOMJ2,
+/**
+ * MP1S
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/MP1S", FormName="MP1S",FormDescription="RFC3555")
+VIDEOMP1S,
+/**
+ * MP2P
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/MP2P", FormName="MP2P",FormDescription="RFC3555")
+VIDEOMP2P,
+/**
+ * MP2T
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/MP2T", FormName="MP2T",FormDescription="RFC3555")
+VIDEOMP2T,
+/**
+ * mp4
+ * RFC4337
+ **/
+ @SEDA(PropertyTerm="video/mp4", FormName="mp4",FormDescription="RFC4337")
+VIDEOMP4,
+/**
+ * MP4V-ES
+ * RFC3016
+ **/
+ @SEDA(PropertyTerm="video/MP4V-ES", FormName="MP4V-ES",FormDescription="RFC3016")
+VIDEOMP4V_ES,
+/**
+ * MPV
+ * RFC3555
+ **/
+ @SEDA(PropertyTerm="video/MPV", FormName="MPV",FormDescription="RFC3555")
+VIDEOMPV,
+/**
+ * mpeg
+ * RFC2045,RFC2046
+ **/
+ @SEDA(PropertyTerm="video/mpeg", FormName="mpeg",FormDescription="RFC2045,RFC2046")
+VIDEOMPEG,
+/**
+ * mpeg4-generic
+ * RFC3640
+ **/
+ @SEDA(PropertyTerm="video/mpeg4-generic", FormName="mpeg4-generic",FormDescription="RFC3640")
+VIDEOMPEG4_GENERIC,
+/**
+ * nv
+ * RFC4856
+ **/
+ @SEDA(PropertyTerm="video/nv", FormName="nv",FormDescription="RFC4856")
+VIDEONV,
+/**
+ * parityfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="video/parityfec", FormName="parityfec",FormDescription="RFC5109")
+VIDEOPARITYFEC,
+/**
+ * pointer
+ * RFC2862
+ **/
+ @SEDA(PropertyTerm="video/pointer", FormName="pointer",FormDescription="RFC2862")
+VIDEOPOINTER,
+/**
+ * quicktime
+ * Lindner
+ **/
+ @SEDA(PropertyTerm="video/quicktime", FormName="quicktime",FormDescription="Lindner")
+VIDEOQUICKTIME,
+/**
+ * raw
+ * RFC4175
+ **/
+ @SEDA(PropertyTerm="video/raw", FormName="raw",FormDescription="RFC4175")
+VIDEORAW,
+/**
+ * rtp-enc-aescm128
+ * 3GPP
+ **/
+ @SEDA(PropertyTerm="video/rtp-enc-aescm128", FormName="rtp-enc-aescm128",FormDescription="3GPP")
+VIDEORTP_ENC_AESCM128,
+/**
+ * rtx
+ * RFC4588
+ **/
+ @SEDA(PropertyTerm="video/rtx", FormName="rtx",FormDescription="RFC4588")
+VIDEORTX,
+/**
+ * SMPTE292M
+ * RFC3497
+ **/
+ @SEDA(PropertyTerm="video/SMPTE292M", FormName="SMPTE292M",FormDescription="RFC3497")
+VIDEOSMPTE292M,
+/**
+ * ulpfec
+ * RFC5109
+ **/
+ @SEDA(PropertyTerm="video/ulpfec", FormName="ulpfec",FormDescription="RFC5109")
+VIDEOULPFEC,
+/**
+ * vc1
+ * RFC4425
+ **/
+ @SEDA(PropertyTerm="video/vc1", FormName="vc1",FormDescription="RFC4425")
+VIDEOVC1,
+/**
+ * vnd.dlna.mpeg-tts
+ * Heredia
+ **/
+ @SEDA(PropertyTerm="video/vnd.dlna.mpeg-tts", FormName="vnd.dlna.mpeg-tts",FormDescription="Heredia")
+VIDEOVND_DLNA_MPEG_TTS,
+/**
+ * vnd.fvt
+ * Fuldseth
+ **/
+ @SEDA(PropertyTerm="video/vnd.fvt", FormName="vnd.fvt",FormDescription="Fuldseth")
+VIDEOVND_FVT,
+/**
+ * vnd.hns.video
+ * Swaminathan
+ **/
+ @SEDA(PropertyTerm="video/vnd.hns.video", FormName="vnd.hns.video",FormDescription="Swaminathan")
+VIDEOVND_HNS_VIDEO,
+/**
+ * vnd.iptvforum.1dparityfec-1010
+ * Nakamura
+ **/
+ @SEDA(PropertyTerm="video/vnd.iptvforum.1dparityfec-1010", FormName="vnd.iptvforum.1dparityfec-1010",FormDescription="Nakamura")
+VIDEOVND_IPTVFORUM_1DPARITYFEC_1010,
+/**
+ * vnd.iptvforum.1dparityfec-2005
+ * Nakamura
+ **/
+ @SEDA(PropertyTerm="video/vnd.iptvforum.1dparityfec-2005", FormName="vnd.iptvforum.1dparityfec-2005",FormDescription="Nakamura")
+VIDEOVND_IPTVFORUM_1DPARITYFEC_2005,
+/**
+ * vnd.iptvforum.2dparityfec-1010
+ * Nakamura
+ **/
+ @SEDA(PropertyTerm="video/vnd.iptvforum.2dparityfec-1010", FormName="vnd.iptvforum.2dparityfec-1010",FormDescription="Nakamura")
+VIDEOVND_IPTVFORUM_2DPARITYFEC_1010,
+/**
+ * vnd.iptvforum.2dparityfec-2005
+ * Nakamura
+ **/
+ @SEDA(PropertyTerm="video/vnd.iptvforum.2dparityfec-2005", FormName="vnd.iptvforum.2dparityfec-2005",FormDescription="Nakamura")
+VIDEOVND_IPTVFORUM_2DPARITYFEC_2005,
+/**
+ * vnd.iptvforum.ttsavc
+ * Nakamura
+ **/
+ @SEDA(PropertyTerm="video/vnd.iptvforum.ttsavc", FormName="vnd.iptvforum.ttsavc",FormDescription="Nakamura")
+VIDEOVND_IPTVFORUM_TTSAVC,
+/**
+ * vnd.iptvforum.ttsmpeg2
+ * Nakamura
+ **/
+ @SEDA(PropertyTerm="video/vnd.iptvforum.ttsmpeg2", FormName="vnd.iptvforum.ttsmpeg2",FormDescription="Nakamura")
+VIDEOVND_IPTVFORUM_TTSMPEG2,
+/**
+ * vnd.motorola.video
+ * McGinty
+ **/
+ @SEDA(PropertyTerm="video/vnd.motorola.video", FormName="vnd.motorola.video",FormDescription="McGinty")
+VIDEOVND_MOTOROLA_VIDEO,
+/**
+ * vnd.motorola.videop
+ * McGinty
+ **/
+ @SEDA(PropertyTerm="video/vnd.motorola.videop", FormName="vnd.motorola.videop",FormDescription="McGinty")
+VIDEOVND_MOTOROLA_VIDEOP,
+/**
+ * vnd.mpegurl
+ * Recktenwald
+ **/
+ @SEDA(PropertyTerm="video/vnd.mpegurl", FormName="vnd.mpegurl",FormDescription="Recktenwald")
+VIDEOVND_MPEGURL,
+/**
+ * vnd.nokia.interleaved-multimedia
+ * Kangaslampi
+ **/
+ @SEDA(PropertyTerm="video/vnd.nokia.interleaved-multimedia", FormName="vnd.nokia.interleaved-multimedia",FormDescription="Kangaslampi")
+VIDEOVND_NOKIA_INTERLEAVED_MULTIMEDIA,
+/**
+ * vnd.nokia.videovoip
+ * Nokia
+ **/
+ @SEDA(PropertyTerm="video/vnd.nokia.videovoip", FormName="vnd.nokia.videovoip",FormDescription="Nokia")
+VIDEOVND_NOKIA_VIDEOVOIP,
+/**
+ * vnd.objectvideo
+ * Clark
+ **/
+ @SEDA(PropertyTerm="video/vnd.objectvideo", FormName="vnd.objectvideo",FormDescription="Clark")
+VIDEOVND_OBJECTVIDEO,
+/**
+ * vnd.sealed.mpeg1
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="video/vnd.sealed.mpeg1", FormName="vnd.sealed.mpeg1",FormDescription="Petersen")
+VIDEOVND_SEALED_MPEG1,
+/**
+ * vnd.sealed.mpeg4
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="video/vnd.sealed.mpeg4", FormName="vnd.sealed.mpeg4",FormDescription="Petersen")
+VIDEOVND_SEALED_MPEG4,
+/**
+ * vnd.sealed.swf
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="video/vnd.sealed.swf", FormName="vnd.sealed.swf",FormDescription="Petersen")
+VIDEOVND_SEALED_SWF,
+/**
+ * vnd.sealedmedia.softseal.mov
+ * Petersen
+ **/
+ @SEDA(PropertyTerm="video/vnd.sealedmedia.softseal.mov", FormName="vnd.sealedmedia.softseal.mov",FormDescription="Petersen")
+VIDEOVND_SEALEDMEDIA_SOFTSEAL_MOV,
+/**
+ * vnd.vivo
+ * Wolfe
+ **/
+ @SEDA(PropertyTerm="video/vnd.vivo", FormName="vnd.vivo",FormDescription="Wolfe")
+VIDEOVND_VIVO,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ *
+**/
+
+public enum MeasurementUnitCommonCodeContentType {
+
+/**
+ * lift
+ *
+ **/
+ @SEDA(PropertyTerm="05", FormName="lift",FormDescription="")
+NUM05,
+/**
+ * small spray
+ *
+ **/
+ @SEDA(PropertyTerm="06", FormName="small spray",FormDescription="")
+NUM06,
+/**
+ * heat lot
+ *
+ **/
+ @SEDA(PropertyTerm="08", FormName="heat lot",FormDescription="")
+NUM08,
+/**
+ * group
+ *
+ **/
+ @SEDA(PropertyTerm="10", FormName="group",FormDescription="")
+NUM10,
+/**
+ * outfit
+ *
+ **/
+ @SEDA(PropertyTerm="11", FormName="outfit",FormDescription="")
+NUM11,
+/**
+ * ration
+ *
+ **/
+ @SEDA(PropertyTerm="13", FormName="ration",FormDescription="")
+NUM13,
+/**
+ * shot
+ *
+ **/
+ @SEDA(PropertyTerm="14", FormName="shot",FormDescription="")
+NUM14,
+/**
+ * stick, military
+ *
+ **/
+ @SEDA(PropertyTerm="15", FormName="stick, military",FormDescription="")
+NUM15,
+/**
+ * hundred fifteen kg drum
+ *
+ **/
+ @SEDA(PropertyTerm="16", FormName="hundred fifteen kg drum",FormDescription="")
+NUM16,
+/**
+ * hundred lb drum
+ *
+ **/
+ @SEDA(PropertyTerm="17", FormName="hundred lb drum",FormDescription="")
+NUM17,
+/**
+ * fiftyfive gallon (US) drum
+ *
+ **/
+ @SEDA(PropertyTerm="18", FormName="fiftyfive gallon (US) drum",FormDescription="")
+NUM18,
+/**
+ * tank truck
+ *
+ **/
+ @SEDA(PropertyTerm="19", FormName="tank truck",FormDescription="")
+NUM19,
+/**
+ * car mile
+ *
+ **/
+ @SEDA(PropertyTerm="1A", FormName="car mile",FormDescription="")
+NUM1A,
+/**
+ * car count
+ *
+ **/
+ @SEDA(PropertyTerm="1B", FormName="car count",FormDescription="")
+NUM1B,
+/**
+ * locomotive count
+ *
+ **/
+ @SEDA(PropertyTerm="1C", FormName="locomotive count",FormDescription="")
+NUM1C,
+/**
+ * caboose count
+ *
+ **/
+ @SEDA(PropertyTerm="1D", FormName="caboose count",FormDescription="")
+NUM1D,
+/**
+ * empty car
+ *
+ **/
+ @SEDA(PropertyTerm="1E", FormName="empty car",FormDescription="")
+NUM1E,
+/**
+ * train mile
+ *
+ **/
+ @SEDA(PropertyTerm="1F", FormName="train mile",FormDescription="")
+NUM1F,
+/**
+ * fuel usage gallon (US)
+ *
+ **/
+ @SEDA(PropertyTerm="1G", FormName="fuel usage gallon (US)",FormDescription="")
+NUM1G,
+/**
+ * caboose mile
+ *
+ **/
+ @SEDA(PropertyTerm="1H", FormName="caboose mile",FormDescription="")
+NUM1H,
+/**
+ * fixed rate
+ *
+ **/
+ @SEDA(PropertyTerm="1I", FormName="fixed rate",FormDescription="")
+NUM1I,
+/**
+ * ton mile
+ *
+ **/
+ @SEDA(PropertyTerm="1J", FormName="ton mile",FormDescription="")
+NUM1J,
+/**
+ * locomotive mile
+ *
+ **/
+ @SEDA(PropertyTerm="1K", FormName="locomotive mile",FormDescription="")
+NUM1K,
+/**
+ * total car count
+ *
+ **/
+ @SEDA(PropertyTerm="1L", FormName="total car count",FormDescription="")
+NUM1L,
+/**
+ * total car mile
+ *
+ **/
+ @SEDA(PropertyTerm="1M", FormName="total car mile",FormDescription="")
+NUM1M,
+/**
+ * quarter mile
+ *
+ **/
+ @SEDA(PropertyTerm="1X", FormName="quarter mile",FormDescription="")
+NUM1X,
+/**
+ * twenty foot container
+ *
+ **/
+ @SEDA(PropertyTerm="20", FormName="twenty foot container",FormDescription="")
+NUM20,
+/**
+ * forty foot container
+ *
+ **/
+ @SEDA(PropertyTerm="21", FormName="forty foot container",FormDescription="")
+NUM21,
+/**
+ * decilitre per gram
+ *
+ **/
+ @SEDA(PropertyTerm="22", FormName="decilitre per gram",FormDescription="")
+NUM22,
+/**
+ * gram per cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="23", FormName="gram per cubic centimetre",FormDescription="")
+NUM23,
+/**
+ * theoretical pound
+ *
+ **/
+ @SEDA(PropertyTerm="24", FormName="theoretical pound",FormDescription="")
+NUM24,
+/**
+ * gram per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="25", FormName="gram per square centimetre",FormDescription="")
+NUM25,
+/**
+ * actual ton
+ *
+ **/
+ @SEDA(PropertyTerm="26", FormName="actual ton",FormDescription="")
+NUM26,
+/**
+ * theoretical ton
+ *
+ **/
+ @SEDA(PropertyTerm="27", FormName="theoretical ton",FormDescription="")
+NUM27,
+/**
+ * kilogram per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="28", FormName="kilogram per square metre",FormDescription="")
+NUM28,
+/**
+ * pound per thousand square feet
+ *
+ **/
+ @SEDA(PropertyTerm="29", FormName="pound per thousand square feet",FormDescription="")
+NUM29,
+/**
+ * radian per second
+ *
+ **/
+ @SEDA(PropertyTerm="2A", FormName="radian per second",FormDescription="")
+NUM2A,
+/**
+ * radian per second squared
+ *
+ **/
+ @SEDA(PropertyTerm="2B", FormName="radian per second squared",FormDescription="")
+NUM2B,
+/**
+ * roentgen
+ *
+ **/
+ @SEDA(PropertyTerm="2C", FormName="roentgen",FormDescription="")
+NUM2C,
+/**
+ * volt AC
+ *
+ **/
+ @SEDA(PropertyTerm="2G", FormName="volt AC",FormDescription="")
+NUM2G,
+/**
+ * volt DC
+ *
+ **/
+ @SEDA(PropertyTerm="2H", FormName="volt DC",FormDescription="")
+NUM2H,
+/**
+ * British thermal unit per hour
+ *
+ **/
+ @SEDA(PropertyTerm="2I", FormName="British thermal unit per hour",FormDescription="")
+NUM2I,
+/**
+ * cubic centimetre per second
+ *
+ **/
+ @SEDA(PropertyTerm="2J", FormName="cubic centimetre per second",FormDescription="")
+NUM2J,
+/**
+ * cubic foot per hour
+ *
+ **/
+ @SEDA(PropertyTerm="2K", FormName="cubic foot per hour",FormDescription="")
+NUM2K,
+/**
+ * cubic foot per minute
+ *
+ **/
+ @SEDA(PropertyTerm="2L", FormName="cubic foot per minute",FormDescription="")
+NUM2L,
+/**
+ * centimetre per second
+ *
+ **/
+ @SEDA(PropertyTerm="2M", FormName="centimetre per second",FormDescription="")
+NUM2M,
+/**
+ * decibel
+ *
+ **/
+ @SEDA(PropertyTerm="2N", FormName="decibel",FormDescription="")
+NUM2N,
+/**
+ * kilobyte
+ *
+ **/
+ @SEDA(PropertyTerm="2P", FormName="kilobyte",FormDescription="")
+NUM2P,
+/**
+ * kilobecquerel
+ *
+ **/
+ @SEDA(PropertyTerm="2Q", FormName="kilobecquerel",FormDescription="")
+NUM2Q,
+/**
+ * kilocurie
+ *
+ **/
+ @SEDA(PropertyTerm="2R", FormName="kilocurie",FormDescription="")
+NUM2R,
+/**
+ * megagram
+ *
+ **/
+ @SEDA(PropertyTerm="2U", FormName="megagram",FormDescription="")
+NUM2U,
+/**
+ * megagram per hour
+ *
+ **/
+ @SEDA(PropertyTerm="2V", FormName="megagram per hour",FormDescription="")
+NUM2V,
+/**
+ * bin
+ *
+ **/
+ @SEDA(PropertyTerm="2W", FormName="bin",FormDescription="")
+NUM2W,
+/**
+ * metre per minute
+ *
+ **/
+ @SEDA(PropertyTerm="2X", FormName="metre per minute",FormDescription="")
+NUM2X,
+/**
+ * milliroentgen
+ *
+ **/
+ @SEDA(PropertyTerm="2Y", FormName="milliroentgen",FormDescription="")
+NUM2Y,
+/**
+ * millivolt
+ *
+ **/
+ @SEDA(PropertyTerm="2Z", FormName="millivolt",FormDescription="")
+NUM2Z,
+/**
+ * horse power day per air dry metric ton
+ *
+ **/
+ @SEDA(PropertyTerm="30", FormName="horse power day per air dry metric ton",FormDescription="")
+NUM30,
+/**
+ * catch weight
+ *
+ **/
+ @SEDA(PropertyTerm="31", FormName="catch weight",FormDescription="")
+NUM31,
+/**
+ * kilogram per air dry metric ton
+ *
+ **/
+ @SEDA(PropertyTerm="32", FormName="kilogram per air dry metric ton",FormDescription="")
+NUM32,
+/**
+ * kilopascal square metres per gram
+ *
+ **/
+ @SEDA(PropertyTerm="33", FormName="kilopascal square metres per gram",FormDescription="")
+NUM33,
+/**
+ * kilopascals per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="34", FormName="kilopascals per millimetre",FormDescription="")
+NUM34,
+/**
+ * millilitres per square centimetre second
+ *
+ **/
+ @SEDA(PropertyTerm="35", FormName="millilitres per square centimetre second",FormDescription="")
+NUM35,
+/**
+ * cubic feet per minute per square foot
+ *
+ **/
+ @SEDA(PropertyTerm="36", FormName="cubic feet per minute per square foot",FormDescription="")
+NUM36,
+/**
+ * ounce per square foot
+ *
+ **/
+ @SEDA(PropertyTerm="37", FormName="ounce per square foot",FormDescription="")
+NUM37,
+/**
+ * ounces per square foot per 0,01inch
+ *
+ **/
+ @SEDA(PropertyTerm="38", FormName="ounces per square foot per 0,01inch",FormDescription="")
+NUM38,
+/**
+ * megajoule
+ *
+ **/
+ @SEDA(PropertyTerm="3B", FormName="megajoule",FormDescription="")
+NUM3B,
+/**
+ * manmonth
+ *
+ **/
+ @SEDA(PropertyTerm="3C", FormName="manmonth",FormDescription="")
+NUM3C,
+/**
+ * pound per pound of product
+ *
+ **/
+ @SEDA(PropertyTerm="3E", FormName="pound per pound of product",FormDescription="")
+NUM3E,
+/**
+ * pound per piece of product
+ *
+ **/
+ @SEDA(PropertyTerm="3G", FormName="pound per piece of product",FormDescription="")
+NUM3G,
+/**
+ * kilogram per kilogram of product
+ *
+ **/
+ @SEDA(PropertyTerm="3H", FormName="kilogram per kilogram of product",FormDescription="")
+NUM3H,
+/**
+ * kilogram per piece of product
+ *
+ **/
+ @SEDA(PropertyTerm="3I", FormName="kilogram per piece of product",FormDescription="")
+NUM3I,
+/**
+ * millilitre per second
+ *
+ **/
+ @SEDA(PropertyTerm="40", FormName="millilitre per second",FormDescription="")
+NUM40,
+/**
+ * millilitre per minute
+ *
+ **/
+ @SEDA(PropertyTerm="41", FormName="millilitre per minute",FormDescription="")
+NUM41,
+/**
+ * super bulk bag
+ *
+ **/
+ @SEDA(PropertyTerm="43", FormName="super bulk bag",FormDescription="")
+NUM43,
+/**
+ * fivehundred kg bulk bag
+ *
+ **/
+ @SEDA(PropertyTerm="44", FormName="fivehundred kg bulk bag",FormDescription="")
+NUM44,
+/**
+ * threehundred kg bulk bag
+ *
+ **/
+ @SEDA(PropertyTerm="45", FormName="threehundred kg bulk bag",FormDescription="")
+NUM45,
+/**
+ * fifty lb bulk bag
+ *
+ **/
+ @SEDA(PropertyTerm="46", FormName="fifty lb bulk bag",FormDescription="")
+NUM46,
+/**
+ * fifty lb bag
+ *
+ **/
+ @SEDA(PropertyTerm="47", FormName="fifty lb bag",FormDescription="")
+NUM47,
+/**
+ * bulk car load
+ *
+ **/
+ @SEDA(PropertyTerm="48", FormName="bulk car load",FormDescription="")
+NUM48,
+/**
+ * bobbin
+ *
+ **/
+ @SEDA(PropertyTerm="4A", FormName="bobbin",FormDescription="")
+NUM4A,
+/**
+ * cap
+ *
+ **/
+ @SEDA(PropertyTerm="4B", FormName="cap",FormDescription="")
+NUM4B,
+/**
+ * centistokes
+ *
+ **/
+ @SEDA(PropertyTerm="4C", FormName="centistokes",FormDescription="")
+NUM4C,
+/**
+ * twenty pack
+ *
+ **/
+ @SEDA(PropertyTerm="4E", FormName="twenty pack",FormDescription="")
+NUM4E,
+/**
+ * microlitre
+ *
+ **/
+ @SEDA(PropertyTerm="4G", FormName="microlitre",FormDescription="")
+NUM4G,
+/**
+ * micrometre (micron)
+ *
+ **/
+ @SEDA(PropertyTerm="4H", FormName="micrometre (micron)",FormDescription="")
+NUM4H,
+/**
+ * milliampere
+ *
+ **/
+ @SEDA(PropertyTerm="4K", FormName="milliampere",FormDescription="")
+NUM4K,
+/**
+ * megabyte
+ *
+ **/
+ @SEDA(PropertyTerm="4L", FormName="megabyte",FormDescription="")
+NUM4L,
+/**
+ * milligram per hour
+ *
+ **/
+ @SEDA(PropertyTerm="4M", FormName="milligram per hour",FormDescription="")
+NUM4M,
+/**
+ * megabecquerel
+ *
+ **/
+ @SEDA(PropertyTerm="4N", FormName="megabecquerel",FormDescription="")
+NUM4N,
+/**
+ * microfarad
+ *
+ **/
+ @SEDA(PropertyTerm="4O", FormName="microfarad",FormDescription="")
+NUM4O,
+/**
+ * newton per metre
+ *
+ **/
+ @SEDA(PropertyTerm="4P", FormName="newton per metre",FormDescription="")
+NUM4P,
+/**
+ * ounce inch
+ *
+ **/
+ @SEDA(PropertyTerm="4Q", FormName="ounce inch",FormDescription="")
+NUM4Q,
+/**
+ * ounce foot
+ *
+ **/
+ @SEDA(PropertyTerm="4R", FormName="ounce foot",FormDescription="")
+NUM4R,
+/**
+ * picofarad
+ *
+ **/
+ @SEDA(PropertyTerm="4T", FormName="picofarad",FormDescription="")
+NUM4T,
+/**
+ * pound per hour
+ *
+ **/
+ @SEDA(PropertyTerm="4U", FormName="pound per hour",FormDescription="")
+NUM4U,
+/**
+ * ton (US) per hour
+ *
+ **/
+ @SEDA(PropertyTerm="4W", FormName="ton (US) per hour",FormDescription="")
+NUM4W,
+/**
+ * kilolitre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="4X", FormName="kilolitre per hour",FormDescription="")
+NUM4X,
+/**
+ * theoretical kilograms
+ *
+ **/
+ @SEDA(PropertyTerm="53", FormName="theoretical kilograms",FormDescription="")
+NUM53,
+/**
+ * theoretical tonne
+ *
+ **/
+ @SEDA(PropertyTerm="54", FormName="theoretical tonne",FormDescription="")
+NUM54,
+/**
+ * sitas
+ *
+ **/
+ @SEDA(PropertyTerm="56", FormName="sitas",FormDescription="")
+NUM56,
+/**
+ * mesh
+ *
+ **/
+ @SEDA(PropertyTerm="57", FormName="mesh",FormDescription="")
+NUM57,
+/**
+ * net kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="58", FormName="net kilogram",FormDescription="")
+NUM58,
+/**
+ * part per million
+ *
+ **/
+ @SEDA(PropertyTerm="59", FormName="part per million",FormDescription="")
+NUM59,
+/**
+ * barrel (US) per minute
+ *
+ **/
+ @SEDA(PropertyTerm="5A", FormName="barrel (US) per minute",FormDescription="")
+NUM5A,
+/**
+ * batch
+ *
+ **/
+ @SEDA(PropertyTerm="5B", FormName="batch",FormDescription="")
+NUM5B,
+/**
+ * gallon(US) per thousand
+ *
+ **/
+ @SEDA(PropertyTerm="5C", FormName="gallon(US) per thousand",FormDescription="")
+NUM5C,
+/**
+ * MMSCF/day
+ *
+ **/
+ @SEDA(PropertyTerm="5E", FormName="MMSCF/day",FormDescription="")
+NUM5E,
+/**
+ * pounds per thousand
+ *
+ **/
+ @SEDA(PropertyTerm="5F", FormName="pounds per thousand",FormDescription="")
+NUM5F,
+/**
+ * pump
+ *
+ **/
+ @SEDA(PropertyTerm="5G", FormName="pump",FormDescription="")
+NUM5G,
+/**
+ * stage
+ *
+ **/
+ @SEDA(PropertyTerm="5H", FormName="stage",FormDescription="")
+NUM5H,
+/**
+ * standard cubic foot
+ *
+ **/
+ @SEDA(PropertyTerm="5I", FormName="standard cubic foot",FormDescription="")
+NUM5I,
+/**
+ * hydraulic horse power
+ *
+ **/
+ @SEDA(PropertyTerm="5J", FormName="hydraulic horse power",FormDescription="")
+NUM5J,
+/**
+ * count per minute
+ *
+ **/
+ @SEDA(PropertyTerm="5K", FormName="count per minute",FormDescription="")
+NUM5K,
+/**
+ * seismic level
+ *
+ **/
+ @SEDA(PropertyTerm="5P", FormName="seismic level",FormDescription="")
+NUM5P,
+/**
+ * seismic line
+ *
+ **/
+ @SEDA(PropertyTerm="5Q", FormName="seismic line",FormDescription="")
+NUM5Q,
+/**
+ * percent weight
+ *
+ **/
+ @SEDA(PropertyTerm="60", FormName="percent weight",FormDescription="")
+NUM60,
+/**
+ * part per billion (US)
+ *
+ **/
+ @SEDA(PropertyTerm="61", FormName="part per billion (US)",FormDescription="")
+NUM61,
+/**
+ * percent per 1000 hour
+ *
+ **/
+ @SEDA(PropertyTerm="62", FormName="percent per 1000 hour",FormDescription="")
+NUM62,
+/**
+ * failure rate in time
+ *
+ **/
+ @SEDA(PropertyTerm="63", FormName="failure rate in time",FormDescription="")
+NUM63,
+/**
+ * pound per square inch, gauge
+ *
+ **/
+ @SEDA(PropertyTerm="64", FormName="pound per square inch, gauge",FormDescription="")
+NUM64,
+/**
+ * oersted
+ *
+ **/
+ @SEDA(PropertyTerm="66", FormName="oersted",FormDescription="")
+NUM66,
+/**
+ * test specific scale
+ *
+ **/
+ @SEDA(PropertyTerm="69", FormName="test specific scale",FormDescription="")
+NUM69,
+/**
+ * volt ampere per pound
+ *
+ **/
+ @SEDA(PropertyTerm="71", FormName="volt ampere per pound",FormDescription="")
+NUM71,
+/**
+ * watt per pound
+ *
+ **/
+ @SEDA(PropertyTerm="72", FormName="watt per pound",FormDescription="")
+NUM72,
+/**
+ * ampere tum per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="73", FormName="ampere tum per centimetre",FormDescription="")
+NUM73,
+/**
+ * millipascal
+ *
+ **/
+ @SEDA(PropertyTerm="74", FormName="millipascal",FormDescription="")
+NUM74,
+/**
+ * gauss
+ *
+ **/
+ @SEDA(PropertyTerm="76", FormName="gauss",FormDescription="")
+NUM76,
+/**
+ * milli-inch
+ *
+ **/
+ @SEDA(PropertyTerm="77", FormName="milli-inch",FormDescription="")
+NUM77,
+/**
+ * kilogauss
+ *
+ **/
+ @SEDA(PropertyTerm="78", FormName="kilogauss",FormDescription="")
+NUM78,
+/**
+ * pound per square inch absolute
+ *
+ **/
+ @SEDA(PropertyTerm="80", FormName="pound per square inch absolute",FormDescription="")
+NUM80,
+/**
+ * henry
+ *
+ **/
+ @SEDA(PropertyTerm="81", FormName="henry",FormDescription="")
+NUM81,
+/**
+ * kilopound per square inch
+ *
+ **/
+ @SEDA(PropertyTerm="84", FormName="kilopound per square inch",FormDescription="")
+NUM84,
+/**
+ * foot pound-force
+ *
+ **/
+ @SEDA(PropertyTerm="85", FormName="foot pound-force",FormDescription="")
+NUM85,
+/**
+ * pound per cubic foot
+ *
+ **/
+ @SEDA(PropertyTerm="87", FormName="pound per cubic foot",FormDescription="")
+NUM87,
+/**
+ * poise
+ *
+ **/
+ @SEDA(PropertyTerm="89", FormName="poise",FormDescription="")
+NUM89,
+/**
+ * Saybold universal second
+ *
+ **/
+ @SEDA(PropertyTerm="90", FormName="Saybold universal second",FormDescription="")
+NUM90,
+/**
+ * stokes
+ *
+ **/
+ @SEDA(PropertyTerm="91", FormName="stokes",FormDescription="")
+NUM91,
+/**
+ * calorie per cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="92", FormName="calorie per cubic centimetre",FormDescription="")
+NUM92,
+/**
+ * calorie per gram
+ *
+ **/
+ @SEDA(PropertyTerm="93", FormName="calorie per gram",FormDescription="")
+NUM93,
+/**
+ * curl unit
+ *
+ **/
+ @SEDA(PropertyTerm="94", FormName="curl unit",FormDescription="")
+NUM94,
+/**
+ * twenty thousand gallon (US) tankcar
+ *
+ **/
+ @SEDA(PropertyTerm="95", FormName="twenty thousand gallon (US) tankcar",FormDescription="")
+NUM95,
+/**
+ * ten thousand gallon (US) tankcar
+ *
+ **/
+ @SEDA(PropertyTerm="96", FormName="ten thousand gallon (US) tankcar",FormDescription="")
+NUM96,
+/**
+ * ten kg drum
+ *
+ **/
+ @SEDA(PropertyTerm="97", FormName="ten kg drum",FormDescription="")
+NUM97,
+/**
+ * fifteen kg drum
+ *
+ **/
+ @SEDA(PropertyTerm="98", FormName="fifteen kg drum",FormDescription="")
+NUM98,
+/**
+ * 15 °C calorie
+ *
+ **/
+ @SEDA(PropertyTerm="A1", FormName="15 °C calorie",FormDescription="")
+NUMA1,
+/**
+ * ampere square metre per joule second
+ *
+ **/
+ @SEDA(PropertyTerm="A10", FormName="ampere square metre per joule second",FormDescription="")
+NUMA10,
+/**
+ * angstrom
+ *
+ **/
+ @SEDA(PropertyTerm="A11", FormName="angstrom",FormDescription="")
+NUMA11,
+/**
+ * astronomical unit
+ *
+ **/
+ @SEDA(PropertyTerm="A12", FormName="astronomical unit",FormDescription="")
+NUMA12,
+/**
+ * attojoule
+ *
+ **/
+ @SEDA(PropertyTerm="A13", FormName="attojoule",FormDescription="")
+NUMA13,
+/**
+ * barn
+ *
+ **/
+ @SEDA(PropertyTerm="A14", FormName="barn",FormDescription="")
+NUMA14,
+/**
+ * barn per electron volt
+ *
+ **/
+ @SEDA(PropertyTerm="A15", FormName="barn per electron volt",FormDescription="")
+NUMA15,
+/**
+ * barn per steradian electronvolt
+ *
+ **/
+ @SEDA(PropertyTerm="A16", FormName="barn per steradian electronvolt",FormDescription="")
+NUMA16,
+/**
+ * barn per steradian
+ *
+ **/
+ @SEDA(PropertyTerm="A17", FormName="barn per steradian",FormDescription="")
+NUMA17,
+/**
+ * becquerel per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="A18", FormName="becquerel per kilogram",FormDescription="")
+NUMA18,
+/**
+ * becquerel per metre cubed
+ *
+ **/
+ @SEDA(PropertyTerm="A19", FormName="becquerel per metre cubed",FormDescription="")
+NUMA19,
+/**
+ * ampere per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A2", FormName="ampere per centimetre",FormDescription="")
+NUMA2,
+/**
+ * British thermal unit per second square foot degree Rankine
+ *
+ **/
+ @SEDA(PropertyTerm="A20", FormName="British thermal unit per second square foot degree Rankine",FormDescription="")
+NUMA20,
+/**
+ * British thermal unit per pound degree Rankine
+ *
+ **/
+ @SEDA(PropertyTerm="A21", FormName="British thermal unit per pound degree Rankine",FormDescription="")
+NUMA21,
+/**
+ * British thermal unit per second foot degree Rankine
+ *
+ **/
+ @SEDA(PropertyTerm="A22", FormName="British thermal unit per second foot degree Rankine",FormDescription="")
+NUMA22,
+/**
+ * British thermal unit per hour square foot degree Rankine
+ *
+ **/
+ @SEDA(PropertyTerm="A23", FormName="British thermal unit per hour square foot degree Rankine",FormDescription="")
+NUMA23,
+/**
+ * candela per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="A24", FormName="candela per square metre",FormDescription="")
+NUMA24,
+/**
+ * cheval vapeur
+ *
+ **/
+ @SEDA(PropertyTerm="A25", FormName="cheval vapeur",FormDescription="")
+NUMA25,
+/**
+ * coulomb metre
+ *
+ **/
+ @SEDA(PropertyTerm="A26", FormName="coulomb metre",FormDescription="")
+NUMA26,
+/**
+ * coulomb metre squared per volt
+ *
+ **/
+ @SEDA(PropertyTerm="A27", FormName="coulomb metre squared per volt",FormDescription="")
+NUMA27,
+/**
+ * coulomb per cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A28", FormName="coulomb per cubic centimetre",FormDescription="")
+NUMA28,
+/**
+ * coulomb per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="A29", FormName="coulomb per cubic metre",FormDescription="")
+NUMA29,
+/**
+ * ampere per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A3", FormName="ampere per millimetre",FormDescription="")
+NUMA3,
+/**
+ * coulomb per cubic millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A30", FormName="coulomb per cubic millimetre",FormDescription="")
+NUMA30,
+/**
+ * coulomb per kilogram second
+ *
+ **/
+ @SEDA(PropertyTerm="A31", FormName="coulomb per kilogram second",FormDescription="")
+NUMA31,
+/**
+ * coulomb per mole
+ *
+ **/
+ @SEDA(PropertyTerm="A32", FormName="coulomb per mole",FormDescription="")
+NUMA32,
+/**
+ * coulomb per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A33", FormName="coulomb per square centimetre",FormDescription="")
+NUMA33,
+/**
+ * coulomb per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="A34", FormName="coulomb per square metre",FormDescription="")
+NUMA34,
+/**
+ * coulomb per square millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A35", FormName="coulomb per square millimetre",FormDescription="")
+NUMA35,
+/**
+ * cubic centimetre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="A36", FormName="cubic centimetre per mole",FormDescription="")
+NUMA36,
+/**
+ * cubic decimetre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="A37", FormName="cubic decimetre per mole",FormDescription="")
+NUMA37,
+/**
+ * cubic metre per coulomb
+ *
+ **/
+ @SEDA(PropertyTerm="A38", FormName="cubic metre per coulomb",FormDescription="")
+NUMA38,
+/**
+ * cubic metre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="A39", FormName="cubic metre per kilogram",FormDescription="")
+NUMA39,
+/**
+ * ampere per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A4", FormName="ampere per square centimetre",FormDescription="")
+NUMA4,
+/**
+ * cubic metre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="A40", FormName="cubic metre per mole",FormDescription="")
+NUMA40,
+/**
+ * ampere per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="A41", FormName="ampere per square metre",FormDescription="")
+NUMA41,
+/**
+ * curie per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="A42", FormName="curie per kilogram",FormDescription="")
+NUMA42,
+/**
+ * deadweight tonnage
+ *
+ **/
+ @SEDA(PropertyTerm="A43", FormName="deadweight tonnage",FormDescription="")
+NUMA43,
+/**
+ * decalitre
+ *
+ **/
+ @SEDA(PropertyTerm="A44", FormName="decalitre",FormDescription="")
+NUMA44,
+/**
+ * decametre
+ *
+ **/
+ @SEDA(PropertyTerm="A45", FormName="decametre",FormDescription="")
+NUMA45,
+/**
+ * decitex
+ *
+ **/
+ @SEDA(PropertyTerm="A47", FormName="decitex",FormDescription="")
+NUMA47,
+/**
+ * degree Rankine
+ *
+ **/
+ @SEDA(PropertyTerm="A48", FormName="degree Rankine",FormDescription="")
+NUMA48,
+/**
+ * denier
+ *
+ **/
+ @SEDA(PropertyTerm="A49", FormName="denier",FormDescription="")
+NUMA49,
+/**
+ * ampere square metre
+ *
+ **/
+ @SEDA(PropertyTerm="A5", FormName="ampere square metre",FormDescription="")
+NUMA5,
+/**
+ * dyne second per cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A50", FormName="dyne second per cubic centimetre",FormDescription="")
+NUMA50,
+/**
+ * dyne second per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A51", FormName="dyne second per centimetre",FormDescription="")
+NUMA51,
+/**
+ * dyne second per centimetre to the fifth power
+ *
+ **/
+ @SEDA(PropertyTerm="A52", FormName="dyne second per centimetre to the fifth power",FormDescription="")
+NUMA52,
+/**
+ * electronvolt
+ *
+ **/
+ @SEDA(PropertyTerm="A53", FormName="electronvolt",FormDescription="")
+NUMA53,
+/**
+ * electronvolt per metre
+ *
+ **/
+ @SEDA(PropertyTerm="A54", FormName="electronvolt per metre",FormDescription="")
+NUMA54,
+/**
+ * electronvolt square metre
+ *
+ **/
+ @SEDA(PropertyTerm="A55", FormName="electronvolt square metre",FormDescription="")
+NUMA55,
+/**
+ * electronvolt square metre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="A56", FormName="electronvolt square metre per kilogram",FormDescription="")
+NUMA56,
+/**
+ * erg
+ *
+ **/
+ @SEDA(PropertyTerm="A57", FormName="erg",FormDescription="")
+NUMA57,
+/**
+ * erg per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A58", FormName="erg per centimetre",FormDescription="")
+NUMA58,
+/**
+ * 8-part cloud cover
+ *
+ **/
+ @SEDA(PropertyTerm="A59", FormName="8-part cloud cover",FormDescription="")
+NUMA59,
+/**
+ * ampere per square metre kelvin squared
+ *
+ **/
+ @SEDA(PropertyTerm="A6", FormName="ampere per square metre kelvin squared",FormDescription="")
+NUMA6,
+/**
+ * erg per cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A60", FormName="erg per cubic centimetre",FormDescription="")
+NUMA60,
+/**
+ * erg per gram
+ *
+ **/
+ @SEDA(PropertyTerm="A61", FormName="erg per gram",FormDescription="")
+NUMA61,
+/**
+ * erg per gram second
+ *
+ **/
+ @SEDA(PropertyTerm="A62", FormName="erg per gram second",FormDescription="")
+NUMA62,
+/**
+ * erg per second
+ *
+ **/
+ @SEDA(PropertyTerm="A63", FormName="erg per second",FormDescription="")
+NUMA63,
+/**
+ * erg per second square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A64", FormName="erg per second square centimetre",FormDescription="")
+NUMA64,
+/**
+ * erg per square centimetre second
+ *
+ **/
+ @SEDA(PropertyTerm="A65", FormName="erg per square centimetre second",FormDescription="")
+NUMA65,
+/**
+ * erg square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A66", FormName="erg square centimetre",FormDescription="")
+NUMA66,
+/**
+ * erg square centimetre per gram
+ *
+ **/
+ @SEDA(PropertyTerm="A67", FormName="erg square centimetre per gram",FormDescription="")
+NUMA67,
+/**
+ * exajoule
+ *
+ **/
+ @SEDA(PropertyTerm="A68", FormName="exajoule",FormDescription="")
+NUMA68,
+/**
+ * farad per metre
+ *
+ **/
+ @SEDA(PropertyTerm="A69", FormName="farad per metre",FormDescription="")
+NUMA69,
+/**
+ * ampere per square millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="A7", FormName="ampere per square millimetre",FormDescription="")
+NUMA7,
+/**
+ * femtojoule
+ *
+ **/
+ @SEDA(PropertyTerm="A70", FormName="femtojoule",FormDescription="")
+NUMA70,
+/**
+ * femtometre
+ *
+ **/
+ @SEDA(PropertyTerm="A71", FormName="femtometre",FormDescription="")
+NUMA71,
+/**
+ * foot per second squared
+ *
+ **/
+ @SEDA(PropertyTerm="A73", FormName="foot per second squared",FormDescription="")
+NUMA73,
+/**
+ * foot pound-force per second
+ *
+ **/
+ @SEDA(PropertyTerm="A74", FormName="foot pound-force per second",FormDescription="")
+NUMA74,
+/**
+ * freight ton
+ *
+ **/
+ @SEDA(PropertyTerm="A75", FormName="freight ton",FormDescription="")
+NUMA75,
+/**
+ * gal
+ *
+ **/
+ @SEDA(PropertyTerm="A76", FormName="gal",FormDescription="")
+NUMA76,
+/**
+ * Gaussian CGS unit of displacement
+ *
+ **/
+ @SEDA(PropertyTerm="A77", FormName="Gaussian CGS unit of displacement",FormDescription="")
+NUMA77,
+/**
+ * Gaussian CGS unit of electric current
+ *
+ **/
+ @SEDA(PropertyTerm="A78", FormName="Gaussian CGS unit of electric current",FormDescription="")
+NUMA78,
+/**
+ * Gaussian CGS unit of electric charge
+ *
+ **/
+ @SEDA(PropertyTerm="A79", FormName="Gaussian CGS unit of electric charge",FormDescription="")
+NUMA79,
+/**
+ * ampere second
+ *
+ **/
+ @SEDA(PropertyTerm="A8", FormName="ampere second",FormDescription="")
+NUMA8,
+/**
+ * Gaussian CGS unit of electric field strength
+ *
+ **/
+ @SEDA(PropertyTerm="A80", FormName="Gaussian CGS unit of electric field strength",FormDescription="")
+NUMA80,
+/**
+ * Gaussian CGS unit of electric polarization
+ *
+ **/
+ @SEDA(PropertyTerm="A81", FormName="Gaussian CGS unit of electric polarization",FormDescription="")
+NUMA81,
+/**
+ * Gaussian CGS unit of electric potential
+ *
+ **/
+ @SEDA(PropertyTerm="A82", FormName="Gaussian CGS unit of electric potential",FormDescription="")
+NUMA82,
+/**
+ * Gaussian CGS unit of magnetization
+ *
+ **/
+ @SEDA(PropertyTerm="A83", FormName="Gaussian CGS unit of magnetization",FormDescription="")
+NUMA83,
+/**
+ * gigacoulomb per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="A84", FormName="gigacoulomb per cubic metre",FormDescription="")
+NUMA84,
+/**
+ * gigaelectronvolt
+ *
+ **/
+ @SEDA(PropertyTerm="A85", FormName="gigaelectronvolt",FormDescription="")
+NUMA85,
+/**
+ * gigahertz
+ *
+ **/
+ @SEDA(PropertyTerm="A86", FormName="gigahertz",FormDescription="")
+NUMA86,
+/**
+ * gigaohm
+ *
+ **/
+ @SEDA(PropertyTerm="A87", FormName="gigaohm",FormDescription="")
+NUMA87,
+/**
+ * gigaohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="A88", FormName="gigaohm metre",FormDescription="")
+NUMA88,
+/**
+ * gigapascal
+ *
+ **/
+ @SEDA(PropertyTerm="A89", FormName="gigapascal",FormDescription="")
+NUMA89,
+/**
+ * rate
+ *
+ **/
+ @SEDA(PropertyTerm="A9", FormName="rate",FormDescription="")
+NUMA9,
+/**
+ * gigawatt
+ *
+ **/
+ @SEDA(PropertyTerm="A90", FormName="gigawatt",FormDescription="")
+NUMA90,
+/**
+ * gon
+ *
+ **/
+ @SEDA(PropertyTerm="A91", FormName="gon",FormDescription="")
+NUMA91,
+/**
+ * gram per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="A93", FormName="gram per cubic metre",FormDescription="")
+NUMA93,
+/**
+ * gram per mole
+ *
+ **/
+ @SEDA(PropertyTerm="A94", FormName="gram per mole",FormDescription="")
+NUMA94,
+/**
+ * gray
+ *
+ **/
+ @SEDA(PropertyTerm="A95", FormName="gray",FormDescription="")
+NUMA95,
+/**
+ * gray per second
+ *
+ **/
+ @SEDA(PropertyTerm="A96", FormName="gray per second",FormDescription="")
+NUMA96,
+/**
+ * hectopascal
+ *
+ **/
+ @SEDA(PropertyTerm="A97", FormName="hectopascal",FormDescription="")
+NUMA97,
+/**
+ * henry per metre
+ *
+ **/
+ @SEDA(PropertyTerm="A98", FormName="henry per metre",FormDescription="")
+NUMA98,
+/**
+ * bit
+ *
+ **/
+ @SEDA(PropertyTerm="A99", FormName="bit",FormDescription="")
+NUMA99,
+/**
+ * ball
+ *
+ **/
+ @SEDA(PropertyTerm="AA", FormName="ball",FormDescription="")
+NUMAA,
+/**
+ * bulk pack
+ *
+ **/
+ @SEDA(PropertyTerm="AB", FormName="bulk pack",FormDescription="")
+NUMAB,
+/**
+ * acre
+ *
+ **/
+ @SEDA(PropertyTerm="ACR", FormName="acre",FormDescription="")
+NUMACR,
+/**
+ * activity
+ *
+ **/
+ @SEDA(PropertyTerm="ACT", FormName="activity",FormDescription="")
+NUMACT,
+/**
+ * byte
+ *
+ **/
+ @SEDA(PropertyTerm="AD", FormName="byte",FormDescription="")
+NUMAD,
+/**
+ * ampere per metre
+ *
+ **/
+ @SEDA(PropertyTerm="AE", FormName="ampere per metre",FormDescription="")
+NUMAE,
+/**
+ * additional minute
+ *
+ **/
+ @SEDA(PropertyTerm="AH", FormName="additional minute",FormDescription="")
+NUMAH,
+/**
+ * average minute per call
+ *
+ **/
+ @SEDA(PropertyTerm="AI", FormName="average minute per call",FormDescription="")
+NUMAI,
+/**
+ * cop
+ *
+ **/
+ @SEDA(PropertyTerm="AJ", FormName="cop",FormDescription="")
+NUMAJ,
+/**
+ * fathom
+ *
+ **/
+ @SEDA(PropertyTerm="AK", FormName="fathom",FormDescription="")
+NUMAK,
+/**
+ * access line
+ *
+ **/
+ @SEDA(PropertyTerm="AL", FormName="access line",FormDescription="")
+NUMAL,
+/**
+ * ampoule
+ *
+ **/
+ @SEDA(PropertyTerm="AM", FormName="ampoule",FormDescription="")
+NUMAM,
+/**
+ * ampere hour
+ *
+ **/
+ @SEDA(PropertyTerm="AMH", FormName="ampere hour",FormDescription="")
+NUMAMH,
+/**
+ * ampere
+ *
+ **/
+ @SEDA(PropertyTerm="AMP", FormName="ampere",FormDescription="")
+NUMAMP,
+/**
+ * year
+ *
+ **/
+ @SEDA(PropertyTerm="ANN", FormName="year",FormDescription="")
+NUMANN,
+/**
+ * aluminium pound only
+ *
+ **/
+ @SEDA(PropertyTerm="AP", FormName="aluminium pound only",FormDescription="")
+NUMAP,
+/**
+ * troy ounce or apothecary ounce
+ *
+ **/
+ @SEDA(PropertyTerm="APZ", FormName="troy ounce or apothecary ounce",FormDescription="")
+NUMAPZ,
+/**
+ * anti-hemophilic factor (AHF) unit
+ *
+ **/
+ @SEDA(PropertyTerm="AQ", FormName="anti-hemophilic factor (AHF) unit",FormDescription="")
+NUMAQ,
+/**
+ * suppository
+ *
+ **/
+ @SEDA(PropertyTerm="AR", FormName="suppository",FormDescription="")
+NUMAR,
+/**
+ * are
+ *
+ **/
+ @SEDA(PropertyTerm="ARE", FormName="are",FormDescription="")
+NUMARE,
+/**
+ * assortment
+ *
+ **/
+ @SEDA(PropertyTerm="AS", FormName="assortment",FormDescription="")
+NUMAS,
+/**
+ * alcoholic strength by mass
+ *
+ **/
+ @SEDA(PropertyTerm="ASM", FormName="alcoholic strength by mass",FormDescription="")
+NUMASM,
+/**
+ * alcoholic strength by volume
+ *
+ **/
+ @SEDA(PropertyTerm="ASU", FormName="alcoholic strength by volume",FormDescription="")
+NUMASU,
+/**
+ * standard atmosphere
+ *
+ **/
+ @SEDA(PropertyTerm="ATM", FormName="standard atmosphere",FormDescription="")
+NUMATM,
+/**
+ * technical atmosphere
+ *
+ **/
+ @SEDA(PropertyTerm="ATT", FormName="technical atmosphere",FormDescription="")
+NUMATT,
+/**
+ * capsule
+ *
+ **/
+ @SEDA(PropertyTerm="AV", FormName="capsule",FormDescription="")
+NUMAV,
+/**
+ * powder filled vial
+ *
+ **/
+ @SEDA(PropertyTerm="AW", FormName="powder filled vial",FormDescription="")
+NUMAW,
+/**
+ * assembly
+ *
+ **/
+ @SEDA(PropertyTerm="AY", FormName="assembly",FormDescription="")
+NUMAY,
+/**
+ * British thermal unit per pound
+ *
+ **/
+ @SEDA(PropertyTerm="AZ", FormName="British thermal unit per pound",FormDescription="")
+NUMAZ,
+/**
+ * Btu per cubic foot
+ *
+ **/
+ @SEDA(PropertyTerm="B0", FormName="Btu per cubic foot",FormDescription="")
+NUMB0,
+/**
+ * barrel (US) per day
+ *
+ **/
+ @SEDA(PropertyTerm="B1", FormName="barrel (US) per day",FormDescription="")
+NUMB1,
+/**
+ * bit per second
+ *
+ **/
+ @SEDA(PropertyTerm="B10", FormName="bit per second",FormDescription="")
+NUMB10,
+/**
+ * joule per kilogram kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="B11", FormName="joule per kilogram kelvin",FormDescription="")
+NUMB11,
+/**
+ * joule per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B12", FormName="joule per metre",FormDescription="")
+NUMB12,
+/**
+ * joule per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B13", FormName="joule per square metre",FormDescription="")
+NUMB13,
+/**
+ * joule per metre to the fourth power
+ *
+ **/
+ @SEDA(PropertyTerm="B14", FormName="joule per metre to the fourth power",FormDescription="")
+NUMB14,
+/**
+ * joule per mole
+ *
+ **/
+ @SEDA(PropertyTerm="B15", FormName="joule per mole",FormDescription="")
+NUMB15,
+/**
+ * joule per mole kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="B16", FormName="joule per mole kelvin",FormDescription="")
+NUMB16,
+/**
+ * credit
+ *
+ **/
+ @SEDA(PropertyTerm="B17", FormName="credit",FormDescription="")
+NUMB17,
+/**
+ * joule second
+ *
+ **/
+ @SEDA(PropertyTerm="B18", FormName="joule second",FormDescription="")
+NUMB18,
+/**
+ * digit
+ *
+ **/
+ @SEDA(PropertyTerm="B19", FormName="digit",FormDescription="")
+NUMB19,
+/**
+ * bunk
+ *
+ **/
+ @SEDA(PropertyTerm="B2", FormName="bunk",FormDescription="")
+NUMB2,
+/**
+ * joule square metre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="B20", FormName="joule square metre per kilogram",FormDescription="")
+NUMB20,
+/**
+ * kelvin per watt
+ *
+ **/
+ @SEDA(PropertyTerm="B21", FormName="kelvin per watt",FormDescription="")
+NUMB21,
+/**
+ * kiloampere
+ *
+ **/
+ @SEDA(PropertyTerm="B22", FormName="kiloampere",FormDescription="")
+NUMB22,
+/**
+ * kiloampere per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B23", FormName="kiloampere per square metre",FormDescription="")
+NUMB23,
+/**
+ * kiloampere per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B24", FormName="kiloampere per metre",FormDescription="")
+NUMB24,
+/**
+ * kilobecquerel per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="B25", FormName="kilobecquerel per kilogram",FormDescription="")
+NUMB25,
+/**
+ * kilocoulomb
+ *
+ **/
+ @SEDA(PropertyTerm="B26", FormName="kilocoulomb",FormDescription="")
+NUMB26,
+/**
+ * kilocoulomb per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="B27", FormName="kilocoulomb per cubic metre",FormDescription="")
+NUMB27,
+/**
+ * kilocoulomb per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B28", FormName="kilocoulomb per square metre",FormDescription="")
+NUMB28,
+/**
+ * kiloelectronvolt
+ *
+ **/
+ @SEDA(PropertyTerm="B29", FormName="kiloelectronvolt",FormDescription="")
+NUMB29,
+/**
+ * batting pound
+ *
+ **/
+ @SEDA(PropertyTerm="B3", FormName="batting pound",FormDescription="")
+NUMB3,
+/**
+ * gibibit
+ *
+ **/
+ @SEDA(PropertyTerm="B30", FormName="gibibit",FormDescription="")
+NUMB30,
+/**
+ * kilogram metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="B31", FormName="kilogram metre per second",FormDescription="")
+NUMB31,
+/**
+ * kilogram metre squared
+ *
+ **/
+ @SEDA(PropertyTerm="B32", FormName="kilogram metre squared",FormDescription="")
+NUMB32,
+/**
+ * kilogram metre squared per second
+ *
+ **/
+ @SEDA(PropertyTerm="B33", FormName="kilogram metre squared per second",FormDescription="")
+NUMB33,
+/**
+ * kilogram per cubic decimetre
+ *
+ **/
+ @SEDA(PropertyTerm="B34", FormName="kilogram per cubic decimetre",FormDescription="")
+NUMB34,
+/**
+ * kilogram per litre
+ *
+ **/
+ @SEDA(PropertyTerm="B35", FormName="kilogram per litre",FormDescription="")
+NUMB35,
+/**
+ * thermochemical calorie per gram
+ *
+ **/
+ @SEDA(PropertyTerm="B36", FormName="thermochemical calorie per gram",FormDescription="")
+NUMB36,
+/**
+ * kilogram-force
+ *
+ **/
+ @SEDA(PropertyTerm="B37", FormName="kilogram-force",FormDescription="")
+NUMB37,
+/**
+ * kilogram-force metre
+ *
+ **/
+ @SEDA(PropertyTerm="B38", FormName="kilogram-force metre",FormDescription="")
+NUMB38,
+/**
+ * kilogram-force metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="B39", FormName="kilogram-force metre per second",FormDescription="")
+NUMB39,
+/**
+ * barrel, imperial
+ *
+ **/
+ @SEDA(PropertyTerm="B4", FormName="barrel, imperial",FormDescription="")
+NUMB4,
+/**
+ * kilogram-force per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B40", FormName="kilogram-force per square metre",FormDescription="")
+NUMB40,
+/**
+ * kilojoule per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="B41", FormName="kilojoule per kelvin",FormDescription="")
+NUMB41,
+/**
+ * kilojoule per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="B42", FormName="kilojoule per kilogram",FormDescription="")
+NUMB42,
+/**
+ * kilojoule per kilogram kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="B43", FormName="kilojoule per kilogram kelvin",FormDescription="")
+NUMB43,
+/**
+ * kilojoule per mole
+ *
+ **/
+ @SEDA(PropertyTerm="B44", FormName="kilojoule per mole",FormDescription="")
+NUMB44,
+/**
+ * kilomole
+ *
+ **/
+ @SEDA(PropertyTerm="B45", FormName="kilomole",FormDescription="")
+NUMB45,
+/**
+ * kilomole per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="B46", FormName="kilomole per cubic metre",FormDescription="")
+NUMB46,
+/**
+ * kilonewton
+ *
+ **/
+ @SEDA(PropertyTerm="B47", FormName="kilonewton",FormDescription="")
+NUMB47,
+/**
+ * kilonewton metre
+ *
+ **/
+ @SEDA(PropertyTerm="B48", FormName="kilonewton metre",FormDescription="")
+NUMB48,
+/**
+ * kiloohm
+ *
+ **/
+ @SEDA(PropertyTerm="B49", FormName="kiloohm",FormDescription="")
+NUMB49,
+/**
+ * billet
+ *
+ **/
+ @SEDA(PropertyTerm="B5", FormName="billet",FormDescription="")
+NUMB5,
+/**
+ * kiloohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="B50", FormName="kiloohm metre",FormDescription="")
+NUMB50,
+/**
+ * kilopond
+ *
+ **/
+ @SEDA(PropertyTerm="B51", FormName="kilopond",FormDescription="")
+NUMB51,
+/**
+ * kilosecond
+ *
+ **/
+ @SEDA(PropertyTerm="B52", FormName="kilosecond",FormDescription="")
+NUMB52,
+/**
+ * kilosiemens
+ *
+ **/
+ @SEDA(PropertyTerm="B53", FormName="kilosiemens",FormDescription="")
+NUMB53,
+/**
+ * kilosiemens per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B54", FormName="kilosiemens per metre",FormDescription="")
+NUMB54,
+/**
+ * kilovolt per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B55", FormName="kilovolt per metre",FormDescription="")
+NUMB55,
+/**
+ * kiloweber per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B56", FormName="kiloweber per metre",FormDescription="")
+NUMB56,
+/**
+ * light year
+ *
+ **/
+ @SEDA(PropertyTerm="B57", FormName="light year",FormDescription="")
+NUMB57,
+/**
+ * litre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="B58", FormName="litre per mole",FormDescription="")
+NUMB58,
+/**
+ * lumen hour
+ *
+ **/
+ @SEDA(PropertyTerm="B59", FormName="lumen hour",FormDescription="")
+NUMB59,
+/**
+ * bun
+ *
+ **/
+ @SEDA(PropertyTerm="B6", FormName="bun",FormDescription="")
+NUMB6,
+/**
+ * lumen per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B60", FormName="lumen per square metre",FormDescription="")
+NUMB60,
+/**
+ * lumen per watt
+ *
+ **/
+ @SEDA(PropertyTerm="B61", FormName="lumen per watt",FormDescription="")
+NUMB61,
+/**
+ * lumen second
+ *
+ **/
+ @SEDA(PropertyTerm="B62", FormName="lumen second",FormDescription="")
+NUMB62,
+/**
+ * lux hour
+ *
+ **/
+ @SEDA(PropertyTerm="B63", FormName="lux hour",FormDescription="")
+NUMB63,
+/**
+ * lux second
+ *
+ **/
+ @SEDA(PropertyTerm="B64", FormName="lux second",FormDescription="")
+NUMB64,
+/**
+ * maxwell
+ *
+ **/
+ @SEDA(PropertyTerm="B65", FormName="maxwell",FormDescription="")
+NUMB65,
+/**
+ * megaampere per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B66", FormName="megaampere per square metre",FormDescription="")
+NUMB66,
+/**
+ * megabecquerel per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="B67", FormName="megabecquerel per kilogram",FormDescription="")
+NUMB67,
+/**
+ * gigabit
+ *
+ **/
+ @SEDA(PropertyTerm="B68", FormName="gigabit",FormDescription="")
+NUMB68,
+/**
+ * megacoulomb per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="B69", FormName="megacoulomb per cubic metre",FormDescription="")
+NUMB69,
+/**
+ * cycle
+ *
+ **/
+ @SEDA(PropertyTerm="B7", FormName="cycle",FormDescription="")
+NUMB7,
+/**
+ * megacoulomb per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B70", FormName="megacoulomb per square metre",FormDescription="")
+NUMB70,
+/**
+ * megaelectronvolt
+ *
+ **/
+ @SEDA(PropertyTerm="B71", FormName="megaelectronvolt",FormDescription="")
+NUMB71,
+/**
+ * megagram per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="B72", FormName="megagram per cubic metre",FormDescription="")
+NUMB72,
+/**
+ * meganewton
+ *
+ **/
+ @SEDA(PropertyTerm="B73", FormName="meganewton",FormDescription="")
+NUMB73,
+/**
+ * meganewton metre
+ *
+ **/
+ @SEDA(PropertyTerm="B74", FormName="meganewton metre",FormDescription="")
+NUMB74,
+/**
+ * megaohm
+ *
+ **/
+ @SEDA(PropertyTerm="B75", FormName="megaohm",FormDescription="")
+NUMB75,
+/**
+ * megaohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="B76", FormName="megaohm metre",FormDescription="")
+NUMB76,
+/**
+ * megasiemens per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B77", FormName="megasiemens per metre",FormDescription="")
+NUMB77,
+/**
+ * megavolt
+ *
+ **/
+ @SEDA(PropertyTerm="B78", FormName="megavolt",FormDescription="")
+NUMB78,
+/**
+ * megavolt per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B79", FormName="megavolt per metre",FormDescription="")
+NUMB79,
+/**
+ * joule per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="B8", FormName="joule per cubic metre",FormDescription="")
+NUMB8,
+/**
+ * gigabit per second
+ *
+ **/
+ @SEDA(PropertyTerm="B80", FormName="gigabit per second",FormDescription="")
+NUMB80,
+/**
+ * reciprocal metre squared reciprocal second
+ *
+ **/
+ @SEDA(PropertyTerm="B81", FormName="reciprocal metre squared reciprocal second",FormDescription="")
+NUMB81,
+/**
+ * inch per linear foot
+ *
+ **/
+ @SEDA(PropertyTerm="B82", FormName="inch per linear foot",FormDescription="")
+NUMB82,
+/**
+ * metre to the fourth power
+ *
+ **/
+ @SEDA(PropertyTerm="B83", FormName="metre to the fourth power",FormDescription="")
+NUMB83,
+/**
+ * microampere
+ *
+ **/
+ @SEDA(PropertyTerm="B84", FormName="microampere",FormDescription="")
+NUMB84,
+/**
+ * microbar
+ *
+ **/
+ @SEDA(PropertyTerm="B85", FormName="microbar",FormDescription="")
+NUMB85,
+/**
+ * microcoulomb
+ *
+ **/
+ @SEDA(PropertyTerm="B86", FormName="microcoulomb",FormDescription="")
+NUMB86,
+/**
+ * microcoulomb per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="B87", FormName="microcoulomb per cubic metre",FormDescription="")
+NUMB87,
+/**
+ * microcoulomb per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="B88", FormName="microcoulomb per square metre",FormDescription="")
+NUMB88,
+/**
+ * microfarad per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B89", FormName="microfarad per metre",FormDescription="")
+NUMB89,
+/**
+ * batt
+ *
+ **/
+ @SEDA(PropertyTerm="B9", FormName="batt",FormDescription="")
+NUMB9,
+/**
+ * microhenry
+ *
+ **/
+ @SEDA(PropertyTerm="B90", FormName="microhenry",FormDescription="")
+NUMB90,
+/**
+ * microhenry per metre
+ *
+ **/
+ @SEDA(PropertyTerm="B91", FormName="microhenry per metre",FormDescription="")
+NUMB91,
+/**
+ * micronewton
+ *
+ **/
+ @SEDA(PropertyTerm="B92", FormName="micronewton",FormDescription="")
+NUMB92,
+/**
+ * micronewton metre
+ *
+ **/
+ @SEDA(PropertyTerm="B93", FormName="micronewton metre",FormDescription="")
+NUMB93,
+/**
+ * microohm
+ *
+ **/
+ @SEDA(PropertyTerm="B94", FormName="microohm",FormDescription="")
+NUMB94,
+/**
+ * microohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="B95", FormName="microohm metre",FormDescription="")
+NUMB95,
+/**
+ * micropascal
+ *
+ **/
+ @SEDA(PropertyTerm="B96", FormName="micropascal",FormDescription="")
+NUMB96,
+/**
+ * microradian
+ *
+ **/
+ @SEDA(PropertyTerm="B97", FormName="microradian",FormDescription="")
+NUMB97,
+/**
+ * microsecond
+ *
+ **/
+ @SEDA(PropertyTerm="B98", FormName="microsecond",FormDescription="")
+NUMB98,
+/**
+ * microsiemens
+ *
+ **/
+ @SEDA(PropertyTerm="B99", FormName="microsiemens",FormDescription="")
+NUMB99,
+/**
+ * bar [unit of pressure]
+ *
+ **/
+ @SEDA(PropertyTerm="BAR", FormName="bar [unit of pressure]",FormDescription="")
+NUMBAR,
+/**
+ * base box
+ *
+ **/
+ @SEDA(PropertyTerm="BB", FormName="base box",FormDescription="")
+NUMBB,
+/**
+ * board
+ *
+ **/
+ @SEDA(PropertyTerm="BD", FormName="board",FormDescription="")
+NUMBD,
+/**
+ * bundle
+ *
+ **/
+ @SEDA(PropertyTerm="BE", FormName="bundle",FormDescription="")
+NUMBE,
+/**
+ * board foot
+ *
+ **/
+ @SEDA(PropertyTerm="BFT", FormName="board foot",FormDescription="")
+NUMBFT,
+/**
+ * bag
+ *
+ **/
+ @SEDA(PropertyTerm="BG", FormName="bag",FormDescription="")
+NUMBG,
+/**
+ * brush
+ *
+ **/
+ @SEDA(PropertyTerm="BH", FormName="brush",FormDescription="")
+NUMBH,
+/**
+ * brake horse power
+ *
+ **/
+ @SEDA(PropertyTerm="BHP", FormName="brake horse power",FormDescription="")
+NUMBHP,
+/**
+ * billion (EUR)
+ *
+ **/
+ @SEDA(PropertyTerm="BIL", FormName="billion (EUR)",FormDescription="")
+NUMBIL,
+/**
+ * bucket
+ *
+ **/
+ @SEDA(PropertyTerm="BJ", FormName="bucket",FormDescription="")
+NUMBJ,
+/**
+ * basket
+ *
+ **/
+ @SEDA(PropertyTerm="BK", FormName="basket",FormDescription="")
+NUMBK,
+/**
+ * bale
+ *
+ **/
+ @SEDA(PropertyTerm="BL", FormName="bale",FormDescription="")
+NUMBL,
+/**
+ * dry barrel (US)
+ *
+ **/
+ @SEDA(PropertyTerm="BLD", FormName="dry barrel (US)",FormDescription="")
+NUMBLD,
+/**
+ * barrel (US)
+ *
+ **/
+ @SEDA(PropertyTerm="BLL", FormName="barrel (US)",FormDescription="")
+NUMBLL,
+/**
+ * bottle
+ *
+ **/
+ @SEDA(PropertyTerm="BO", FormName="bottle",FormDescription="")
+NUMBO,
+/**
+ * hundred board feet
+ *
+ **/
+ @SEDA(PropertyTerm="BP", FormName="hundred board feet",FormDescription="")
+NUMBP,
+/**
+ * becquerel
+ *
+ **/
+ @SEDA(PropertyTerm="BQL", FormName="becquerel",FormDescription="")
+NUMBQL,
+/**
+ * bar [unit of packaging]
+ *
+ **/
+ @SEDA(PropertyTerm="BR", FormName="bar [unit of packaging]",FormDescription="")
+NUMBR,
+/**
+ * bolt
+ *
+ **/
+ @SEDA(PropertyTerm="BT", FormName="bolt",FormDescription="")
+NUMBT,
+/**
+ * British thermal unit
+ *
+ **/
+ @SEDA(PropertyTerm="BTU", FormName="British thermal unit",FormDescription="")
+NUMBTU,
+/**
+ * bushel (US)
+ *
+ **/
+ @SEDA(PropertyTerm="BUA", FormName="bushel (US)",FormDescription="")
+NUMBUA,
+/**
+ * bushel (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="BUI", FormName="bushel (UK)",FormDescription="")
+NUMBUI,
+/**
+ * base weight
+ *
+ **/
+ @SEDA(PropertyTerm="BW", FormName="base weight",FormDescription="")
+NUMBW,
+/**
+ * box
+ *
+ **/
+ @SEDA(PropertyTerm="BX", FormName="box",FormDescription="")
+NUMBX,
+/**
+ * million BTUs
+ *
+ **/
+ @SEDA(PropertyTerm="BZ", FormName="million BTUs",FormDescription="")
+NUMBZ,
+/**
+ * call
+ *
+ **/
+ @SEDA(PropertyTerm="C0", FormName="call",FormDescription="")
+NUMC0,
+/**
+ * composite product pound (total weight)
+ *
+ **/
+ @SEDA(PropertyTerm="C1", FormName="composite product pound (total weight)",FormDescription="")
+NUMC1,
+/**
+ * millifarad
+ *
+ **/
+ @SEDA(PropertyTerm="C10", FormName="millifarad",FormDescription="")
+NUMC10,
+/**
+ * milligal
+ *
+ **/
+ @SEDA(PropertyTerm="C11", FormName="milligal",FormDescription="")
+NUMC11,
+/**
+ * milligram per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C12", FormName="milligram per metre",FormDescription="")
+NUMC12,
+/**
+ * milligray
+ *
+ **/
+ @SEDA(PropertyTerm="C13", FormName="milligray",FormDescription="")
+NUMC13,
+/**
+ * millihenry
+ *
+ **/
+ @SEDA(PropertyTerm="C14", FormName="millihenry",FormDescription="")
+NUMC14,
+/**
+ * millijoule
+ *
+ **/
+ @SEDA(PropertyTerm="C15", FormName="millijoule",FormDescription="")
+NUMC15,
+/**
+ * millimetre per second
+ *
+ **/
+ @SEDA(PropertyTerm="C16", FormName="millimetre per second",FormDescription="")
+NUMC16,
+/**
+ * millimetre squared per second
+ *
+ **/
+ @SEDA(PropertyTerm="C17", FormName="millimetre squared per second",FormDescription="")
+NUMC17,
+/**
+ * millimole
+ *
+ **/
+ @SEDA(PropertyTerm="C18", FormName="millimole",FormDescription="")
+NUMC18,
+/**
+ * mole per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="C19", FormName="mole per kilogram",FormDescription="")
+NUMC19,
+/**
+ * carset
+ *
+ **/
+ @SEDA(PropertyTerm="C2", FormName="carset",FormDescription="")
+NUMC2,
+/**
+ * millinewton
+ *
+ **/
+ @SEDA(PropertyTerm="C20", FormName="millinewton",FormDescription="")
+NUMC20,
+/**
+ * kibibit
+ *
+ **/
+ @SEDA(PropertyTerm="C21", FormName="kibibit",FormDescription="")
+NUMC21,
+/**
+ * millinewton per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C22", FormName="millinewton per metre",FormDescription="")
+NUMC22,
+/**
+ * milliohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="C23", FormName="milliohm metre",FormDescription="")
+NUMC23,
+/**
+ * millipascal second
+ *
+ **/
+ @SEDA(PropertyTerm="C24", FormName="millipascal second",FormDescription="")
+NUMC24,
+/**
+ * milliradian
+ *
+ **/
+ @SEDA(PropertyTerm="C25", FormName="milliradian",FormDescription="")
+NUMC25,
+/**
+ * millisecond
+ *
+ **/
+ @SEDA(PropertyTerm="C26", FormName="millisecond",FormDescription="")
+NUMC26,
+/**
+ * millisiemens
+ *
+ **/
+ @SEDA(PropertyTerm="C27", FormName="millisiemens",FormDescription="")
+NUMC27,
+/**
+ * millisievert
+ *
+ **/
+ @SEDA(PropertyTerm="C28", FormName="millisievert",FormDescription="")
+NUMC28,
+/**
+ * millitesla
+ *
+ **/
+ @SEDA(PropertyTerm="C29", FormName="millitesla",FormDescription="")
+NUMC29,
+/**
+ * microvolt per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C3", FormName="microvolt per metre",FormDescription="")
+NUMC3,
+/**
+ * millivolt per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C30", FormName="millivolt per metre",FormDescription="")
+NUMC30,
+/**
+ * milliwatt
+ *
+ **/
+ @SEDA(PropertyTerm="C31", FormName="milliwatt",FormDescription="")
+NUMC31,
+/**
+ * milliwatt per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="C32", FormName="milliwatt per square metre",FormDescription="")
+NUMC32,
+/**
+ * milliweber
+ *
+ **/
+ @SEDA(PropertyTerm="C33", FormName="milliweber",FormDescription="")
+NUMC33,
+/**
+ * mole
+ *
+ **/
+ @SEDA(PropertyTerm="C34", FormName="mole",FormDescription="")
+NUMC34,
+/**
+ * mole per cubic decimetre
+ *
+ **/
+ @SEDA(PropertyTerm="C35", FormName="mole per cubic decimetre",FormDescription="")
+NUMC35,
+/**
+ * mole per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="C36", FormName="mole per cubic metre",FormDescription="")
+NUMC36,
+/**
+ * kilobit
+ *
+ **/
+ @SEDA(PropertyTerm="C37", FormName="kilobit",FormDescription="")
+NUMC37,
+/**
+ * mole per litre
+ *
+ **/
+ @SEDA(PropertyTerm="C38", FormName="mole per litre",FormDescription="")
+NUMC38,
+/**
+ * nanoampere
+ *
+ **/
+ @SEDA(PropertyTerm="C39", FormName="nanoampere",FormDescription="")
+NUMC39,
+/**
+ * carload
+ *
+ **/
+ @SEDA(PropertyTerm="C4", FormName="carload",FormDescription="")
+NUMC4,
+/**
+ * nanocoulomb
+ *
+ **/
+ @SEDA(PropertyTerm="C40", FormName="nanocoulomb",FormDescription="")
+NUMC40,
+/**
+ * nanofarad
+ *
+ **/
+ @SEDA(PropertyTerm="C41", FormName="nanofarad",FormDescription="")
+NUMC41,
+/**
+ * nanofarad per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C42", FormName="nanofarad per metre",FormDescription="")
+NUMC42,
+/**
+ * nanohenry
+ *
+ **/
+ @SEDA(PropertyTerm="C43", FormName="nanohenry",FormDescription="")
+NUMC43,
+/**
+ * nanohenry per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C44", FormName="nanohenry per metre",FormDescription="")
+NUMC44,
+/**
+ * nanometre
+ *
+ **/
+ @SEDA(PropertyTerm="C45", FormName="nanometre",FormDescription="")
+NUMC45,
+/**
+ * nanoohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="C46", FormName="nanoohm metre",FormDescription="")
+NUMC46,
+/**
+ * nanosecond
+ *
+ **/
+ @SEDA(PropertyTerm="C47", FormName="nanosecond",FormDescription="")
+NUMC47,
+/**
+ * nanotesla
+ *
+ **/
+ @SEDA(PropertyTerm="C48", FormName="nanotesla",FormDescription="")
+NUMC48,
+/**
+ * nanowatt
+ *
+ **/
+ @SEDA(PropertyTerm="C49", FormName="nanowatt",FormDescription="")
+NUMC49,
+/**
+ * cost
+ *
+ **/
+ @SEDA(PropertyTerm="C5", FormName="cost",FormDescription="")
+NUMC5,
+/**
+ * neper
+ *
+ **/
+ @SEDA(PropertyTerm="C50", FormName="neper",FormDescription="")
+NUMC50,
+/**
+ * neper per second
+ *
+ **/
+ @SEDA(PropertyTerm="C51", FormName="neper per second",FormDescription="")
+NUMC51,
+/**
+ * picometre
+ *
+ **/
+ @SEDA(PropertyTerm="C52", FormName="picometre",FormDescription="")
+NUMC52,
+/**
+ * newton metre second
+ *
+ **/
+ @SEDA(PropertyTerm="C53", FormName="newton metre second",FormDescription="")
+NUMC53,
+/**
+ * newton metre squared kilogram squared
+ *
+ **/
+ @SEDA(PropertyTerm="C54", FormName="newton metre squared kilogram squared",FormDescription="")
+NUMC54,
+/**
+ * newton per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="C55", FormName="newton per square metre",FormDescription="")
+NUMC55,
+/**
+ * newton per square millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="C56", FormName="newton per square millimetre",FormDescription="")
+NUMC56,
+/**
+ * newton second
+ *
+ **/
+ @SEDA(PropertyTerm="C57", FormName="newton second",FormDescription="")
+NUMC57,
+/**
+ * newton second per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C58", FormName="newton second per metre",FormDescription="")
+NUMC58,
+/**
+ * octave
+ *
+ **/
+ @SEDA(PropertyTerm="C59", FormName="octave",FormDescription="")
+NUMC59,
+/**
+ * cell
+ *
+ **/
+ @SEDA(PropertyTerm="C6", FormName="cell",FormDescription="")
+NUMC6,
+/**
+ * ohm centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="C60", FormName="ohm centimetre",FormDescription="")
+NUMC60,
+/**
+ * ohm metre
+ *
+ **/
+ @SEDA(PropertyTerm="C61", FormName="ohm metre",FormDescription="")
+NUMC61,
+/**
+ * one
+ *
+ **/
+ @SEDA(PropertyTerm="C62", FormName="one",FormDescription="")
+NUMC62,
+/**
+ * parsec
+ *
+ **/
+ @SEDA(PropertyTerm="C63", FormName="parsec",FormDescription="")
+NUMC63,
+/**
+ * pascal per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="C64", FormName="pascal per kelvin",FormDescription="")
+NUMC64,
+/**
+ * pascal second
+ *
+ **/
+ @SEDA(PropertyTerm="C65", FormName="pascal second",FormDescription="")
+NUMC65,
+/**
+ * pascal second per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="C66", FormName="pascal second per cubic metre",FormDescription="")
+NUMC66,
+/**
+ * pascal second per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C67", FormName="pascal second per metre",FormDescription="")
+NUMC67,
+/**
+ * petajoule
+ *
+ **/
+ @SEDA(PropertyTerm="C68", FormName="petajoule",FormDescription="")
+NUMC68,
+/**
+ * phon
+ *
+ **/
+ @SEDA(PropertyTerm="C69", FormName="phon",FormDescription="")
+NUMC69,
+/**
+ * centipoise
+ *
+ **/
+ @SEDA(PropertyTerm="C7", FormName="centipoise",FormDescription="")
+NUMC7,
+/**
+ * picoampere
+ *
+ **/
+ @SEDA(PropertyTerm="C70", FormName="picoampere",FormDescription="")
+NUMC70,
+/**
+ * picocoulomb
+ *
+ **/
+ @SEDA(PropertyTerm="C71", FormName="picocoulomb",FormDescription="")
+NUMC71,
+/**
+ * picofarad per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C72", FormName="picofarad per metre",FormDescription="")
+NUMC72,
+/**
+ * picohenry
+ *
+ **/
+ @SEDA(PropertyTerm="C73", FormName="picohenry",FormDescription="")
+NUMC73,
+/**
+ * kilobit per second
+ *
+ **/
+ @SEDA(PropertyTerm="C74", FormName="kilobit per second",FormDescription="")
+NUMC74,
+/**
+ * picowatt
+ *
+ **/
+ @SEDA(PropertyTerm="C75", FormName="picowatt",FormDescription="")
+NUMC75,
+/**
+ * picowatt per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="C76", FormName="picowatt per square metre",FormDescription="")
+NUMC76,
+/**
+ * pound gage
+ *
+ **/
+ @SEDA(PropertyTerm="C77", FormName="pound gage",FormDescription="")
+NUMC77,
+/**
+ * pound-force
+ *
+ **/
+ @SEDA(PropertyTerm="C78", FormName="pound-force",FormDescription="")
+NUMC78,
+/**
+ * kilovolt ampere hour
+ *
+ **/
+ @SEDA(PropertyTerm="C79", FormName="kilovolt ampere hour",FormDescription="")
+NUMC79,
+/**
+ * millicoulomb per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="C8", FormName="millicoulomb per kilogram",FormDescription="")
+NUMC8,
+/**
+ * rad
+ *
+ **/
+ @SEDA(PropertyTerm="C80", FormName="rad",FormDescription="")
+NUMC80,
+/**
+ * radian
+ *
+ **/
+ @SEDA(PropertyTerm="C81", FormName="radian",FormDescription="")
+NUMC81,
+/**
+ * radian square metre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="C82", FormName="radian square metre per mole",FormDescription="")
+NUMC82,
+/**
+ * radian square metre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="C83", FormName="radian square metre per kilogram",FormDescription="")
+NUMC83,
+/**
+ * radian per metre
+ *
+ **/
+ @SEDA(PropertyTerm="C84", FormName="radian per metre",FormDescription="")
+NUMC84,
+/**
+ * reciprocal angstrom
+ *
+ **/
+ @SEDA(PropertyTerm="C85", FormName="reciprocal angstrom",FormDescription="")
+NUMC85,
+/**
+ * reciprocal cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="C86", FormName="reciprocal cubic metre",FormDescription="")
+NUMC86,
+/**
+ * reciprocal cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="C87", FormName="reciprocal cubic metre per second",FormDescription="")
+NUMC87,
+/**
+ * reciprocal electron volt per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="C88", FormName="reciprocal electron volt per cubic metre",FormDescription="")
+NUMC88,
+/**
+ * reciprocal henry
+ *
+ **/
+ @SEDA(PropertyTerm="C89", FormName="reciprocal henry",FormDescription="")
+NUMC89,
+/**
+ * coil group
+ *
+ **/
+ @SEDA(PropertyTerm="C9", FormName="coil group",FormDescription="")
+NUMC9,
+/**
+ * reciprocal joule per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="C90", FormName="reciprocal joule per cubic metre",FormDescription="")
+NUMC90,
+/**
+ * reciprocal kelvin or kelvin to the power minus one
+ *
+ **/
+ @SEDA(PropertyTerm="C91", FormName="reciprocal kelvin or kelvin to the power minus one",FormDescription="")
+NUMC91,
+/**
+ * reciprocal metre
+ *
+ **/
+ @SEDA(PropertyTerm="C92", FormName="reciprocal metre",FormDescription="")
+NUMC92,
+/**
+ * reciprocal square metre
+ *
+ **/
+ @SEDA(PropertyTerm="C93", FormName="reciprocal square metre",FormDescription="")
+NUMC93,
+/**
+ * reciprocal minute
+ *
+ **/
+ @SEDA(PropertyTerm="C94", FormName="reciprocal minute",FormDescription="")
+NUMC94,
+/**
+ * reciprocal mole
+ *
+ **/
+ @SEDA(PropertyTerm="C95", FormName="reciprocal mole",FormDescription="")
+NUMC95,
+/**
+ * reciprocal pascal or pascal to the power minus one
+ *
+ **/
+ @SEDA(PropertyTerm="C96", FormName="reciprocal pascal or pascal to the power minus one",FormDescription="")
+NUMC96,
+/**
+ * reciprocal second
+ *
+ **/
+ @SEDA(PropertyTerm="C97", FormName="reciprocal second",FormDescription="")
+NUMC97,
+/**
+ * reciprocal second per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="C98", FormName="reciprocal second per cubic metre",FormDescription="")
+NUMC98,
+/**
+ * reciprocal second per metre squared
+ *
+ **/
+ @SEDA(PropertyTerm="C99", FormName="reciprocal second per metre squared",FormDescription="")
+NUMC99,
+/**
+ * can
+ *
+ **/
+ @SEDA(PropertyTerm="CA", FormName="can",FormDescription="")
+NUMCA,
+/**
+ * carrying capacity in metric ton
+ *
+ **/
+ @SEDA(PropertyTerm="CCT", FormName="carrying capacity in metric ton",FormDescription="")
+NUMCCT,
+/**
+ * candela
+ *
+ **/
+ @SEDA(PropertyTerm="CDL", FormName="candela",FormDescription="")
+NUMCDL,
+/**
+ * degree Celsius
+ *
+ **/
+ @SEDA(PropertyTerm="CEL", FormName="degree Celsius",FormDescription="")
+NUMCEL,
+/**
+ * hundred
+ *
+ **/
+ @SEDA(PropertyTerm="CEN", FormName="hundred",FormDescription="")
+NUMCEN,
+/**
+ * card
+ *
+ **/
+ @SEDA(PropertyTerm="CG", FormName="card",FormDescription="")
+NUMCG,
+/**
+ * centigram
+ *
+ **/
+ @SEDA(PropertyTerm="CGM", FormName="centigram",FormDescription="")
+NUMCGM,
+/**
+ * container
+ *
+ **/
+ @SEDA(PropertyTerm="CH", FormName="container",FormDescription="")
+NUMCH,
+/**
+ * cone
+ *
+ **/
+ @SEDA(PropertyTerm="CJ", FormName="cone",FormDescription="")
+NUMCJ,
+/**
+ * connector
+ *
+ **/
+ @SEDA(PropertyTerm="CK", FormName="connector",FormDescription="")
+NUMCK,
+/**
+ * coulomb per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="CKG", FormName="coulomb per kilogram",FormDescription="")
+NUMCKG,
+/**
+ * coil
+ *
+ **/
+ @SEDA(PropertyTerm="CL", FormName="coil",FormDescription="")
+NUMCL,
+/**
+ * hundred leave
+ *
+ **/
+ @SEDA(PropertyTerm="CLF", FormName="hundred leave",FormDescription="")
+NUMCLF,
+/**
+ * centilitre
+ *
+ **/
+ @SEDA(PropertyTerm="CLT", FormName="centilitre",FormDescription="")
+NUMCLT,
+/**
+ * square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="CMK", FormName="square centimetre",FormDescription="")
+NUMCMK,
+/**
+ * cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="CMQ", FormName="cubic centimetre",FormDescription="")
+NUMCMQ,
+/**
+ * centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="CMT", FormName="centimetre",FormDescription="")
+NUMCMT,
+/**
+ * hundred pack
+ *
+ **/
+ @SEDA(PropertyTerm="CNP", FormName="hundred pack",FormDescription="")
+NUMCNP,
+/**
+ * cental (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="CNT", FormName="cental (UK)",FormDescription="")
+NUMCNT,
+/**
+ * carboy
+ *
+ **/
+ @SEDA(PropertyTerm="CO", FormName="carboy",FormDescription="")
+NUMCO,
+/**
+ * coulomb
+ *
+ **/
+ @SEDA(PropertyTerm="COU", FormName="coulomb",FormDescription="")
+NUMCOU,
+/**
+ * cartridge
+ *
+ **/
+ @SEDA(PropertyTerm="CQ", FormName="cartridge",FormDescription="")
+NUMCQ,
+/**
+ * crate
+ *
+ **/
+ @SEDA(PropertyTerm="CR", FormName="crate",FormDescription="")
+NUMCR,
+/**
+ * case
+ *
+ **/
+ @SEDA(PropertyTerm="CS", FormName="case",FormDescription="")
+NUMCS,
+/**
+ * carton
+ *
+ **/
+ @SEDA(PropertyTerm="CT", FormName="carton",FormDescription="")
+NUMCT,
+/**
+ * content gram
+ *
+ **/
+ @SEDA(PropertyTerm="CTG", FormName="content gram",FormDescription="")
+NUMCTG,
+/**
+ * metric carat
+ *
+ **/
+ @SEDA(PropertyTerm="CTM", FormName="metric carat",FormDescription="")
+NUMCTM,
+/**
+ * content ton (metric)
+ *
+ **/
+ @SEDA(PropertyTerm="CTN", FormName="content ton (metric)",FormDescription="")
+NUMCTN,
+/**
+ * cup
+ *
+ **/
+ @SEDA(PropertyTerm="CU", FormName="cup",FormDescription="")
+NUMCU,
+/**
+ * curie
+ *
+ **/
+ @SEDA(PropertyTerm="CUR", FormName="curie",FormDescription="")
+NUMCUR,
+/**
+ * cover
+ *
+ **/
+ @SEDA(PropertyTerm="CV", FormName="cover",FormDescription="")
+NUMCV,
+/**
+ * hundred pounds (cwt) / hundred weight (US)
+ *
+ **/
+ @SEDA(PropertyTerm="CWA", FormName="hundred pounds (cwt) / hundred weight (US)",FormDescription="")
+NUMCWA,
+/**
+ * hundred weight (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="CWI", FormName="hundred weight (UK)",FormDescription="")
+NUMCWI,
+/**
+ * cylinder
+ *
+ **/
+ @SEDA(PropertyTerm="CY", FormName="cylinder",FormDescription="")
+NUMCY,
+/**
+ * combo
+ *
+ **/
+ @SEDA(PropertyTerm="CZ", FormName="combo",FormDescription="")
+NUMCZ,
+/**
+ * kilowatt hour per hour
+ *
+ **/
+ @SEDA(PropertyTerm="D03", FormName="kilowatt hour per hour",FormDescription="")
+NUMD03,
+/**
+ * lot [unit of weight]
+ *
+ **/
+ @SEDA(PropertyTerm="D04", FormName="lot [unit of weight]",FormDescription="")
+NUMD04,
+/**
+ * reciprocal second per steradian
+ *
+ **/
+ @SEDA(PropertyTerm="D1", FormName="reciprocal second per steradian",FormDescription="")
+NUMD1,
+/**
+ * siemens per metre
+ *
+ **/
+ @SEDA(PropertyTerm="D10", FormName="siemens per metre",FormDescription="")
+NUMD10,
+/**
+ * mebibit
+ *
+ **/
+ @SEDA(PropertyTerm="D11", FormName="mebibit",FormDescription="")
+NUMD11,
+/**
+ * siemens square metre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="D12", FormName="siemens square metre per mole",FormDescription="")
+NUMD12,
+/**
+ * sievert
+ *
+ **/
+ @SEDA(PropertyTerm="D13", FormName="sievert",FormDescription="")
+NUMD13,
+/**
+ * thousand linear yard
+ *
+ **/
+ @SEDA(PropertyTerm="D14", FormName="thousand linear yard",FormDescription="")
+NUMD14,
+/**
+ * sone
+ *
+ **/
+ @SEDA(PropertyTerm="D15", FormName="sone",FormDescription="")
+NUMD15,
+/**
+ * square centimetre per erg
+ *
+ **/
+ @SEDA(PropertyTerm="D16", FormName="square centimetre per erg",FormDescription="")
+NUMD16,
+/**
+ * square centimetre per steradian erg
+ *
+ **/
+ @SEDA(PropertyTerm="D17", FormName="square centimetre per steradian erg",FormDescription="")
+NUMD17,
+/**
+ * metre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D18", FormName="metre kelvin",FormDescription="")
+NUMD18,
+/**
+ * square metre kelvin per watt
+ *
+ **/
+ @SEDA(PropertyTerm="D19", FormName="square metre kelvin per watt",FormDescription="")
+NUMD19,
+/**
+ * reciprocal second per steradian metre squared
+ *
+ **/
+ @SEDA(PropertyTerm="D2", FormName="reciprocal second per steradian metre squared",FormDescription="")
+NUMD2,
+/**
+ * square metre per joule
+ *
+ **/
+ @SEDA(PropertyTerm="D20", FormName="square metre per joule",FormDescription="")
+NUMD20,
+/**
+ * square metre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="D21", FormName="square metre per kilogram",FormDescription="")
+NUMD21,
+/**
+ * square metre per mole
+ *
+ **/
+ @SEDA(PropertyTerm="D22", FormName="square metre per mole",FormDescription="")
+NUMD22,
+/**
+ * pen gram (protein)
+ *
+ **/
+ @SEDA(PropertyTerm="D23", FormName="pen gram (protein)",FormDescription="")
+NUMD23,
+/**
+ * square metre per steradian
+ *
+ **/
+ @SEDA(PropertyTerm="D24", FormName="square metre per steradian",FormDescription="")
+NUMD24,
+/**
+ * square metre per steradian joule
+ *
+ **/
+ @SEDA(PropertyTerm="D25", FormName="square metre per steradian joule",FormDescription="")
+NUMD25,
+/**
+ * square metre per volt second
+ *
+ **/
+ @SEDA(PropertyTerm="D26", FormName="square metre per volt second",FormDescription="")
+NUMD26,
+/**
+ * steradian
+ *
+ **/
+ @SEDA(PropertyTerm="D27", FormName="steradian",FormDescription="")
+NUMD27,
+/**
+ * syphon
+ *
+ **/
+ @SEDA(PropertyTerm="D28", FormName="syphon",FormDescription="")
+NUMD28,
+/**
+ * terahertz
+ *
+ **/
+ @SEDA(PropertyTerm="D29", FormName="terahertz",FormDescription="")
+NUMD29,
+/**
+ * terajoule
+ *
+ **/
+ @SEDA(PropertyTerm="D30", FormName="terajoule",FormDescription="")
+NUMD30,
+/**
+ * terawatt
+ *
+ **/
+ @SEDA(PropertyTerm="D31", FormName="terawatt",FormDescription="")
+NUMD31,
+/**
+ * terawatt hour
+ *
+ **/
+ @SEDA(PropertyTerm="D32", FormName="terawatt hour",FormDescription="")
+NUMD32,
+/**
+ * tesla
+ *
+ **/
+ @SEDA(PropertyTerm="D33", FormName="tesla",FormDescription="")
+NUMD33,
+/**
+ * tex
+ *
+ **/
+ @SEDA(PropertyTerm="D34", FormName="tex",FormDescription="")
+NUMD34,
+/**
+ * thermochemical calorie
+ *
+ **/
+ @SEDA(PropertyTerm="D35", FormName="thermochemical calorie",FormDescription="")
+NUMD35,
+/**
+ * megabit
+ *
+ **/
+ @SEDA(PropertyTerm="D36", FormName="megabit",FormDescription="")
+NUMD36,
+/**
+ * thermochemical calorie per gram kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D37", FormName="thermochemical calorie per gram kelvin",FormDescription="")
+NUMD37,
+/**
+ * thermochemical calorie per second centimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D38", FormName="thermochemical calorie per second centimetre kelvin",FormDescription="")
+NUMD38,
+/**
+ * thermochemical calorie per second square centimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D39", FormName="thermochemical calorie per second square centimetre kelvin",FormDescription="")
+NUMD39,
+/**
+ * thousand litre
+ *
+ **/
+ @SEDA(PropertyTerm="D40", FormName="thousand litre",FormDescription="")
+NUMD40,
+/**
+ * tonne per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="D41", FormName="tonne per cubic metre",FormDescription="")
+NUMD41,
+/**
+ * tropical year
+ *
+ **/
+ @SEDA(PropertyTerm="D42", FormName="tropical year",FormDescription="")
+NUMD42,
+/**
+ * unified atomic mass unit
+ *
+ **/
+ @SEDA(PropertyTerm="D43", FormName="unified atomic mass unit",FormDescription="")
+NUMD43,
+/**
+ * var
+ *
+ **/
+ @SEDA(PropertyTerm="D44", FormName="var",FormDescription="")
+NUMD44,
+/**
+ * volt squared per kelvin squared
+ *
+ **/
+ @SEDA(PropertyTerm="D45", FormName="volt squared per kelvin squared",FormDescription="")
+NUMD45,
+/**
+ * volt - ampere
+ *
+ **/
+ @SEDA(PropertyTerm="D46", FormName="volt - ampere",FormDescription="")
+NUMD46,
+/**
+ * volt per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="D47", FormName="volt per centimetre",FormDescription="")
+NUMD47,
+/**
+ * volt per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D48", FormName="volt per kelvin",FormDescription="")
+NUMD48,
+/**
+ * millivolt per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D49", FormName="millivolt per kelvin",FormDescription="")
+NUMD49,
+/**
+ * kilogram per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="D5", FormName="kilogram per square centimetre",FormDescription="")
+NUMD5,
+/**
+ * volt per metre
+ *
+ **/
+ @SEDA(PropertyTerm="D50", FormName="volt per metre",FormDescription="")
+NUMD50,
+/**
+ * volt per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="D51", FormName="volt per millimetre",FormDescription="")
+NUMD51,
+/**
+ * watt per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D52", FormName="watt per kelvin",FormDescription="")
+NUMD52,
+/**
+ * watt per metre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D53", FormName="watt per metre kelvin",FormDescription="")
+NUMD53,
+/**
+ * watt per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="D54", FormName="watt per square metre",FormDescription="")
+NUMD54,
+/**
+ * watt per square metre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D55", FormName="watt per square metre kelvin",FormDescription="")
+NUMD55,
+/**
+ * watt per square metre kelvin to the fourth power
+ *
+ **/
+ @SEDA(PropertyTerm="D56", FormName="watt per square metre kelvin to the fourth power",FormDescription="")
+NUMD56,
+/**
+ * watt per steradian
+ *
+ **/
+ @SEDA(PropertyTerm="D57", FormName="watt per steradian",FormDescription="")
+NUMD57,
+/**
+ * watt per steradian square metre
+ *
+ **/
+ @SEDA(PropertyTerm="D58", FormName="watt per steradian square metre",FormDescription="")
+NUMD58,
+/**
+ * weber per metre
+ *
+ **/
+ @SEDA(PropertyTerm="D59", FormName="weber per metre",FormDescription="")
+NUMD59,
+/**
+ * roentgen per second
+ *
+ **/
+ @SEDA(PropertyTerm="D6", FormName="roentgen per second",FormDescription="")
+NUMD6,
+/**
+ * weber per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="D60", FormName="weber per millimetre",FormDescription="")
+NUMD60,
+/**
+ * minute [unit of angle]
+ *
+ **/
+ @SEDA(PropertyTerm="D61", FormName="minute [unit of angle]",FormDescription="")
+NUMD61,
+/**
+ * second [unit of angle]
+ *
+ **/
+ @SEDA(PropertyTerm="D62", FormName="second [unit of angle]",FormDescription="")
+NUMD62,
+/**
+ * book
+ *
+ **/
+ @SEDA(PropertyTerm="D63", FormName="book",FormDescription="")
+NUMD63,
+/**
+ * block
+ *
+ **/
+ @SEDA(PropertyTerm="D64", FormName="block",FormDescription="")
+NUMD64,
+/**
+ * round
+ *
+ **/
+ @SEDA(PropertyTerm="D65", FormName="round",FormDescription="")
+NUMD65,
+/**
+ * cassette
+ *
+ **/
+ @SEDA(PropertyTerm="D66", FormName="cassette",FormDescription="")
+NUMD66,
+/**
+ * dollar per hour
+ *
+ **/
+ @SEDA(PropertyTerm="D67", FormName="dollar per hour",FormDescription="")
+NUMD67,
+/**
+ * number of words
+ *
+ **/
+ @SEDA(PropertyTerm="D68", FormName="number of words",FormDescription="")
+NUMD68,
+/**
+ * inch to the fourth power
+ *
+ **/
+ @SEDA(PropertyTerm="D69", FormName="inch to the fourth power",FormDescription="")
+NUMD69,
+/**
+ * sandwich
+ *
+ **/
+ @SEDA(PropertyTerm="D7", FormName="sandwich",FormDescription="")
+NUMD7,
+/**
+ * International Table (IT) calorie
+ *
+ **/
+ @SEDA(PropertyTerm="D70", FormName="International Table (IT) calorie",FormDescription="")
+NUMD70,
+/**
+ * International Table (IT) calorie per second centimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D71", FormName="International Table (IT) calorie per second centimetre kelvin",FormDescription="")
+NUMD71,
+/**
+ * International Table (IT) calorie per second square centimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D72", FormName="International Table (IT) calorie per second square centimetre kelvin",FormDescription="")
+NUMD72,
+/**
+ * joule square metre
+ *
+ **/
+ @SEDA(PropertyTerm="D73", FormName="joule square metre",FormDescription="")
+NUMD73,
+/**
+ * kilogram per mole
+ *
+ **/
+ @SEDA(PropertyTerm="D74", FormName="kilogram per mole",FormDescription="")
+NUMD74,
+/**
+ * International Table (IT)calorie per gram
+ *
+ **/
+ @SEDA(PropertyTerm="D75", FormName="International Table (IT)calorie per gram",FormDescription="")
+NUMD75,
+/**
+ * International Table (IT) calorie per gram kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="D76", FormName="International Table (IT) calorie per gram kelvin",FormDescription="")
+NUMD76,
+/**
+ * megacoulomb
+ *
+ **/
+ @SEDA(PropertyTerm="D77", FormName="megacoulomb",FormDescription="")
+NUMD77,
+/**
+ * megajoule per second
+ *
+ **/
+ @SEDA(PropertyTerm="D78", FormName="megajoule per second",FormDescription="")
+NUMD78,
+/**
+ * beam
+ *
+ **/
+ @SEDA(PropertyTerm="D79", FormName="beam",FormDescription="")
+NUMD79,
+/**
+ * draize score
+ *
+ **/
+ @SEDA(PropertyTerm="D8", FormName="draize score",FormDescription="")
+NUMD8,
+/**
+ * microwatt
+ *
+ **/
+ @SEDA(PropertyTerm="D80", FormName="microwatt",FormDescription="")
+NUMD80,
+/**
+ * microtesla
+ *
+ **/
+ @SEDA(PropertyTerm="D81", FormName="microtesla",FormDescription="")
+NUMD81,
+/**
+ * microvolt
+ *
+ **/
+ @SEDA(PropertyTerm="D82", FormName="microvolt",FormDescription="")
+NUMD82,
+/**
+ * millinewton metre
+ *
+ **/
+ @SEDA(PropertyTerm="D83", FormName="millinewton metre",FormDescription="")
+NUMD83,
+/**
+ * microwatt per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="D85", FormName="microwatt per square metre",FormDescription="")
+NUMD85,
+/**
+ * millicoulomb
+ *
+ **/
+ @SEDA(PropertyTerm="D86", FormName="millicoulomb",FormDescription="")
+NUMD86,
+/**
+ * millimole per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="D87", FormName="millimole per kilogram",FormDescription="")
+NUMD87,
+/**
+ * millicoulomb per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="D88", FormName="millicoulomb per cubic metre",FormDescription="")
+NUMD88,
+/**
+ * millicoulomb per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="D89", FormName="millicoulomb per square metre",FormDescription="")
+NUMD89,
+/**
+ * dyne per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="D9", FormName="dyne per square centimetre",FormDescription="")
+NUMD9,
+/**
+ * cubic metre (net)
+ *
+ **/
+ @SEDA(PropertyTerm="D90", FormName="cubic metre (net)",FormDescription="")
+NUMD90,
+/**
+ * rem
+ *
+ **/
+ @SEDA(PropertyTerm="D91", FormName="rem",FormDescription="")
+NUMD91,
+/**
+ * band
+ *
+ **/
+ @SEDA(PropertyTerm="D92", FormName="band",FormDescription="")
+NUMD92,
+/**
+ * second per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="D93", FormName="second per cubic metre",FormDescription="")
+NUMD93,
+/**
+ * second per radian cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="D94", FormName="second per radian cubic metre",FormDescription="")
+NUMD94,
+/**
+ * joule per gram
+ *
+ **/
+ @SEDA(PropertyTerm="D95", FormName="joule per gram",FormDescription="")
+NUMD95,
+/**
+ * pound gross
+ *
+ **/
+ @SEDA(PropertyTerm="D96", FormName="pound gross",FormDescription="")
+NUMD96,
+/**
+ * pallet/unit load
+ *
+ **/
+ @SEDA(PropertyTerm="D97", FormName="pallet/unit load",FormDescription="")
+NUMD97,
+/**
+ * mass pound
+ *
+ **/
+ @SEDA(PropertyTerm="D98", FormName="mass pound",FormDescription="")
+NUMD98,
+/**
+ * sleeve
+ *
+ **/
+ @SEDA(PropertyTerm="D99", FormName="sleeve",FormDescription="")
+NUMD99,
+/**
+ * decare
+ *
+ **/
+ @SEDA(PropertyTerm="DAA", FormName="decare",FormDescription="")
+NUMDAA,
+/**
+ * ten day
+ *
+ **/
+ @SEDA(PropertyTerm="DAD", FormName="ten day",FormDescription="")
+NUMDAD,
+/**
+ * day
+ *
+ **/
+ @SEDA(PropertyTerm="DAY", FormName="day",FormDescription="")
+NUMDAY,
+/**
+ * dry pound
+ *
+ **/
+ @SEDA(PropertyTerm="DB", FormName="dry pound",FormDescription="")
+NUMDB,
+/**
+ * disk (disc)
+ *
+ **/
+ @SEDA(PropertyTerm="DC", FormName="disk (disc)",FormDescription="")
+NUMDC,
+/**
+ * degree [unit of angle]
+ *
+ **/
+ @SEDA(PropertyTerm="DD", FormName="degree [unit of angle]",FormDescription="")
+NUMDD,
+/**
+ * deal
+ *
+ **/
+ @SEDA(PropertyTerm="DE", FormName="deal",FormDescription="")
+NUMDE,
+/**
+ * decade
+ *
+ **/
+ @SEDA(PropertyTerm="DEC", FormName="decade",FormDescription="")
+NUMDEC,
+/**
+ * decigram
+ *
+ **/
+ @SEDA(PropertyTerm="DG", FormName="decigram",FormDescription="")
+NUMDG,
+/**
+ * dispenser
+ *
+ **/
+ @SEDA(PropertyTerm="DI", FormName="dispenser",FormDescription="")
+NUMDI,
+/**
+ * decagram
+ *
+ **/
+ @SEDA(PropertyTerm="DJ", FormName="decagram",FormDescription="")
+NUMDJ,
+/**
+ * decilitre
+ *
+ **/
+ @SEDA(PropertyTerm="DLT", FormName="decilitre",FormDescription="")
+NUMDLT,
+/**
+ * cubic decametre
+ *
+ **/
+ @SEDA(PropertyTerm="DMA", FormName="cubic decametre",FormDescription="")
+NUMDMA,
+/**
+ * square decimetre
+ *
+ **/
+ @SEDA(PropertyTerm="DMK", FormName="square decimetre",FormDescription="")
+NUMDMK,
+/**
+ * standard kilolitre
+ *
+ **/
+ @SEDA(PropertyTerm="DMO", FormName="standard kilolitre",FormDescription="")
+NUMDMO,
+/**
+ * cubic decimetre
+ *
+ **/
+ @SEDA(PropertyTerm="DMQ", FormName="cubic decimetre",FormDescription="")
+NUMDMQ,
+/**
+ * decimetre
+ *
+ **/
+ @SEDA(PropertyTerm="DMT", FormName="decimetre",FormDescription="")
+NUMDMT,
+/**
+ * decinewton metre
+ *
+ **/
+ @SEDA(PropertyTerm="DN", FormName="decinewton metre",FormDescription="")
+NUMDN,
+/**
+ * dozen piece
+ *
+ **/
+ @SEDA(PropertyTerm="DPC", FormName="dozen piece",FormDescription="")
+NUMDPC,
+/**
+ * dozen pair
+ *
+ **/
+ @SEDA(PropertyTerm="DPR", FormName="dozen pair",FormDescription="")
+NUMDPR,
+/**
+ * displacement tonnage
+ *
+ **/
+ @SEDA(PropertyTerm="DPT", FormName="displacement tonnage",FormDescription="")
+NUMDPT,
+/**
+ * data record
+ *
+ **/
+ @SEDA(PropertyTerm="DQ", FormName="data record",FormDescription="")
+NUMDQ,
+/**
+ * drum
+ *
+ **/
+ @SEDA(PropertyTerm="DR", FormName="drum",FormDescription="")
+NUMDR,
+/**
+ * dram (US)
+ *
+ **/
+ @SEDA(PropertyTerm="DRA", FormName="dram (US)",FormDescription="")
+NUMDRA,
+/**
+ * dram (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="DRI", FormName="dram (UK)",FormDescription="")
+NUMDRI,
+/**
+ * dozen roll
+ *
+ **/
+ @SEDA(PropertyTerm="DRL", FormName="dozen roll",FormDescription="")
+NUMDRL,
+/**
+ * drachm (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="DRM", FormName="drachm (UK)",FormDescription="")
+NUMDRM,
+/**
+ * display
+ *
+ **/
+ @SEDA(PropertyTerm="DS", FormName="display",FormDescription="")
+NUMDS,
+/**
+ * dry ton
+ *
+ **/
+ @SEDA(PropertyTerm="DT", FormName="dry ton",FormDescription="")
+NUMDT,
+/**
+ * decitonne
+ *
+ **/
+ @SEDA(PropertyTerm="DTN", FormName="decitonne",FormDescription="")
+NUMDTN,
+/**
+ * dyne
+ *
+ **/
+ @SEDA(PropertyTerm="DU", FormName="dyne",FormDescription="")
+NUMDU,
+/**
+ * pennyweight
+ *
+ **/
+ @SEDA(PropertyTerm="DWT", FormName="pennyweight",FormDescription="")
+NUMDWT,
+/**
+ * dyne per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="DX", FormName="dyne per centimetre",FormDescription="")
+NUMDX,
+/**
+ * directory book
+ *
+ **/
+ @SEDA(PropertyTerm="DY", FormName="directory book",FormDescription="")
+NUMDY,
+/**
+ * dozen
+ *
+ **/
+ @SEDA(PropertyTerm="DZN", FormName="dozen",FormDescription="")
+NUMDZN,
+/**
+ * dozen pack
+ *
+ **/
+ @SEDA(PropertyTerm="DZP", FormName="dozen pack",FormDescription="")
+NUMDZP,
+/**
+ * newton per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="E01", FormName="newton per square centimetre",FormDescription="")
+NUME01,
+/**
+ * megawatt hour per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E07", FormName="megawatt hour per hour",FormDescription="")
+NUME07,
+/**
+ * megawatt per hertz
+ *
+ **/
+ @SEDA(PropertyTerm="E08", FormName="megawatt per hertz",FormDescription="")
+NUME08,
+/**
+ * milliampere hour
+ *
+ **/
+ @SEDA(PropertyTerm="E09", FormName="milliampere hour",FormDescription="")
+NUME09,
+/**
+ * degree day
+ *
+ **/
+ @SEDA(PropertyTerm="E10", FormName="degree day",FormDescription="")
+NUME10,
+/**
+ * gigacalorie
+ *
+ **/
+ @SEDA(PropertyTerm="E11", FormName="gigacalorie",FormDescription="")
+NUME11,
+/**
+ * mille
+ *
+ **/
+ @SEDA(PropertyTerm="E12", FormName="mille",FormDescription="")
+NUME12,
+/**
+ * kilocalorie (IT)
+ *
+ **/
+ @SEDA(PropertyTerm="E14", FormName="kilocalorie (IT)",FormDescription="")
+NUME14,
+/**
+ * kilocalorie (TH) per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E15", FormName="kilocalorie (TH) per hour",FormDescription="")
+NUME15,
+/**
+ * million Btu(IT) per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E16", FormName="million Btu(IT) per hour",FormDescription="")
+NUME16,
+/**
+ * cubic foot per second
+ *
+ **/
+ @SEDA(PropertyTerm="E17", FormName="cubic foot per second",FormDescription="")
+NUME17,
+/**
+ * tonne per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E18", FormName="tonne per hour",FormDescription="")
+NUME18,
+/**
+ * ping
+ *
+ **/
+ @SEDA(PropertyTerm="E19", FormName="ping",FormDescription="")
+NUME19,
+/**
+ * belt
+ *
+ **/
+ @SEDA(PropertyTerm="E2", FormName="belt",FormDescription="")
+NUME2,
+/**
+ * megabit per second
+ *
+ **/
+ @SEDA(PropertyTerm="E20", FormName="megabit per second",FormDescription="")
+NUME20,
+/**
+ * shares
+ *
+ **/
+ @SEDA(PropertyTerm="E21", FormName="shares",FormDescription="")
+NUME21,
+/**
+ * TEU
+ *
+ **/
+ @SEDA(PropertyTerm="E22", FormName="TEU",FormDescription="")
+NUME22,
+/**
+ * tyre
+ *
+ **/
+ @SEDA(PropertyTerm="E23", FormName="tyre",FormDescription="")
+NUME23,
+/**
+ * active unit
+ *
+ **/
+ @SEDA(PropertyTerm="E25", FormName="active unit",FormDescription="")
+NUME25,
+/**
+ * dose
+ *
+ **/
+ @SEDA(PropertyTerm="E27", FormName="dose",FormDescription="")
+NUME27,
+/**
+ * air dry ton
+ *
+ **/
+ @SEDA(PropertyTerm="E28", FormName="air dry ton",FormDescription="")
+NUME28,
+/**
+ * trailer
+ *
+ **/
+ @SEDA(PropertyTerm="E3", FormName="trailer",FormDescription="")
+NUME3,
+/**
+ * strand
+ *
+ **/
+ @SEDA(PropertyTerm="E30", FormName="strand",FormDescription="")
+NUME30,
+/**
+ * square metre per litre
+ *
+ **/
+ @SEDA(PropertyTerm="E31", FormName="square metre per litre",FormDescription="")
+NUME31,
+/**
+ * litre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E32", FormName="litre per hour",FormDescription="")
+NUME32,
+/**
+ * foot per thousand
+ *
+ **/
+ @SEDA(PropertyTerm="E33", FormName="foot per thousand",FormDescription="")
+NUME33,
+/**
+ * gigabyte
+ *
+ **/
+ @SEDA(PropertyTerm="E34", FormName="gigabyte",FormDescription="")
+NUME34,
+/**
+ * terabyte
+ *
+ **/
+ @SEDA(PropertyTerm="E35", FormName="terabyte",FormDescription="")
+NUME35,
+/**
+ * petabyte
+ *
+ **/
+ @SEDA(PropertyTerm="E36", FormName="petabyte",FormDescription="")
+NUME36,
+/**
+ * pixel
+ *
+ **/
+ @SEDA(PropertyTerm="E37", FormName="pixel",FormDescription="")
+NUME37,
+/**
+ * megapixel
+ *
+ **/
+ @SEDA(PropertyTerm="E38", FormName="megapixel",FormDescription="")
+NUME38,
+/**
+ * dots per inch
+ *
+ **/
+ @SEDA(PropertyTerm="E39", FormName="dots per inch",FormDescription="")
+NUME39,
+/**
+ * gross kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="E4", FormName="gross kilogram",FormDescription="")
+NUME4,
+/**
+ * part per hundred thousand
+ *
+ **/
+ @SEDA(PropertyTerm="E40", FormName="part per hundred thousand",FormDescription="")
+NUME40,
+/**
+ * kilogram force per square millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="E41", FormName="kilogram force per square millimetre",FormDescription="")
+NUME41,
+/**
+ * kilogram force per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="E42", FormName="kilogram force per square centimetre",FormDescription="")
+NUME42,
+/**
+ * joule per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="E43", FormName="joule per square centimetre",FormDescription="")
+NUME43,
+/**
+ * kilogram-force metre per square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="E44", FormName="kilogram-force metre per square centimetre",FormDescription="")
+NUME44,
+/**
+ * milliohm
+ *
+ **/
+ @SEDA(PropertyTerm="E45", FormName="milliohm",FormDescription="")
+NUME45,
+/**
+ * kilowatt hour per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E46", FormName="kilowatt hour per cubic metre",FormDescription="")
+NUME46,
+/**
+ * kilowatt hour per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="E47", FormName="kilowatt hour per kelvin",FormDescription="")
+NUME47,
+/**
+ * service unit
+ *
+ **/
+ @SEDA(PropertyTerm="E48", FormName="service unit",FormDescription="")
+NUME48,
+/**
+ * working day
+ *
+ **/
+ @SEDA(PropertyTerm="E49", FormName="working day",FormDescription="")
+NUME49,
+/**
+ * metric long ton
+ *
+ **/
+ @SEDA(PropertyTerm="E5", FormName="metric long ton",FormDescription="")
+NUME5,
+/**
+ * accounting unit
+ *
+ **/
+ @SEDA(PropertyTerm="E50", FormName="accounting unit",FormDescription="")
+NUME50,
+/**
+ * job
+ *
+ **/
+ @SEDA(PropertyTerm="E51", FormName="job",FormDescription="")
+NUME51,
+/**
+ * run foot
+ *
+ **/
+ @SEDA(PropertyTerm="E52", FormName="run foot",FormDescription="")
+NUME52,
+/**
+ * test
+ *
+ **/
+ @SEDA(PropertyTerm="E53", FormName="test",FormDescription="")
+NUME53,
+/**
+ * trip
+ *
+ **/
+ @SEDA(PropertyTerm="E54", FormName="trip",FormDescription="")
+NUME54,
+/**
+ * use
+ *
+ **/
+ @SEDA(PropertyTerm="E55", FormName="use",FormDescription="")
+NUME55,
+/**
+ * well
+ *
+ **/
+ @SEDA(PropertyTerm="E56", FormName="well",FormDescription="")
+NUME56,
+/**
+ * zone
+ *
+ **/
+ @SEDA(PropertyTerm="E57", FormName="zone",FormDescription="")
+NUME57,
+/**
+ * exabit per second
+ *
+ **/
+ @SEDA(PropertyTerm="E58", FormName="exabit per second",FormDescription="")
+NUME58,
+/**
+ * exbibyte
+ *
+ **/
+ @SEDA(PropertyTerm="E59", FormName="exbibyte",FormDescription="")
+NUME59,
+/**
+ * pebibyte
+ *
+ **/
+ @SEDA(PropertyTerm="E60", FormName="pebibyte",FormDescription="")
+NUME60,
+/**
+ * tebibyte
+ *
+ **/
+ @SEDA(PropertyTerm="E61", FormName="tebibyte",FormDescription="")
+NUME61,
+/**
+ * gibibyte
+ *
+ **/
+ @SEDA(PropertyTerm="E62", FormName="gibibyte",FormDescription="")
+NUME62,
+/**
+ * mebibyte
+ *
+ **/
+ @SEDA(PropertyTerm="E63", FormName="mebibyte",FormDescription="")
+NUME63,
+/**
+ * kibibyte
+ *
+ **/
+ @SEDA(PropertyTerm="E64", FormName="kibibyte",FormDescription="")
+NUME64,
+/**
+ * exbibit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E65", FormName="exbibit per metre",FormDescription="")
+NUME65,
+/**
+ * exbibit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E66", FormName="exbibit per square metre",FormDescription="")
+NUME66,
+/**
+ * exbibit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E67", FormName="exbibit per cubic metre",FormDescription="")
+NUME67,
+/**
+ * gigabyte per second
+ *
+ **/
+ @SEDA(PropertyTerm="E68", FormName="gigabyte per second",FormDescription="")
+NUME68,
+/**
+ * gibibit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E69", FormName="gibibit per metre",FormDescription="")
+NUME69,
+/**
+ * gibibit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E70", FormName="gibibit per square metre",FormDescription="")
+NUME70,
+/**
+ * gibibit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E71", FormName="gibibit per cubic metre",FormDescription="")
+NUME71,
+/**
+ * kibibit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E72", FormName="kibibit per metre",FormDescription="")
+NUME72,
+ /**
+ * kibibit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E73", FormName="kibibit per square metre",FormDescription="")
+ NUME73,
+ /**
+ * kibibit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E74", FormName="kibibit per cubic metre",FormDescription="")
+ NUME74,
+ /**
+ * mebibit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E75", FormName="mebibit per metre",FormDescription="")
+ NUME75,
+ /**
+ * mebibit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E76", FormName="mebibit per square metre",FormDescription="")
+ NUME76,
+ /**
+ * mebibit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E77", FormName="mebibit per cubic metre",FormDescription="")
+ NUME77,
+ /**
+ * petabit
+ *
+ **/
+ @SEDA(PropertyTerm="E78", FormName="petabit",FormDescription="")
+ NUME78,
+ /**
+ * petabit per second
+ *
+ **/
+ @SEDA(PropertyTerm="E79", FormName="petabit per second",FormDescription="")
+ NUME79,
+ /**
+ * pebibit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E80", FormName="pebibit per metre",FormDescription="")
+ NUME80,
+ /**
+ * pebibit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E81", FormName="pebibit per square metre",FormDescription="")
+ NUME81,
+ /**
+ * pebibit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E82", FormName="pebibit per cubic metre",FormDescription="")
+ NUME82,
+ /**
+ * terabit
+ *
+ **/
+ @SEDA(PropertyTerm="E83", FormName="terabit",FormDescription="")
+ NUME83,
+ /**
+ * terabit per second
+ *
+ **/
+ @SEDA(PropertyTerm="E84", FormName="terabit per second",FormDescription="")
+ NUME84,
+ /**
+ * tebibit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E85", FormName="tebibit per metre",FormDescription="")
+ NUME85,
+ /**
+ * tebibit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="E86", FormName="tebibit per cubic metre",FormDescription="")
+ NUME86,
+ /**
+ * tebibit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E87", FormName="tebibit per square metre",FormDescription="")
+ NUME87,
+ /**
+ * bit per metre
+ *
+ **/
+ @SEDA(PropertyTerm="E88", FormName="bit per metre",FormDescription="")
+ NUME88,
+ /**
+ * bit per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="E89", FormName="bit per square metre",FormDescription="")
+ NUME89,
+ /**
+ * reciprocal centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="E90", FormName="reciprocal centimetre",FormDescription="")
+ NUME90,
+ /**
+ * reciprocal day
+ *
+ **/
+ @SEDA(PropertyTerm="E91", FormName="reciprocal day",FormDescription="")
+ NUME91,
+ /**
+ * cubic decimetre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E92", FormName="cubic decimetre per hour",FormDescription="")
+ NUME92,
+ /**
+ * kilogram per hour
+ *
+ **/
+ @SEDA(PropertyTerm="E93", FormName="kilogram per hour",FormDescription="")
+ NUME93,
+ /**
+ * kilomole per second
+ *
+ **/
+ @SEDA(PropertyTerm="E94", FormName="kilomole per second",FormDescription="")
+ NUME94,
+ /**
+ * mole per second
+ *
+ **/
+ @SEDA(PropertyTerm="E95", FormName="mole per second",FormDescription="")
+ NUME95,
+ /**
+ * degree per second
+ *
+ **/
+ @SEDA(PropertyTerm="E96", FormName="degree per second",FormDescription="")
+ NUME96,
+ /**
+ * millimetre per degree Celcius metre
+ *
+ **/
+ @SEDA(PropertyTerm="E97", FormName="millimetre per degree Celcius metre",FormDescription="")
+ NUME97,
+ /**
+ * degree celsius per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="E98", FormName="degree celsius per kelvin",FormDescription="")
+ NUME98,
+ /**
+ * hektopascal per bar
+ *
+ **/
+ @SEDA(PropertyTerm="E99", FormName="hektopascal per bar",FormDescription="")
+ NUME99,
+ /**
+ * each
+ *
+ **/
+ @SEDA(PropertyTerm="EA", FormName="each",FormDescription="")
+ NUMEA,
+ /**
+ * electronic mail box
+ *
+ **/
+ @SEDA(PropertyTerm="EB", FormName="electronic mail box",FormDescription="")
+ NUMEB,
+ /**
+ * each per month
+ *
+ **/
+ @SEDA(PropertyTerm="EC", FormName="each per month",FormDescription="")
+ NUMEC,
+ /**
+ * eleven pack
+ *
+ **/
+ @SEDA(PropertyTerm="EP", FormName="eleven pack",FormDescription="")
+ NUMEP,
+ /**
+ * equivalent gallon
+ *
+ **/
+ @SEDA(PropertyTerm="EQ", FormName="equivalent gallon",FormDescription="")
+ NUMEQ,
+ /**
+ * envelope
+ *
+ **/
+ @SEDA(PropertyTerm="EV", FormName="envelope",FormDescription="")
+ NUMEV,
+ /**
+ * bit per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="F01", FormName="bit per cubic metre",FormDescription="")
+ NUMF01,
+ /**
+ * kelvin per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F02", FormName="kelvin per kelvin",FormDescription="")
+ NUMF02,
+ /**
+ * kilopascal per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F03", FormName="kilopascal per bar",FormDescription="")
+ NUMF03,
+ /**
+ * millibar per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F04", FormName="millibar per bar",FormDescription="")
+ NUMF04,
+ /**
+ * megapascal per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F05", FormName="megapascal per bar",FormDescription="")
+ NUMF05,
+ /**
+ * poise per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F06", FormName="poise per bar",FormDescription="")
+ NUMF06,
+ /**
+ * pascal per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F07", FormName="pascal per bar",FormDescription="")
+ NUMF07,
+ /**
+ * milliampere per inch
+ *
+ **/
+ @SEDA(PropertyTerm="F08", FormName="milliampere per inch",FormDescription="")
+ NUMF08,
+ /**
+ * thousand cubic feet per day
+ *
+ **/
+ @SEDA(PropertyTerm="F1", FormName="thousand cubic feet per day",FormDescription="")
+ NUMF1,
+ /**
+ * kelvin per hour
+ *
+ **/
+ @SEDA(PropertyTerm="F10", FormName="kelvin per hour",FormDescription="")
+ NUMF10,
+ /**
+ * kelvin per minute
+ *
+ **/
+ @SEDA(PropertyTerm="F11", FormName="kelvin per minute",FormDescription="")
+ NUMF11,
+ /**
+ * kelvin per second
+ *
+ **/
+ @SEDA(PropertyTerm="F12", FormName="kelvin per second",FormDescription="")
+ NUMF12,
+ /**
+ * slug
+ *
+ **/
+ @SEDA(PropertyTerm="F13", FormName="slug",FormDescription="")
+ NUMF13,
+ /**
+ * gram per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F14", FormName="gram per kelvin",FormDescription="")
+ NUMF14,
+ /**
+ * kilogram per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F15", FormName="kilogram per kelvin",FormDescription="")
+ NUMF15,
+ /**
+ * milligram per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F16", FormName="milligram per kelvin",FormDescription="")
+ NUMF16,
+ /**
+ * pound-force per foot
+ *
+ **/
+ @SEDA(PropertyTerm="F17", FormName="pound-force per foot",FormDescription="")
+ NUMF17,
+ /**
+ * kilogram square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="F18", FormName="kilogram square centimetre",FormDescription="")
+ NUMF18,
+ /**
+ * kilogram square millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="F19", FormName="kilogram square millimetre",FormDescription="")
+ NUMF19,
+ /**
+ * pound inch squared
+ *
+ **/
+ @SEDA(PropertyTerm="F20", FormName="pound inch squared",FormDescription="")
+ NUMF20,
+ /**
+ * pound-force inch
+ *
+ **/
+ @SEDA(PropertyTerm="F21", FormName="pound-force inch",FormDescription="")
+ NUMF21,
+ /**
+ * pound-force foot per ampere
+ *
+ **/
+ @SEDA(PropertyTerm="F22", FormName="pound-force foot per ampere",FormDescription="")
+ NUMF22,
+ /**
+ * gram per cubic decimetre
+ *
+ **/
+ @SEDA(PropertyTerm="F23", FormName="gram per cubic decimetre",FormDescription="")
+ NUMF23,
+ /**
+ * kilogram per kilomol
+ *
+ **/
+ @SEDA(PropertyTerm="F24", FormName="kilogram per kilomol",FormDescription="")
+ NUMF24,
+ /**
+ * gram per hertz
+ *
+ **/
+ @SEDA(PropertyTerm="F25", FormName="gram per hertz",FormDescription="")
+ NUMF25,
+ /**
+ * gram per day
+ *
+ **/
+ @SEDA(PropertyTerm="F26", FormName="gram per day",FormDescription="")
+ NUMF26,
+ /**
+ * gram per hour
+ *
+ **/
+ @SEDA(PropertyTerm="F27", FormName="gram per hour",FormDescription="")
+ NUMF27,
+ /**
+ * gram per minute
+ *
+ **/
+ @SEDA(PropertyTerm="F28", FormName="gram per minute",FormDescription="")
+ NUMF28,
+ /**
+ * gram per second
+ *
+ **/
+ @SEDA(PropertyTerm="F29", FormName="gram per second",FormDescription="")
+ NUMF29,
+ /**
+ * kilogram per day
+ *
+ **/
+ @SEDA(PropertyTerm="F30", FormName="kilogram per day",FormDescription="")
+ NUMF30,
+ /**
+ * kilogram per minute
+ *
+ **/
+ @SEDA(PropertyTerm="F31", FormName="kilogram per minute",FormDescription="")
+ NUMF31,
+ /**
+ * milligram per day
+ *
+ **/
+ @SEDA(PropertyTerm="F32", FormName="milligram per day",FormDescription="")
+ NUMF32,
+ /**
+ * milligram per minute
+ *
+ **/
+ @SEDA(PropertyTerm="F33", FormName="milligram per minute",FormDescription="")
+ NUMF33,
+ /**
+ * milligram per second
+ *
+ **/
+ @SEDA(PropertyTerm="F34", FormName="milligram per second",FormDescription="")
+ NUMF34,
+ /**
+ * gram per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F35", FormName="gram per day kelvin",FormDescription="")
+ NUMF35,
+ /**
+ * gram per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F36", FormName="gram per hour kelvin",FormDescription="")
+ NUMF36,
+ /**
+ * gram per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F37", FormName="gram per minute kelvin",FormDescription="")
+ NUMF37,
+ /**
+ * gram per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F38", FormName="gram per second kelvin",FormDescription="")
+ NUMF38,
+ /**
+ * kilogram per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F39", FormName="kilogram per day kelvin",FormDescription="")
+ NUMF39,
+ /**
+ * kilogram per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F40", FormName="kilogram per hour kelvin",FormDescription="")
+ NUMF40,
+ /**
+ * kilogram per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F41", FormName="kilogram per minute kelvin",FormDescription="")
+ NUMF41,
+ /**
+ * kilogram per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F42", FormName="kilogram per second kelvin",FormDescription="")
+ NUMF42,
+ /**
+ * milligram per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F43", FormName="milligram per day kelvin",FormDescription="")
+ NUMF43,
+ /**
+ * milligram per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F44", FormName="milligram per hour kelvin",FormDescription="")
+ NUMF44,
+ /**
+ * milligram per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F45", FormName="milligram per minute kelvin",FormDescription="")
+ NUMF45,
+ /**
+ * milligram per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F46", FormName="milligram per second kelvin",FormDescription="")
+ NUMF46,
+ /**
+ * newton per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="F47", FormName="newton per millimetre",FormDescription="")
+ NUMF47,
+ /**
+ * pound-force per inch
+ *
+ **/
+ @SEDA(PropertyTerm="F48", FormName="pound-force per inch",FormDescription="")
+ NUMF48,
+ /**
+ * rod [unit of distance]
+ *
+ **/
+ @SEDA(PropertyTerm="F49", FormName="rod [unit of distance]",FormDescription="")
+ NUMF49,
+ /**
+ * micrometre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F50", FormName="micrometre per kelvin",FormDescription="")
+ NUMF50,
+ /**
+ * centimetre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F51", FormName="centimetre per kelvin",FormDescription="")
+ NUMF51,
+ /**
+ * metre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F52", FormName="metre per kelvin",FormDescription="")
+ NUMF52,
+ /**
+ * millimetre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F53", FormName="millimetre per kelvin",FormDescription="")
+ NUMF53,
+ /**
+ * milliohm per metre
+ *
+ **/
+ @SEDA(PropertyTerm="F54", FormName="milliohm per metre",FormDescription="")
+ NUMF54,
+ /**
+ * ohm per mile
+ *
+ **/
+ @SEDA(PropertyTerm="F55", FormName="ohm per mile",FormDescription="")
+ NUMF55,
+ /**
+ * ohm per kilometre
+ *
+ **/
+ @SEDA(PropertyTerm="F56", FormName="ohm per kilometre",FormDescription="")
+ NUMF56,
+ /**
+ * milliampere per pound-force per square inch
+ *
+ **/
+ @SEDA(PropertyTerm="F57", FormName="milliampere per pound-force per square inch",FormDescription="")
+ NUMF57,
+ /**
+ * reciprocal bar
+ *
+ **/
+ @SEDA(PropertyTerm="F58", FormName="reciprocal bar",FormDescription="")
+ NUMF58,
+ /**
+ * milliampere per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F59", FormName="milliampere per bar",FormDescription="")
+ NUMF59,
+ /**
+ * degree Celsius per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F60", FormName="degree Celsius per bar",FormDescription="")
+ NUMF60,
+ /**
+ * kelvin per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F61", FormName="kelvin per bar",FormDescription="")
+ NUMF61,
+ /**
+ * gram per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="F62", FormName="gram per day bar",FormDescription="")
+ NUMF62,
+ /**
+ * gram per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="F63", FormName="gram per hour bar",FormDescription="")
+ NUMF63,
+ /**
+ * gram per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="F64", FormName="gram per minute bar",FormDescription="")
+ NUMF64,
+ /**
+ * gram per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="F65", FormName="gram per second bar",FormDescription="")
+ NUMF65,
+ /**
+ * kilogram per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="F66", FormName="kilogram per day bar",FormDescription="")
+ NUMF66,
+ /**
+ * kilogram per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="F67", FormName="kilogram per hour bar",FormDescription="")
+ NUMF67,
+ /**
+ * kilogram per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="F68", FormName="kilogram per minute bar",FormDescription="")
+ NUMF68,
+ /**
+ * kilogram per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="F69", FormName="kilogram per second bar",FormDescription="")
+ NUMF69,
+ /**
+ * milligram per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="F70", FormName="milligram per day bar",FormDescription="")
+ NUMF70,
+ /**
+ * milligram per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="F71", FormName="milligram per hour bar",FormDescription="")
+ NUMF71,
+ /**
+ * milligram per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="F72", FormName="milligram per minute bar",FormDescription="")
+ NUMF72,
+ /**
+ * milligram per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="F73", FormName="milligram per second bar",FormDescription="")
+ NUMF73,
+ /**
+ * gram per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F74", FormName="gram per bar",FormDescription="")
+ NUMF74,
+ /**
+ * milligram per bar
+ *
+ **/
+ @SEDA(PropertyTerm="F75", FormName="milligram per bar",FormDescription="")
+ NUMF75,
+ /**
+ * milliampere per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="F76", FormName="milliampere per millimetre",FormDescription="")
+ NUMF76,
+ /**
+ * pascal second per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F77", FormName="pascal second per kelvin",FormDescription="")
+ NUMF77,
+ /**
+ * inch of water
+ *
+ **/
+ @SEDA(PropertyTerm="F78", FormName="inch of water",FormDescription="")
+ NUMF78,
+ /**
+ * inch of mercury
+ *
+ **/
+ @SEDA(PropertyTerm="F79", FormName="inch of mercury",FormDescription="")
+ NUMF79,
+ /**
+ * water horse power
+ *
+ **/
+ @SEDA(PropertyTerm="F80", FormName="water horse power",FormDescription="")
+ NUMF80,
+ /**
+ * bar per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F81", FormName="bar per kelvin",FormDescription="")
+ NUMF81,
+ /**
+ * hektopascal per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F82", FormName="hektopascal per kelvin",FormDescription="")
+ NUMF82,
+ /**
+ * kilopascal per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F83", FormName="kilopascal per kelvin",FormDescription="")
+ NUMF83,
+ /**
+ * millibar per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F84", FormName="millibar per kelvin",FormDescription="")
+ NUMF84,
+ /**
+ * megapascal per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F85", FormName="megapascal per kelvin",FormDescription="")
+ NUMF85,
+ /**
+ * poise per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="F86", FormName="poise per kelvin",FormDescription="")
+ NUMF86,
+ /**
+ * volt per litre minute
+ *
+ **/
+ @SEDA(PropertyTerm="F87", FormName="volt per litre minute",FormDescription="")
+ NUMF87,
+ /**
+ * newton centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="F88", FormName="newton centimetre",FormDescription="")
+ NUMF88,
+ /**
+ * newton metre per degree
+ *
+ **/
+ @SEDA(PropertyTerm="F89", FormName="newton metre per degree",FormDescription="")
+ NUMF89,
+ /**
+ * fibre per cubic centimetre of air
+ *
+ **/
+ @SEDA(PropertyTerm="F9", FormName="fibre per cubic centimetre of air",FormDescription="")
+ NUMF9,
+ /**
+ * newton metre per ampere
+ *
+ **/
+ @SEDA(PropertyTerm="F90", FormName="newton metre per ampere",FormDescription="")
+ NUMF90,
+ /**
+ * bar litre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F91", FormName="bar litre per second",FormDescription="")
+ NUMF91,
+ /**
+ * bar cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F92", FormName="bar cubic metre per second",FormDescription="")
+ NUMF92,
+ /**
+ * hektopascal litre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F93", FormName="hektopascal litre per second",FormDescription="")
+ NUMF93,
+ /**
+ * hektopascal cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F94", FormName="hektopascal cubic metre per second",FormDescription="")
+ NUMF94,
+ /**
+ * millibar litre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F95", FormName="millibar litre per second",FormDescription="")
+ NUMF95,
+ /**
+ * millibar cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F96", FormName="millibar cubic metre per second",FormDescription="")
+ NUMF96,
+ /**
+ * megapascal litre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F97", FormName="megapascal litre per second",FormDescription="")
+ NUMF97,
+ /**
+ * megapascal cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F98", FormName="megapascal cubic metre per second",FormDescription="")
+ NUMF98,
+ /**
+ * pascal litre per second
+ *
+ **/
+ @SEDA(PropertyTerm="F99", FormName="pascal litre per second",FormDescription="")
+ NUMF99,
+ /**
+ * degree Fahrenheit
+ *
+ **/
+ @SEDA(PropertyTerm="FAH", FormName="degree Fahrenheit",FormDescription="")
+ NUMFAH,
+ /**
+ * farad
+ *
+ **/
+ @SEDA(PropertyTerm="FAR", FormName="farad",FormDescription="")
+ NUMFAR,
+ /**
+ * field
+ *
+ **/
+ @SEDA(PropertyTerm="FB", FormName="field",FormDescription="")
+ NUMFB,
+ /**
+ * fibre metre
+ *
+ **/
+ @SEDA(PropertyTerm="FBM", FormName="fibre metre",FormDescription="")
+ NUMFBM,
+ /**
+ * thousand cubic feet
+ *
+ **/
+ @SEDA(PropertyTerm="FC", FormName="thousand cubic feet",FormDescription="")
+ NUMFC,
+ /**
+ * million particle per cubic foot
+ *
+ **/
+ @SEDA(PropertyTerm="FD", FormName="million particle per cubic foot",FormDescription="")
+ NUMFD,
+ /**
+ * track foot
+ *
+ **/
+ @SEDA(PropertyTerm="FE", FormName="track foot",FormDescription="")
+ NUMFE,
+ /**
+ * hundred cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="FF", FormName="hundred cubic metre",FormDescription="")
+ NUMFF,
+ /**
+ * transdermal patch
+ *
+ **/
+ @SEDA(PropertyTerm="FG", FormName="transdermal patch",FormDescription="")
+ NUMFG,
+ /**
+ * micromole
+ *
+ **/
+ @SEDA(PropertyTerm="FH", FormName="micromole",FormDescription="")
+ NUMFH,
+ /**
+ * flake ton
+ *
+ **/
+ @SEDA(PropertyTerm="FL", FormName="flake ton",FormDescription="")
+ NUMFL,
+ /**
+ * million cubic feet
+ *
+ **/
+ @SEDA(PropertyTerm="FM", FormName="million cubic feet",FormDescription="")
+ NUMFM,
+ /**
+ * foot
+ *
+ **/
+ @SEDA(PropertyTerm="FOT", FormName="foot",FormDescription="")
+ NUMFOT,
+ /**
+ * pound per square foot
+ *
+ **/
+ @SEDA(PropertyTerm="FP", FormName="pound per square foot",FormDescription="")
+ NUMFP,
+ /**
+ * foot per minute
+ *
+ **/
+ @SEDA(PropertyTerm="FR", FormName="foot per minute",FormDescription="")
+ NUMFR,
+ /**
+ * foot per second
+ *
+ **/
+ @SEDA(PropertyTerm="FS", FormName="foot per second",FormDescription="")
+ NUMFS,
+ /**
+ * square foot
+ *
+ **/
+ @SEDA(PropertyTerm="FTK", FormName="square foot",FormDescription="")
+ NUMFTK,
+ /**
+ * cubic foot
+ *
+ **/
+ @SEDA(PropertyTerm="FTQ", FormName="cubic foot",FormDescription="")
+ NUMFTQ,
+ /**
+ * pascal cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="G01", FormName="pascal cubic metre per second",FormDescription="")
+ NUMG01,
+ /**
+ * centimetre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G04", FormName="centimetre per bar",FormDescription="")
+ NUMG04,
+ /**
+ * metre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G05", FormName="metre per bar",FormDescription="")
+ NUMG05,
+ /**
+ * millimetre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G06", FormName="millimetre per bar",FormDescription="")
+ NUMG06,
+ /**
+ * square inch per second
+ *
+ **/
+ @SEDA(PropertyTerm="G08", FormName="square inch per second",FormDescription="")
+ NUMG08,
+ /**
+ * square metre per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G09", FormName="square metre per second kelvin",FormDescription="")
+ NUMG09,
+ /**
+ * stokes per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G10", FormName="stokes per kelvin",FormDescription="")
+ NUMG10,
+ /**
+ * gram per cubic centimetre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G11", FormName="gram per cubic centimetre bar",FormDescription="")
+ NUMG11,
+ /**
+ * gram per cubic decimetre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G12", FormName="gram per cubic decimetre bar",FormDescription="")
+ NUMG12,
+ /**
+ * gram per litre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G13", FormName="gram per litre bar",FormDescription="")
+ NUMG13,
+ /**
+ * gram per cubic metre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G14", FormName="gram per cubic metre bar",FormDescription="")
+ NUMG14,
+ /**
+ * gram per millilitre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G15", FormName="gram per millilitre bar",FormDescription="")
+ NUMG15,
+ /**
+ * kilogram per cubic centimetre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G16", FormName="kilogram per cubic centimetre bar",FormDescription="")
+ NUMG16,
+ /**
+ * kilogram per litre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G17", FormName="kilogram per litre bar",FormDescription="")
+ NUMG17,
+ /**
+ * kilogram per cubic metre bar
+ *
+ **/
+ @SEDA(PropertyTerm="G18", FormName="kilogram per cubic metre bar",FormDescription="")
+ NUMG18,
+ /**
+ * newton metre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="G19", FormName="newton metre per kilogram",FormDescription="")
+ NUMG19,
+ /**
+ * US gallon per minute
+ *
+ **/
+ @SEDA(PropertyTerm="G2", FormName="US gallon per minute",FormDescription="")
+ NUMG2,
+ /**
+ * pound-force foot per pound
+ *
+ **/
+ @SEDA(PropertyTerm="G20", FormName="pound-force foot per pound",FormDescription="")
+ NUMG20,
+ /**
+ * cup [unit of volume]
+ *
+ **/
+ @SEDA(PropertyTerm="G21", FormName="cup [unit of volume]",FormDescription="")
+ NUMG21,
+ /**
+ * peck
+ *
+ **/
+ @SEDA(PropertyTerm="G23", FormName="peck",FormDescription="")
+ NUMG23,
+ /**
+ * tablespoon
+ *
+ **/
+ @SEDA(PropertyTerm="G24", FormName="tablespoon",FormDescription="")
+ NUMG24,
+ /**
+ * teaspoon
+ *
+ **/
+ @SEDA(PropertyTerm="G25", FormName="teaspoon",FormDescription="")
+ NUMG25,
+ /**
+ * stere
+ *
+ **/
+ @SEDA(PropertyTerm="G26", FormName="stere",FormDescription="")
+ NUMG26,
+ /**
+ * cubic centimetre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G27", FormName="cubic centimetre per kelvin",FormDescription="")
+ NUMG27,
+ /**
+ * litre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G28", FormName="litre per kelvin",FormDescription="")
+ NUMG28,
+ /**
+ * cubic metre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G29", FormName="cubic metre per kelvin",FormDescription="")
+ NUMG29,
+ /**
+ * Imperial gallon per minute
+ *
+ **/
+ @SEDA(PropertyTerm="G3", FormName="Imperial gallon per minute",FormDescription="")
+ NUMG3,
+ /**
+ * millilitre per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G30", FormName="millilitre per kelvin",FormDescription="")
+ NUMG30,
+ /**
+ * kilogram per cubic centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="G31", FormName="kilogram per cubic centimetre",FormDescription="")
+ NUMG31,
+ /**
+ * ounce (avoirdupois) per cubic yard
+ *
+ **/
+ @SEDA(PropertyTerm="G32", FormName="ounce (avoirdupois) per cubic yard",FormDescription="")
+ NUMG32,
+ /**
+ * gram per cubic centimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G33", FormName="gram per cubic centimetre kelvin",FormDescription="")
+ NUMG33,
+ /**
+ * gram per cubic decimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G34", FormName="gram per cubic decimetre kelvin",FormDescription="")
+ NUMG34,
+ /**
+ * gram per litre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G35", FormName="gram per litre kelvin",FormDescription="")
+ NUMG35,
+ /**
+ * gram per cubic metre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G36", FormName="gram per cubic metre kelvin",FormDescription="")
+ NUMG36,
+ /**
+ * gram per millilitre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G37", FormName="gram per millilitre kelvin",FormDescription="")
+ NUMG37,
+ /**
+ * kilogram per cubic centimetre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G38", FormName="kilogram per cubic centimetre kelvin",FormDescription="")
+ NUMG38,
+ /**
+ * kilogram per litre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G39", FormName="kilogram per litre kelvin",FormDescription="")
+ NUMG39,
+ /**
+ * kilogram per cubic metre kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G40", FormName="kilogram per cubic metre kelvin",FormDescription="")
+ NUMG40,
+ /**
+ * square metre per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="G41", FormName="square metre per second bar",FormDescription="")
+ NUMG41,
+ /**
+ * microsiemens per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="G42", FormName="microsiemens per centimetre",FormDescription="")
+ NUMG42,
+ /**
+ * microsiemens per metre
+ *
+ **/
+ @SEDA(PropertyTerm="G43", FormName="microsiemens per metre",FormDescription="")
+ NUMG43,
+ /**
+ * nanosiemens per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="G44", FormName="nanosiemens per centimetre",FormDescription="")
+ NUMG44,
+ /**
+ * nanosiemens per metre
+ *
+ **/
+ @SEDA(PropertyTerm="G45", FormName="nanosiemens per metre",FormDescription="")
+ NUMG45,
+ /**
+ * stokes per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G46", FormName="stokes per bar",FormDescription="")
+ NUMG46,
+ /**
+ * cubic centimetre per day
+ *
+ **/
+ @SEDA(PropertyTerm="G47", FormName="cubic centimetre per day",FormDescription="")
+ NUMG47,
+ /**
+ * cubic centimetre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="G48", FormName="cubic centimetre per hour",FormDescription="")
+ NUMG48,
+ /**
+ * cubic centimetre per minute
+ *
+ **/
+ @SEDA(PropertyTerm="G49", FormName="cubic centimetre per minute",FormDescription="")
+ NUMG49,
+ /**
+ * gallon (US) per hour
+ *
+ **/
+ @SEDA(PropertyTerm="G50", FormName="gallon (US) per hour",FormDescription="")
+ NUMG50,
+ /**
+ * litre per second
+ *
+ **/
+ @SEDA(PropertyTerm="G51", FormName="litre per second",FormDescription="")
+ NUMG51,
+ /**
+ * cubic metre per day
+ *
+ **/
+ @SEDA(PropertyTerm="G52", FormName="cubic metre per day",FormDescription="")
+ NUMG52,
+ /**
+ * cubic metre per minute
+ *
+ **/
+ @SEDA(PropertyTerm="G53", FormName="cubic metre per minute",FormDescription="")
+ NUMG53,
+ /**
+ * millilitre per day
+ *
+ **/
+ @SEDA(PropertyTerm="G54", FormName="millilitre per day",FormDescription="")
+ NUMG54,
+ /**
+ * millilitre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="G55", FormName="millilitre per hour",FormDescription="")
+ NUMG55,
+ /**
+ * cubic inch per hour
+ *
+ **/
+ @SEDA(PropertyTerm="G56", FormName="cubic inch per hour",FormDescription="")
+ NUMG56,
+ /**
+ * cubic inch per minute
+ *
+ **/
+ @SEDA(PropertyTerm="G57", FormName="cubic inch per minute",FormDescription="")
+ NUMG57,
+ /**
+ * cubic inch per second
+ *
+ **/
+ @SEDA(PropertyTerm="G58", FormName="cubic inch per second",FormDescription="")
+ NUMG58,
+ /**
+ * milliampere per litre minute
+ *
+ **/
+ @SEDA(PropertyTerm="G59", FormName="milliampere per litre minute",FormDescription="")
+ NUMG59,
+ /**
+ * volt per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G60", FormName="volt per bar",FormDescription="")
+ NUMG60,
+ /**
+ * cubic centimetre per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G61", FormName="cubic centimetre per day kelvin",FormDescription="")
+ NUMG61,
+ /**
+ * cubic centimetre per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G62", FormName="cubic centimetre per hour kelvin",FormDescription="")
+ NUMG62,
+ /**
+ * cubic centimetre per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G63", FormName="cubic centimetre per minute kelvin",FormDescription="")
+ NUMG63,
+ /**
+ * cubic centimetre per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G64", FormName="cubic centimetre per second kelvin",FormDescription="")
+ NUMG64,
+ /**
+ * litre per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G65", FormName="litre per day kelvin",FormDescription="")
+ NUMG65,
+ /**
+ * litre per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G66", FormName="litre per hour kelvin",FormDescription="")
+ NUMG66,
+ /**
+ * litre per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G67", FormName="litre per minute kelvin",FormDescription="")
+ NUMG67,
+ /**
+ * litre per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G68", FormName="litre per second kelvin",FormDescription="")
+ NUMG68,
+ /**
+ * cubic metre per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G69", FormName="cubic metre per day kelvin",FormDescription="")
+ NUMG69,
+ /**
+ * microfiche sheet
+ *
+ **/
+ @SEDA(PropertyTerm="G7", FormName="microfiche sheet",FormDescription="")
+ NUMG7,
+ /**
+ * cubic metre per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G70", FormName="cubic metre per hour kelvin",FormDescription="")
+ NUMG70,
+ /**
+ * cubic metre per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G71", FormName="cubic metre per minute kelvin",FormDescription="")
+ NUMG71,
+ /**
+ * cubic metre per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G72", FormName="cubic metre per second kelvin",FormDescription="")
+ NUMG72,
+ /**
+ * millilitre per day kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G73", FormName="millilitre per day kelvin",FormDescription="")
+ NUMG73,
+ /**
+ * millilitre per hour kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G74", FormName="millilitre per hour kelvin",FormDescription="")
+ NUMG74,
+ /**
+ * millilitre per minute kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G75", FormName="millilitre per minute kelvin",FormDescription="")
+ NUMG75,
+ /**
+ * millilitre per second kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="G76", FormName="millilitre per second kelvin",FormDescription="")
+ NUMG76,
+ /**
+ * millimetre to the fourth power
+ *
+ **/
+ @SEDA(PropertyTerm="G77", FormName="millimetre to the fourth power",FormDescription="")
+ NUMG77,
+ /**
+ * cubic centimetre per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="G78", FormName="cubic centimetre per day bar",FormDescription="")
+ NUMG78,
+ /**
+ * cubic centimetre per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="G79", FormName="cubic centimetre per hour bar",FormDescription="")
+ NUMG79,
+ /**
+ * cubic centimetre per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="G80", FormName="cubic centimetre per minute bar",FormDescription="")
+ NUMG80,
+ /**
+ * cubic centimetre per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="G81", FormName="cubic centimetre per second bar",FormDescription="")
+ NUMG81,
+ /**
+ * litre per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="G82", FormName="litre per day bar",FormDescription="")
+ NUMG82,
+ /**
+ * litre per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="G83", FormName="litre per hour bar",FormDescription="")
+ NUMG83,
+ /**
+ * litre per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="G84", FormName="litre per minute bar",FormDescription="")
+ NUMG84,
+ /**
+ * litre per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="G85", FormName="litre per second bar",FormDescription="")
+ NUMG85,
+ /**
+ * cubic metre per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="G86", FormName="cubic metre per day bar",FormDescription="")
+ NUMG86,
+ /**
+ * cubic metre per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="G87", FormName="cubic metre per hour bar",FormDescription="")
+ NUMG87,
+ /**
+ * cubic metre per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="G88", FormName="cubic metre per minute bar",FormDescription="")
+ NUMG88,
+ /**
+ * cubic metre per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="G89", FormName="cubic metre per second bar",FormDescription="")
+ NUMG89,
+ /**
+ * millilitre per day bar
+ *
+ **/
+ @SEDA(PropertyTerm="G90", FormName="millilitre per day bar",FormDescription="")
+ NUMG90,
+ /**
+ * millilitre per hour bar
+ *
+ **/
+ @SEDA(PropertyTerm="G91", FormName="millilitre per hour bar",FormDescription="")
+ NUMG91,
+ /**
+ * millilitre per minute bar
+ *
+ **/
+ @SEDA(PropertyTerm="G92", FormName="millilitre per minute bar",FormDescription="")
+ NUMG92,
+ /**
+ * millilitre per second bar
+ *
+ **/
+ @SEDA(PropertyTerm="G93", FormName="millilitre per second bar",FormDescription="")
+ NUMG93,
+ /**
+ * cubic centimetre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G94", FormName="cubic centimetre per bar",FormDescription="")
+ NUMG94,
+ /**
+ * litre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G95", FormName="litre per bar",FormDescription="")
+ NUMG95,
+ /**
+ * cubic metre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G96", FormName="cubic metre per bar",FormDescription="")
+ NUMG96,
+ /**
+ * millilitre per bar
+ *
+ **/
+ @SEDA(PropertyTerm="G97", FormName="millilitre per bar",FormDescription="")
+ NUMG97,
+ /**
+ * microhenry per kiloohm
+ *
+ **/
+ @SEDA(PropertyTerm="G98", FormName="microhenry per kiloohm",FormDescription="")
+ NUMG98,
+ /**
+ * microhenry per ohm
+ *
+ **/
+ @SEDA(PropertyTerm="G99", FormName="microhenry per ohm",FormDescription="")
+ NUMG99,
+ /**
+ * gallon (US) per day
+ *
+ **/
+ @SEDA(PropertyTerm="GB", FormName="gallon (US) per day",FormDescription="")
+ NUMGB,
+ /**
+ * gigabecquerel
+ *
+ **/
+ @SEDA(PropertyTerm="GBQ", FormName="gigabecquerel",FormDescription="")
+ NUMGBQ,
+ /**
+ * gram per 100 gram
+ *
+ **/
+ @SEDA(PropertyTerm="GC", FormName="gram per 100 gram",FormDescription="")
+ NUMGC,
+ /**
+ * gross barrel
+ *
+ **/
+ @SEDA(PropertyTerm="GD", FormName="gross barrel",FormDescription="")
+ NUMGD,
+ /**
+ * gram, dry weight
+ *
+ **/
+ @SEDA(PropertyTerm="GDW", FormName="gram, dry weight",FormDescription="")
+ NUMGDW,
+ /**
+ * pound per gallon (US)
+ *
+ **/
+ @SEDA(PropertyTerm="GE", FormName="pound per gallon (US)",FormDescription="")
+ NUMGE,
+ /**
+ * gram per metre (gram per 100 centimetres)
+ *
+ **/
+ @SEDA(PropertyTerm="GF", FormName="gram per metre (gram per 100 centimetres)",FormDescription="")
+ NUMGF,
+ /**
+ * gram of fissile isotope
+ *
+ **/
+ @SEDA(PropertyTerm="GFI", FormName="gram of fissile isotope",FormDescription="")
+ NUMGFI,
+ /**
+ * great gross
+ *
+ **/
+ @SEDA(PropertyTerm="GGR", FormName="great gross",FormDescription="")
+ NUMGGR,
+ /**
+ * half gallon (US)
+ *
+ **/
+ @SEDA(PropertyTerm="GH", FormName="half gallon (US)",FormDescription="")
+ NUMGH,
+ /**
+ * gill (US)
+ *
+ **/
+ @SEDA(PropertyTerm="GIA", FormName="gill (US)",FormDescription="")
+ NUMGIA,
+ /**
+ * gram, including container
+ *
+ **/
+ @SEDA(PropertyTerm="GIC", FormName="gram, including container",FormDescription="")
+ NUMGIC,
+ /**
+ * gill (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="GII", FormName="gill (UK)",FormDescription="")
+ NUMGII,
+ /**
+ * gram, including inner packaging
+ *
+ **/
+ @SEDA(PropertyTerm="GIP", FormName="gram, including inner packaging",FormDescription="")
+ NUMGIP,
+ /**
+ * gram per millilitre
+ *
+ **/
+ @SEDA(PropertyTerm="GJ", FormName="gram per millilitre",FormDescription="")
+ NUMGJ,
+ /**
+ * gram per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="GK", FormName="gram per kilogram",FormDescription="")
+ NUMGK,
+ /**
+ * gram per litre
+ *
+ **/
+ @SEDA(PropertyTerm="GL", FormName="gram per litre",FormDescription="")
+ NUMGL,
+ /**
+ * dry gallon (US)
+ *
+ **/
+ @SEDA(PropertyTerm="GLD", FormName="dry gallon (US)",FormDescription="")
+ NUMGLD,
+ /**
+ * gallon (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="GLI", FormName="gallon (UK)",FormDescription="")
+ NUMGLI,
+ /**
+ * gallon (US)
+ *
+ **/
+ @SEDA(PropertyTerm="GLL", FormName="gallon (US)",FormDescription="")
+ NUMGLL,
+ /**
+ * gram per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="GM", FormName="gram per square metre",FormDescription="")
+ NUMGM,
+ /**
+ * gross gallon
+ *
+ **/
+ @SEDA(PropertyTerm="GN", FormName="gross gallon",FormDescription="")
+ NUMGN,
+ /**
+ * milligrams per square metre
+ *
+ **/
+ @SEDA(PropertyTerm="GO", FormName="milligrams per square metre",FormDescription="")
+ NUMGO,
+ /**
+ * milligram per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="GP", FormName="milligram per cubic metre",FormDescription="")
+ NUMGP,
+ /**
+ * microgram per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="GQ", FormName="microgram per cubic metre",FormDescription="")
+ NUMGQ,
+ /**
+ * gram
+ *
+ **/
+ @SEDA(PropertyTerm="GRM", FormName="gram",FormDescription="")
+ NUMGRM,
+ /**
+ * grain
+ *
+ **/
+ @SEDA(PropertyTerm="GRN", FormName="grain",FormDescription="")
+ NUMGRN,
+ /**
+ * gross
+ *
+ **/
+ @SEDA(PropertyTerm="GRO", FormName="gross",FormDescription="")
+ NUMGRO,
+ /**
+ * gross register ton
+ *
+ **/
+ @SEDA(PropertyTerm="GRT", FormName="gross register ton",FormDescription="")
+ NUMGRT,
+ /**
+ * gross ton
+ *
+ **/
+ @SEDA(PropertyTerm="GT", FormName="gross ton",FormDescription="")
+ NUMGT,
+ /**
+ * gigajoule
+ *
+ **/
+ @SEDA(PropertyTerm="GV", FormName="gigajoule",FormDescription="")
+ NUMGV,
+ /**
+ * gallon per thousand cubic feet
+ *
+ **/
+ @SEDA(PropertyTerm="GW", FormName="gallon per thousand cubic feet",FormDescription="")
+ NUMGW,
+ /**
+ * gigawatt hour
+ *
+ **/
+ @SEDA(PropertyTerm="GWH", FormName="gigawatt hour",FormDescription="")
+ NUMGWH,
+ /**
+ * gross yard
+ *
+ **/
+ @SEDA(PropertyTerm="GY", FormName="gross yard",FormDescription="")
+ NUMGY,
+ /**
+ * gage system
+ *
+ **/
+ @SEDA(PropertyTerm="GZ", FormName="gage system",FormDescription="")
+ NUMGZ,
+ /**
+ * henry per kiloohm
+ *
+ **/
+ @SEDA(PropertyTerm="H03", FormName="henry per kiloohm",FormDescription="")
+ NUMH03,
+ /**
+ * henry per ohm
+ *
+ **/
+ @SEDA(PropertyTerm="H04", FormName="henry per ohm",FormDescription="")
+ NUMH04,
+ /**
+ * millihenry per kiloohm
+ *
+ **/
+ @SEDA(PropertyTerm="H05", FormName="millihenry per kiloohm",FormDescription="")
+ NUMH05,
+ /**
+ * millihenry per ohm
+ *
+ **/
+ @SEDA(PropertyTerm="H06", FormName="millihenry per ohm",FormDescription="")
+ NUMH06,
+ /**
+ * pascal second per bar
+ *
+ **/
+ @SEDA(PropertyTerm="H07", FormName="pascal second per bar",FormDescription="")
+ NUMH07,
+ /**
+ * microbecquerel
+ *
+ **/
+ @SEDA(PropertyTerm="H08", FormName="microbecquerel",FormDescription="")
+ NUMH08,
+ /**
+ * reciprocal year
+ *
+ **/
+ @SEDA(PropertyTerm="H09", FormName="reciprocal year",FormDescription="")
+ NUMH09,
+ /**
+ * half page – electronic
+ *
+ **/
+ @SEDA(PropertyTerm="H1", FormName="half page – electronic",FormDescription="")
+ NUMH1,
+ /**
+ * reciprocal hour
+ *
+ **/
+ @SEDA(PropertyTerm="H10", FormName="reciprocal hour",FormDescription="")
+ NUMH10,
+ /**
+ * reciprocal month
+ *
+ **/
+ @SEDA(PropertyTerm="H11", FormName="reciprocal month",FormDescription="")
+ NUMH11,
+ /**
+ * degree Celsius per hour
+ *
+ **/
+ @SEDA(PropertyTerm="H12", FormName="degree Celsius per hour",FormDescription="")
+ NUMH12,
+ /**
+ * degree Celsius per minute
+ *
+ **/
+ @SEDA(PropertyTerm="H13", FormName="degree Celsius per minute",FormDescription="")
+ NUMH13,
+ /**
+ * degree Celsius per second
+ *
+ **/
+ @SEDA(PropertyTerm="H14", FormName="degree Celsius per second",FormDescription="")
+ NUMH14,
+ /**
+ * square centimetre per gram
+ *
+ **/
+ @SEDA(PropertyTerm="H15", FormName="square centimetre per gram",FormDescription="")
+ NUMH15,
+ /**
+ * half litre
+ *
+ **/
+ @SEDA(PropertyTerm="H2", FormName="half litre",FormDescription="")
+ NUMH2,
+ /**
+ * hank
+ *
+ **/
+ @SEDA(PropertyTerm="HA", FormName="hank",FormDescription="")
+ NUMHA,
+ /**
+ * hectare
+ *
+ **/
+ @SEDA(PropertyTerm="HAR", FormName="hectare",FormDescription="")
+ NUMHAR,
+ /**
+ * hectobar
+ *
+ **/
+ @SEDA(PropertyTerm="HBA", FormName="hectobar",FormDescription="")
+ NUMHBA,
+ /**
+ * hundred boxes
+ *
+ **/
+ @SEDA(PropertyTerm="HBX", FormName="hundred boxes",FormDescription="")
+ NUMHBX,
+ /**
+ * hundred count
+ *
+ **/
+ @SEDA(PropertyTerm="HC", FormName="hundred count",FormDescription="")
+ NUMHC,
+ /**
+ * half dozen
+ *
+ **/
+ @SEDA(PropertyTerm="HD", FormName="half dozen",FormDescription="")
+ NUMHD,
+ /**
+ * hundred kilogram, dry weight
+ *
+ **/
+ @SEDA(PropertyTerm="HDW", FormName="hundred kilogram, dry weight",FormDescription="")
+ NUMHDW,
+ /**
+ * hundredth of a carat
+ *
+ **/
+ @SEDA(PropertyTerm="HE", FormName="hundredth of a carat",FormDescription="")
+ NUMHE,
+ /**
+ * hundred feet
+ *
+ **/
+ @SEDA(PropertyTerm="HF", FormName="hundred feet",FormDescription="")
+ NUMHF,
+ /**
+ * hectogram
+ *
+ **/
+ @SEDA(PropertyTerm="HGM", FormName="hectogram",FormDescription="")
+ NUMHGM,
+ /**
+ * hundred cubic feet
+ *
+ **/
+ @SEDA(PropertyTerm="HH", FormName="hundred cubic feet",FormDescription="")
+ NUMHH,
+ /**
+ * hundred sheet
+ *
+ **/
+ @SEDA(PropertyTerm="HI", FormName="hundred sheet",FormDescription="")
+ NUMHI,
+ /**
+ * hundred international unit
+ *
+ **/
+ @SEDA(PropertyTerm="HIU", FormName="hundred international unit",FormDescription="")
+ NUMHIU,
+ /**
+ * metric horse power
+ *
+ **/
+ @SEDA(PropertyTerm="HJ", FormName="metric horse power",FormDescription="")
+ NUMHJ,
+ /**
+ * hundred kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="HK", FormName="hundred kilogram",FormDescription="")
+ NUMHK,
+ /**
+ * hundred kilogram, net mass
+ *
+ **/
+ @SEDA(PropertyTerm="HKM", FormName="hundred kilogram, net mass",FormDescription="")
+ NUMHKM,
+ /**
+ * hundred feet (linear)
+ *
+ **/
+ @SEDA(PropertyTerm="HL", FormName="hundred feet (linear)",FormDescription="")
+ NUMHL,
+ /**
+ * hectolitre
+ *
+ **/
+ @SEDA(PropertyTerm="HLT", FormName="hectolitre",FormDescription="")
+ NUMHLT,
+ /**
+ * mile per hour
+ *
+ **/
+ @SEDA(PropertyTerm="HM", FormName="mile per hour",FormDescription="")
+ NUMHM,
+ /**
+ * million cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="HMQ", FormName="million cubic metre",FormDescription="")
+ NUMHMQ,
+ /**
+ * hectometre
+ *
+ **/
+ @SEDA(PropertyTerm="HMT", FormName="hectometre",FormDescription="")
+ NUMHMT,
+ /**
+ * conventional millimetre of mercury
+ *
+ **/
+ @SEDA(PropertyTerm="HN", FormName="conventional millimetre of mercury",FormDescription="")
+ NUMHN,
+ /**
+ * hundred troy ounce
+ *
+ **/
+ @SEDA(PropertyTerm="HO", FormName="hundred troy ounce",FormDescription="")
+ NUMHO,
+ /**
+ * conventional millimetre of water
+ *
+ **/
+ @SEDA(PropertyTerm="HP", FormName="conventional millimetre of water",FormDescription="")
+ NUMHP,
+ /**
+ * hectolitre of pure alcohol
+ *
+ **/
+ @SEDA(PropertyTerm="HPA", FormName="hectolitre of pure alcohol",FormDescription="")
+ NUMHPA,
+ /**
+ * hundred square feet
+ *
+ **/
+ @SEDA(PropertyTerm="HS", FormName="hundred square feet",FormDescription="")
+ NUMHS,
+ /**
+ * half hour
+ *
+ **/
+ @SEDA(PropertyTerm="HT", FormName="half hour",FormDescription="")
+ NUMHT,
+ /**
+ * hertz
+ *
+ **/
+ @SEDA(PropertyTerm="HTZ", FormName="hertz",FormDescription="")
+ NUMHTZ,
+ /**
+ * hour
+ *
+ **/
+ @SEDA(PropertyTerm="HUR", FormName="hour",FormDescription="")
+ NUMHUR,
+ /**
+ * hundred yard
+ *
+ **/
+ @SEDA(PropertyTerm="HY", FormName="hundred yard",FormDescription="")
+ NUMHY,
+ /**
+ * inch pound (pound inch)
+ *
+ **/
+ @SEDA(PropertyTerm="IA", FormName="inch pound (pound inch)",FormDescription="")
+ NUMIA,
+ /**
+ * count per inch
+ *
+ **/
+ @SEDA(PropertyTerm="IC", FormName="count per inch",FormDescription="")
+ NUMIC,
+ /**
+ * person
+ *
+ **/
+ @SEDA(PropertyTerm="IE", FormName="person",FormDescription="")
+ NUMIE,
+ /**
+ * inches of water
+ *
+ **/
+ @SEDA(PropertyTerm="IF", FormName="inches of water",FormDescription="")
+ NUMIF,
+ /**
+ * column inch
+ *
+ **/
+ @SEDA(PropertyTerm="II", FormName="column inch",FormDescription="")
+ NUMII,
+ /**
+ * inch per minute
+ *
+ **/
+ @SEDA(PropertyTerm="IL", FormName="inch per minute",FormDescription="")
+ NUMIL,
+ /**
+ * impression
+ *
+ **/
+ @SEDA(PropertyTerm="IM", FormName="impression",FormDescription="")
+ NUMIM,
+ /**
+ * inch
+ *
+ **/
+ @SEDA(PropertyTerm="INH", FormName="inch",FormDescription="")
+ NUMINH,
+ /**
+ * square inch
+ *
+ **/
+ @SEDA(PropertyTerm="INK", FormName="square inch",FormDescription="")
+ NUMINK,
+ /**
+ * cubic inch
+ *
+ **/
+ @SEDA(PropertyTerm="INQ", FormName="cubic inch",FormDescription="")
+ NUMINQ,
+ /**
+ * insurance policy
+ *
+ **/
+ @SEDA(PropertyTerm="IP", FormName="insurance policy",FormDescription="")
+ NUMIP,
+ /**
+ * international sugar degree
+ *
+ **/
+ @SEDA(PropertyTerm="ISD", FormName="international sugar degree",FormDescription="")
+ NUMISD,
+ /**
+ * count per centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="IT", FormName="count per centimetre",FormDescription="")
+ NUMIT,
+ /**
+ * inch per second
+ *
+ **/
+ @SEDA(PropertyTerm="IU", FormName="inch per second",FormDescription="")
+ NUMIU,
+ /**
+ * inch per second squared
+ *
+ **/
+ @SEDA(PropertyTerm="IV", FormName="inch per second squared",FormDescription="")
+ NUMIV,
+ /**
+ * joule per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="J2", FormName="joule per kilogram",FormDescription="")
+ NUMJ2,
+ /**
+ * jumbo
+ *
+ **/
+ @SEDA(PropertyTerm="JB", FormName="jumbo",FormDescription="")
+ NUMJB,
+ /**
+ * joule per kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="JE", FormName="joule per kelvin",FormDescription="")
+ NUMJE,
+ /**
+ * jug
+ *
+ **/
+ @SEDA(PropertyTerm="JG", FormName="jug",FormDescription="")
+ NUMJG,
+ /**
+ * megajoule per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="JK", FormName="megajoule per kilogram",FormDescription="")
+ NUMJK,
+ /**
+ * megajoule per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="JM", FormName="megajoule per cubic metre",FormDescription="")
+ NUMJM,
+ /**
+ * pipeline joint
+ *
+ **/
+ @SEDA(PropertyTerm="JNT", FormName="pipeline joint",FormDescription="")
+ NUMJNT,
+ /**
+ * joint
+ *
+ **/
+ @SEDA(PropertyTerm="JO", FormName="joint",FormDescription="")
+ NUMJO,
+ /**
+ * joule
+ *
+ **/
+ @SEDA(PropertyTerm="JOU", FormName="joule",FormDescription="")
+ NUMJOU,
+ /**
+ * hundred metre
+ *
+ **/
+ @SEDA(PropertyTerm="JPS", FormName="hundred metre",FormDescription="")
+ NUMJPS,
+ /**
+ * jar
+ *
+ **/
+ @SEDA(PropertyTerm="JR", FormName="jar",FormDescription="")
+ NUMJR,
+ /**
+ * number of jewels
+ *
+ **/
+ @SEDA(PropertyTerm="JWL", FormName="number of jewels",FormDescription="")
+ NUMJWL,
+ /**
+ * kilowatt demand
+ *
+ **/
+ @SEDA(PropertyTerm="K1", FormName="kilowatt demand",FormDescription="")
+ NUMK1,
+ /**
+ * kilovolt ampere reactive demand
+ *
+ **/
+ @SEDA(PropertyTerm="K2", FormName="kilovolt ampere reactive demand",FormDescription="")
+ NUMK2,
+ /**
+ * kilovolt ampere reactive hour
+ *
+ **/
+ @SEDA(PropertyTerm="K3", FormName="kilovolt ampere reactive hour",FormDescription="")
+ NUMK3,
+ /**
+ * kilovolt ampere (reactive)
+ *
+ **/
+ @SEDA(PropertyTerm="K5", FormName="kilovolt ampere (reactive)",FormDescription="")
+ NUMK5,
+ /**
+ * kilolitre
+ *
+ **/
+ @SEDA(PropertyTerm="K6", FormName="kilolitre",FormDescription="")
+ NUMK6,
+ /**
+ * cake
+ *
+ **/
+ @SEDA(PropertyTerm="KA", FormName="cake",FormDescription="")
+ NUMKA,
+ /**
+ * katal
+ *
+ **/
+ @SEDA(PropertyTerm="KAT", FormName="katal",FormDescription="")
+ NUMKAT,
+ /**
+ * kilocharacter
+ *
+ **/
+ @SEDA(PropertyTerm="KB", FormName="kilocharacter",FormDescription="")
+ NUMKB,
+ /**
+ * kilobar
+ *
+ **/
+ @SEDA(PropertyTerm="KBA", FormName="kilobar",FormDescription="")
+ NUMKBA,
+ /**
+ * kilogram of choline chloride
+ *
+ **/
+ @SEDA(PropertyTerm="KCC", FormName="kilogram of choline chloride",FormDescription="")
+ NUMKCC,
+ /**
+ * kilogram decimal
+ *
+ **/
+ @SEDA(PropertyTerm="KD", FormName="kilogram decimal",FormDescription="")
+ NUMKD,
+ /**
+ * kilogram drained net weight
+ *
+ **/
+ @SEDA(PropertyTerm="KDW", FormName="kilogram drained net weight",FormDescription="")
+ NUMKDW,
+ /**
+ * kelvin
+ *
+ **/
+ @SEDA(PropertyTerm="KEL", FormName="kelvin",FormDescription="")
+ NUMKEL,
+ /**
+ * kilopacket
+ *
+ **/
+ @SEDA(PropertyTerm="KF", FormName="kilopacket",FormDescription="")
+ NUMKF,
+ /**
+ * keg
+ *
+ **/
+ @SEDA(PropertyTerm="KG", FormName="keg",FormDescription="")
+ NUMKG,
+ /**
+ * kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="KGM", FormName="kilogram",FormDescription="")
+ NUMKGM,
+ /**
+ * kilogram per second
+ *
+ **/
+ @SEDA(PropertyTerm="KGS", FormName="kilogram per second",FormDescription="")
+ NUMKGS,
+ /**
+ * kilogram of hydrogen peroxide
+ *
+ **/
+ @SEDA(PropertyTerm="KHY", FormName="kilogram of hydrogen peroxide",FormDescription="")
+ NUMKHY,
+ /**
+ * kilohertz
+ *
+ **/
+ @SEDA(PropertyTerm="KHZ", FormName="kilohertz",FormDescription="")
+ NUMKHZ,
+ /**
+ * kilogram per millimetre width
+ *
+ **/
+ @SEDA(PropertyTerm="KI", FormName="kilogram per millimetre width",FormDescription="")
+ NUMKI,
+ /**
+ * kilogram, including container
+ *
+ **/
+ @SEDA(PropertyTerm="KIC", FormName="kilogram, including container",FormDescription="")
+ NUMKIC,
+ /**
+ * kilogram, including inner packaging
+ *
+ **/
+ @SEDA(PropertyTerm="KIP", FormName="kilogram, including inner packaging",FormDescription="")
+ NUMKIP,
+ /**
+ * kilosegment
+ *
+ **/
+ @SEDA(PropertyTerm="KJ", FormName="kilosegment",FormDescription="")
+ NUMKJ,
+ /**
+ * kilojoule
+ *
+ **/
+ @SEDA(PropertyTerm="KJO", FormName="kilojoule",FormDescription="")
+ NUMKJO,
+ /**
+ * kilogram per metre
+ *
+ **/
+ @SEDA(PropertyTerm="KL", FormName="kilogram per metre",FormDescription="")
+ NUMKL,
+ /**
+ * lactic dry material percentage
+ *
+ **/
+ @SEDA(PropertyTerm="KLK", FormName="lactic dry material percentage",FormDescription="")
+ NUMKLK,
+ /**
+ * kilogram of methylamine
+ *
+ **/
+ @SEDA(PropertyTerm="KMA", FormName="kilogram of methylamine",FormDescription="")
+ NUMKMA,
+ /**
+ * kilometre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="KMH", FormName="kilometre per hour",FormDescription="")
+ NUMKMH,
+ /**
+ * square kilometre
+ *
+ **/
+ @SEDA(PropertyTerm="KMK", FormName="square kilometre",FormDescription="")
+ NUMKMK,
+ /**
+ * kilogram per cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="KMQ", FormName="kilogram per cubic metre",FormDescription="")
+ NUMKMQ,
+ /**
+ * kilometre
+ *
+ **/
+ @SEDA(PropertyTerm="KMT", FormName="kilometre",FormDescription="")
+ NUMKMT,
+ /**
+ * kilogram of nitrogen
+ *
+ **/
+ @SEDA(PropertyTerm="KNI", FormName="kilogram of nitrogen",FormDescription="")
+ NUMKNI,
+ /**
+ * kilogram named substance
+ *
+ **/
+ @SEDA(PropertyTerm="KNS", FormName="kilogram named substance",FormDescription="")
+ NUMKNS,
+ /**
+ * knot
+ *
+ **/
+ @SEDA(PropertyTerm="KNT", FormName="knot",FormDescription="")
+ NUMKNT,
+ /**
+ * milliequivalence caustic potash per gram of product
+ *
+ **/
+ @SEDA(PropertyTerm="KO", FormName="milliequivalence caustic potash per gram of product",FormDescription="")
+ NUMKO,
+ /**
+ * kilopascal
+ *
+ **/
+ @SEDA(PropertyTerm="KPA", FormName="kilopascal",FormDescription="")
+ NUMKPA,
+ /**
+ * kilogram of potassium hydroxide (caustic potash)
+ *
+ **/
+ @SEDA(PropertyTerm="KPH", FormName="kilogram of potassium hydroxide (caustic potash)",FormDescription="")
+ NUMKPH,
+ /**
+ * kilogram of potassium oxide
+ *
+ **/
+ @SEDA(PropertyTerm="KPO", FormName="kilogram of potassium oxide",FormDescription="")
+ NUMKPO,
+ /**
+ * kilogram of phosphorus pentoxide (phosphoric anhydride)
+ *
+ **/
+ @SEDA(PropertyTerm="KPP", FormName="kilogram of phosphorus pentoxide (phosphoric anhydride)",FormDescription="")
+ NUMKPP,
+ /**
+ * kiloroentgen
+ *
+ **/
+ @SEDA(PropertyTerm="KR", FormName="kiloroentgen",FormDescription="")
+ NUMKR,
+ /**
+ * thousand pound per square inch
+ *
+ **/
+ @SEDA(PropertyTerm="KS", FormName="thousand pound per square inch",FormDescription="")
+ NUMKS,
+ /**
+ * kilogram of substance 90 % dry
+ *
+ **/
+ @SEDA(PropertyTerm="KSD", FormName="kilogram of substance 90 % dry",FormDescription="")
+ NUMKSD,
+ /**
+ * kilogram of sodium hydroxide (caustic soda)
+ *
+ **/
+ @SEDA(PropertyTerm="KSH", FormName="kilogram of sodium hydroxide (caustic soda)",FormDescription="")
+ NUMKSH,
+ /**
+ * kit
+ *
+ **/
+ @SEDA(PropertyTerm="KT", FormName="kit",FormDescription="")
+ NUMKT,
+ /**
+ * kilometre
+ *
+ **/
+ @SEDA(PropertyTerm="KTM", FormName="kilometre",FormDescription="")
+ NUMKTM,
+ /**
+ * kilotonne
+ *
+ **/
+ @SEDA(PropertyTerm="KTN", FormName="kilotonne",FormDescription="")
+ NUMKTN,
+ /**
+ * kilogram of uranium
+ *
+ **/
+ @SEDA(PropertyTerm="KUR", FormName="kilogram of uranium",FormDescription="")
+ NUMKUR,
+ /**
+ * kilovolt - ampere
+ *
+ **/
+ @SEDA(PropertyTerm="KVA", FormName="kilovolt - ampere",FormDescription="")
+ NUMKVA,
+ /**
+ * kilovar
+ *
+ **/
+ @SEDA(PropertyTerm="KVR", FormName="kilovar",FormDescription="")
+ NUMKVR,
+ /**
+ * kilovolt
+ *
+ **/
+ @SEDA(PropertyTerm="KVT", FormName="kilovolt",FormDescription="")
+ NUMKVT,
+ /**
+ * kilograms per millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="KW", FormName="kilograms per millimetre",FormDescription="")
+ NUMKW,
+ /**
+ * kilowatt hour
+ *
+ **/
+ @SEDA(PropertyTerm="KWH", FormName="kilowatt hour",FormDescription="")
+ NUMKWH,
+ /**
+ * kilogram of tungsten trioxide
+ *
+ **/
+ @SEDA(PropertyTerm="KWO", FormName="kilogram of tungsten trioxide",FormDescription="")
+ NUMKWO,
+ /**
+ * kilowatt
+ *
+ **/
+ @SEDA(PropertyTerm="KWT", FormName="kilowatt",FormDescription="")
+ NUMKWT,
+ /**
+ * millilitre per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="KX", FormName="millilitre per kilogram",FormDescription="")
+ NUMKX,
+ /**
+ * litre per minute
+ *
+ **/
+ @SEDA(PropertyTerm="L2", FormName="litre per minute",FormDescription="")
+ NUML2,
+ /**
+ * pound per cubic inch
+ *
+ **/
+ @SEDA(PropertyTerm="LA", FormName="pound per cubic inch",FormDescription="")
+ NUMLA,
+ /**
+ * lactose excess percentage
+ *
+ **/
+ @SEDA(PropertyTerm="LAC", FormName="lactose excess percentage",FormDescription="")
+ NUMLAC,
+ /**
+ * pound
+ *
+ **/
+ @SEDA(PropertyTerm="LBR", FormName="pound",FormDescription="")
+ NUMLBR,
+ /**
+ * troy pound (US)
+ *
+ **/
+ @SEDA(PropertyTerm="LBT", FormName="troy pound (US)",FormDescription="")
+ NUMLBT,
+ /**
+ * linear centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="LC", FormName="linear centimetre",FormDescription="")
+ NUMLC,
+ /**
+ * litre per day
+ *
+ **/
+ @SEDA(PropertyTerm="LD", FormName="litre per day",FormDescription="")
+ NUMLD,
+ /**
+ * lite
+ *
+ **/
+ @SEDA(PropertyTerm="LE", FormName="lite",FormDescription="")
+ NUMLE,
+ /**
+ * leaf
+ *
+ **/
+ @SEDA(PropertyTerm="LEF", FormName="leaf",FormDescription="")
+ NUMLEF,
+ /**
+ * linear foot
+ *
+ **/
+ @SEDA(PropertyTerm="LF", FormName="linear foot",FormDescription="")
+ NUMLF,
+ /**
+ * labour hour
+ *
+ **/
+ @SEDA(PropertyTerm="LH", FormName="labour hour",FormDescription="")
+ NUMLH,
+ /**
+ * linear inch
+ *
+ **/
+ @SEDA(PropertyTerm="LI", FormName="linear inch",FormDescription="")
+ NUMLI,
+ /**
+ * large spray
+ *
+ **/
+ @SEDA(PropertyTerm="LJ", FormName="large spray",FormDescription="")
+ NUMLJ,
+ /**
+ * link
+ *
+ **/
+ @SEDA(PropertyTerm="LK", FormName="link",FormDescription="")
+ NUMLK,
+ /**
+ * linear metre
+ *
+ **/
+ @SEDA(PropertyTerm="LM", FormName="linear metre",FormDescription="")
+ NUMLM,
+ /**
+ * length
+ *
+ **/
+ @SEDA(PropertyTerm="LN", FormName="length",FormDescription="")
+ NUMLN,
+ /**
+ * lot [unit of procurement]
+ *
+ **/
+ @SEDA(PropertyTerm="LO", FormName="lot [unit of procurement]",FormDescription="")
+ NUMLO,
+ /**
+ * liquid pound
+ *
+ **/
+ @SEDA(PropertyTerm="LP", FormName="liquid pound",FormDescription="")
+ NUMLP,
+ /**
+ * litre of pure alcohol
+ *
+ **/
+ @SEDA(PropertyTerm="LPA", FormName="litre of pure alcohol",FormDescription="")
+ NUMLPA,
+ /**
+ * layer
+ *
+ **/
+ @SEDA(PropertyTerm="LR", FormName="layer",FormDescription="")
+ NUMLR,
+ /**
+ * lump sum
+ *
+ **/
+ @SEDA(PropertyTerm="LS", FormName="lump sum",FormDescription="")
+ NUMLS,
+ /**
+ * ton (UK) or long ton (US)
+ *
+ **/
+ @SEDA(PropertyTerm="LTN", FormName="ton (UK) or long ton (US)",FormDescription="")
+ NUMLTN,
+ /**
+ * litre
+ *
+ **/
+ @SEDA(PropertyTerm="LTR", FormName="litre",FormDescription="")
+ NUMLTR,
+ /**
+ * metric ton, lubricating oil
+ *
+ **/
+ @SEDA(PropertyTerm="LUB", FormName="metric ton, lubricating oil",FormDescription="")
+ NUMLUB,
+ /**
+ * lumen
+ *
+ **/
+ @SEDA(PropertyTerm="LUM", FormName="lumen",FormDescription="")
+ NUMLUM,
+ /**
+ * lux
+ *
+ **/
+ @SEDA(PropertyTerm="LUX", FormName="lux",FormDescription="")
+ NUMLUX,
+ /**
+ * linear yard per pound
+ *
+ **/
+ @SEDA(PropertyTerm="LX", FormName="linear yard per pound",FormDescription="")
+ NUMLX,
+ /**
+ * linear yard
+ *
+ **/
+ @SEDA(PropertyTerm="LY", FormName="linear yard",FormDescription="")
+ NUMLY,
+ /**
+ * magnetic tape
+ *
+ **/
+ @SEDA(PropertyTerm="M0", FormName="magnetic tape",FormDescription="")
+ NUMM0,
+ /**
+ * milligram per litre
+ *
+ **/
+ @SEDA(PropertyTerm="M1", FormName="milligram per litre",FormDescription="")
+ NUMM1,
+ /**
+ * monetary value
+ *
+ **/
+ @SEDA(PropertyTerm="M4", FormName="monetary value",FormDescription="")
+ NUMM4,
+ /**
+ * microcurie
+ *
+ **/
+ @SEDA(PropertyTerm="M5", FormName="microcurie",FormDescription="")
+ NUMM5,
+ /**
+ * micro-inch
+ *
+ **/
+ @SEDA(PropertyTerm="M7", FormName="micro-inch",FormDescription="")
+ NUMM7,
+ /**
+ * million Btu per 1000 cubic feet
+ *
+ **/
+ @SEDA(PropertyTerm="M9", FormName="million Btu per 1000 cubic feet",FormDescription="")
+ NUMM9,
+ /**
+ * machine per unit
+ *
+ **/
+ @SEDA(PropertyTerm="MA", FormName="machine per unit",FormDescription="")
+ NUMMA,
+ /**
+ * megavolt ampere reactive hours
+ *
+ **/
+ @SEDA(PropertyTerm="MAH", FormName="megavolt ampere reactive hours",FormDescription="")
+ NUMMAH,
+ /**
+ * mega litre
+ *
+ **/
+ @SEDA(PropertyTerm="MAL", FormName="mega litre",FormDescription="")
+ NUMMAL,
+ /**
+ * megametre
+ *
+ **/
+ @SEDA(PropertyTerm="MAM", FormName="megametre",FormDescription="")
+ NUMMAM,
+ /**
+ * megavolt ampere reactive
+ *
+ **/
+ @SEDA(PropertyTerm="MAR", FormName="megavolt ampere reactive",FormDescription="")
+ NUMMAR,
+ /**
+ * megawatt
+ *
+ **/
+ @SEDA(PropertyTerm="MAW", FormName="megawatt",FormDescription="")
+ NUMMAW,
+ /**
+ * thousand standard brick equivalent
+ *
+ **/
+ @SEDA(PropertyTerm="MBE", FormName="thousand standard brick equivalent",FormDescription="")
+ NUMMBE,
+ /**
+ * thousand board feet
+ *
+ **/
+ @SEDA(PropertyTerm="MBF", FormName="thousand board feet",FormDescription="")
+ NUMMBF,
+ /**
+ * millibar
+ *
+ **/
+ @SEDA(PropertyTerm="MBR", FormName="millibar",FormDescription="")
+ NUMMBR,
+ /**
+ * microgram
+ *
+ **/
+ @SEDA(PropertyTerm="MC", FormName="microgram",FormDescription="")
+ NUMMC,
+ /**
+ * millicurie
+ *
+ **/
+ @SEDA(PropertyTerm="MCU", FormName="millicurie",FormDescription="")
+ NUMMCU,
+ /**
+ * air dry metric ton
+ *
+ **/
+ @SEDA(PropertyTerm="MD", FormName="air dry metric ton",FormDescription="")
+ NUMMD,
+ /**
+ * milligram per square foot per side
+ *
+ **/
+ @SEDA(PropertyTerm="MF", FormName="milligram per square foot per side",FormDescription="")
+ NUMMF,
+ /**
+ * milligram
+ *
+ **/
+ @SEDA(PropertyTerm="MGM", FormName="milligram",FormDescription="")
+ NUMMGM,
+ /**
+ * megahertz
+ *
+ **/
+ @SEDA(PropertyTerm="MHZ", FormName="megahertz",FormDescription="")
+ NUMMHZ,
+ /**
+ * square mile
+ *
+ **/
+ @SEDA(PropertyTerm="MIK", FormName="square mile",FormDescription="")
+ NUMMIK,
+ /**
+ * thousand
+ *
+ **/
+ @SEDA(PropertyTerm="MIL", FormName="thousand",FormDescription="")
+ NUMMIL,
+ /**
+ * minute [unit of time]
+ *
+ **/
+ @SEDA(PropertyTerm="MIN", FormName="minute [unit of time]",FormDescription="")
+ NUMMIN,
+ /**
+ * million
+ *
+ **/
+ @SEDA(PropertyTerm="MIO", FormName="million",FormDescription="")
+ NUMMIO,
+ /**
+ * million international unit
+ *
+ **/
+ @SEDA(PropertyTerm="MIU", FormName="million international unit",FormDescription="")
+ NUMMIU,
+ /**
+ * milligram per square inch
+ *
+ **/
+ @SEDA(PropertyTerm="MK", FormName="milligram per square inch",FormDescription="")
+ NUMMK,
+ /**
+ * milliard
+ *
+ **/
+ @SEDA(PropertyTerm="MLD", FormName="milliard",FormDescription="")
+ NUMMLD,
+ /**
+ * millilitre
+ *
+ **/
+ @SEDA(PropertyTerm="MLT", FormName="millilitre",FormDescription="")
+ NUMMLT,
+ /**
+ * square millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="MMK", FormName="square millimetre",FormDescription="")
+ NUMMMK,
+ /**
+ * cubic millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="MMQ", FormName="cubic millimetre",FormDescription="")
+ NUMMMQ,
+ /**
+ * millimetre
+ *
+ **/
+ @SEDA(PropertyTerm="MMT", FormName="millimetre",FormDescription="")
+ NUMMMT,
+ /**
+ * kilogram, dry weight
+ *
+ **/
+ @SEDA(PropertyTerm="MND", FormName="kilogram, dry weight",FormDescription="")
+ NUMMND,
+ /**
+ * month
+ *
+ **/
+ @SEDA(PropertyTerm="MON", FormName="month",FormDescription="")
+ NUMMON,
+ /**
+ * megapascal
+ *
+ **/
+ @SEDA(PropertyTerm="MPA", FormName="megapascal",FormDescription="")
+ NUMMPA,
+ /**
+ * thousand metre
+ *
+ **/
+ @SEDA(PropertyTerm="MQ", FormName="thousand metre",FormDescription="")
+ NUMMQ,
+ /**
+ * cubic metre per hour
+ *
+ **/
+ @SEDA(PropertyTerm="MQH", FormName="cubic metre per hour",FormDescription="")
+ NUMMQH,
+ /**
+ * cubic metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="MQS", FormName="cubic metre per second",FormDescription="")
+ NUMMQS,
+ /**
+ * metre per second squared
+ *
+ **/
+ @SEDA(PropertyTerm="MSK", FormName="metre per second squared",FormDescription="")
+ NUMMSK,
+ /**
+ * mat
+ *
+ **/
+ @SEDA(PropertyTerm="MT", FormName="mat",FormDescription="")
+ NUMMT,
+ /**
+ * square metre
+ *
+ **/
+ @SEDA(PropertyTerm="MTK", FormName="square metre",FormDescription="")
+ NUMMTK,
+ /**
+ * cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="MTQ", FormName="cubic metre",FormDescription="")
+ NUMMTQ,
+ /**
+ * metre
+ *
+ **/
+ @SEDA(PropertyTerm="MTR", FormName="metre",FormDescription="")
+ NUMMTR,
+ /**
+ * metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="MTS", FormName="metre per second",FormDescription="")
+ NUMMTS,
+ /**
+ * number of mults
+ *
+ **/
+ @SEDA(PropertyTerm="MV", FormName="number of mults",FormDescription="")
+ NUMMV,
+ /**
+ * megavolt - ampere
+ *
+ **/
+ @SEDA(PropertyTerm="MVA", FormName="megavolt - ampere",FormDescription="")
+ NUMMVA,
+ /**
+ * megawatt hour (1000 kW.h)
+ *
+ **/
+ @SEDA(PropertyTerm="MWH", FormName="megawatt hour (1000 kW.h)",FormDescription="")
+ NUMMWH,
+ /**
+ * pen calorie
+ *
+ **/
+ @SEDA(PropertyTerm="N1", FormName="pen calorie",FormDescription="")
+ NUMN1,
+ /**
+ * number of lines
+ *
+ **/
+ @SEDA(PropertyTerm="N2", FormName="number of lines",FormDescription="")
+ NUMN2,
+ /**
+ * print point
+ *
+ **/
+ @SEDA(PropertyTerm="N3", FormName="print point",FormDescription="")
+ NUMN3,
+ /**
+ * milligram per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="NA", FormName="milligram per kilogram",FormDescription="")
+ NUMNA,
+ /**
+ * number of articles
+ *
+ **/
+ @SEDA(PropertyTerm="NAR", FormName="number of articles",FormDescription="")
+ NUMNAR,
+ /**
+ * barge
+ *
+ **/
+ @SEDA(PropertyTerm="NB", FormName="barge",FormDescription="")
+ NUMNB,
+ /**
+ * number of bobbins
+ *
+ **/
+ @SEDA(PropertyTerm="NBB", FormName="number of bobbins",FormDescription="")
+ NUMNBB,
+ /**
+ * car
+ *
+ **/
+ @SEDA(PropertyTerm="NC", FormName="car",FormDescription="")
+ NUMNC,
+ /**
+ * number of cells
+ *
+ **/
+ @SEDA(PropertyTerm="NCL", FormName="number of cells",FormDescription="")
+ NUMNCL,
+ /**
+ * net barrel
+ *
+ **/
+ @SEDA(PropertyTerm="ND", FormName="net barrel",FormDescription="")
+ NUMND,
+ /**
+ * net litre
+ *
+ **/
+ @SEDA(PropertyTerm="NE", FormName="net litre",FormDescription="")
+ NUMNE,
+ /**
+ * newton
+ *
+ **/
+ @SEDA(PropertyTerm="NEW", FormName="newton",FormDescription="")
+ NUMNEW,
+ /**
+ * message
+ *
+ **/
+ @SEDA(PropertyTerm="NF", FormName="message",FormDescription="")
+ NUMNF,
+ /**
+ * net gallon (us)
+ *
+ **/
+ @SEDA(PropertyTerm="NG", FormName="net gallon (us)",FormDescription="")
+ NUMNG,
+ /**
+ * message hour
+ *
+ **/
+ @SEDA(PropertyTerm="NH", FormName="message hour",FormDescription="")
+ NUMNH,
+ /**
+ * net imperial gallon
+ *
+ **/
+ @SEDA(PropertyTerm="NI", FormName="net imperial gallon",FormDescription="")
+ NUMNI,
+ /**
+ * number of international units
+ *
+ **/
+ @SEDA(PropertyTerm="NIU", FormName="number of international units",FormDescription="")
+ NUMNIU,
+ /**
+ * number of screens
+ *
+ **/
+ @SEDA(PropertyTerm="NJ", FormName="number of screens",FormDescription="")
+ NUMNJ,
+ /**
+ * load
+ *
+ **/
+ @SEDA(PropertyTerm="NL", FormName="load",FormDescription="")
+ NUMNL,
+ /**
+ * nautical mile
+ *
+ **/
+ @SEDA(PropertyTerm="NMI", FormName="nautical mile",FormDescription="")
+ NUMNMI,
+ /**
+ * number of packs
+ *
+ **/
+ @SEDA(PropertyTerm="NMP", FormName="number of packs",FormDescription="")
+ NUMNMP,
+ /**
+ * train
+ *
+ **/
+ @SEDA(PropertyTerm="NN", FormName="train",FormDescription="")
+ NUMNN,
+ /**
+ * number of parcels
+ *
+ **/
+ @SEDA(PropertyTerm="NPL", FormName="number of parcels",FormDescription="")
+ NUMNPL,
+ /**
+ * number of pairs
+ *
+ **/
+ @SEDA(PropertyTerm="NPR", FormName="number of pairs",FormDescription="")
+ NUMNPR,
+ /**
+ * number of parts
+ *
+ **/
+ @SEDA(PropertyTerm="NPT", FormName="number of parts",FormDescription="")
+ NUMNPT,
+ /**
+ * mho
+ *
+ **/
+ @SEDA(PropertyTerm="NQ", FormName="mho",FormDescription="")
+ NUMNQ,
+ /**
+ * micromho
+ *
+ **/
+ @SEDA(PropertyTerm="NR", FormName="micromho",FormDescription="")
+ NUMNR,
+ /**
+ * number of rolls
+ *
+ **/
+ @SEDA(PropertyTerm="NRL", FormName="number of rolls",FormDescription="")
+ NUMNRL,
+ /**
+ * net ton
+ *
+ **/
+ @SEDA(PropertyTerm="NT", FormName="net ton",FormDescription="")
+ NUMNT,
+ /**
+ * net register ton
+ *
+ **/
+ @SEDA(PropertyTerm="NTT", FormName="net register ton",FormDescription="")
+ NUMNTT,
+ /**
+ * newton metre
+ *
+ **/
+ @SEDA(PropertyTerm="NU", FormName="newton metre",FormDescription="")
+ NUMNU,
+ /**
+ * vehicle
+ *
+ **/
+ @SEDA(PropertyTerm="NV", FormName="vehicle",FormDescription="")
+ NUMNV,
+ /**
+ * part per thousand
+ *
+ **/
+ @SEDA(PropertyTerm="NX", FormName="part per thousand",FormDescription="")
+ NUMNX,
+ /**
+ * pound per air dry metric ton
+ *
+ **/
+ @SEDA(PropertyTerm="NY", FormName="pound per air dry metric ton",FormDescription="")
+ NUMNY,
+ /**
+ * panel
+ *
+ **/
+ @SEDA(PropertyTerm="OA", FormName="panel",FormDescription="")
+ NUMOA,
+ /**
+ * ozone depletion equivalent
+ *
+ **/
+ @SEDA(PropertyTerm="ODE", FormName="ozone depletion equivalent",FormDescription="")
+ NUMODE,
+ /**
+ * ohm
+ *
+ **/
+ @SEDA(PropertyTerm="OHM", FormName="ohm",FormDescription="")
+ NUMOHM,
+ /**
+ * ounce per square yard
+ *
+ **/
+ @SEDA(PropertyTerm="ON", FormName="ounce per square yard",FormDescription="")
+ NUMON,
+ /**
+ * ounce
+ *
+ **/
+ @SEDA(PropertyTerm="ONZ", FormName="ounce",FormDescription="")
+ NUMONZ,
+ /**
+ * two pack
+ *
+ **/
+ @SEDA(PropertyTerm="OP", FormName="two pack",FormDescription="")
+ NUMOP,
+ /**
+ * overtime hour
+ *
+ **/
+ @SEDA(PropertyTerm="OT", FormName="overtime hour",FormDescription="")
+ NUMOT,
+ /**
+ * ounce av
+ *
+ **/
+ @SEDA(PropertyTerm="OZ", FormName="ounce av",FormDescription="")
+ NUMOZ,
+ /**
+ * fluid ounce (US)
+ *
+ **/
+ @SEDA(PropertyTerm="OZA", FormName="fluid ounce (US)",FormDescription="")
+ NUMOZA,
+ /**
+ * fluid ounce (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="OZI", FormName="fluid ounce (UK)",FormDescription="")
+ NUMOZI,
+ /**
+ * page - electronic
+ *
+ **/
+ @SEDA(PropertyTerm="P0", FormName="page - electronic",FormDescription="")
+ NUMP0,
+ /**
+ * percent
+ *
+ **/
+ @SEDA(PropertyTerm="P1", FormName="percent",FormDescription="")
+ NUMP1,
+ /**
+ * pound per foot
+ *
+ **/
+ @SEDA(PropertyTerm="P2", FormName="pound per foot",FormDescription="")
+ NUMP2,
+ /**
+ * three pack
+ *
+ **/
+ @SEDA(PropertyTerm="P3", FormName="three pack",FormDescription="")
+ NUMP3,
+ /**
+ * four pack
+ *
+ **/
+ @SEDA(PropertyTerm="P4", FormName="four pack",FormDescription="")
+ NUMP4,
+ /**
+ * five pack
+ *
+ **/
+ @SEDA(PropertyTerm="P5", FormName="five pack",FormDescription="")
+ NUMP5,
+ /**
+ * six pack
+ *
+ **/
+ @SEDA(PropertyTerm="P6", FormName="six pack",FormDescription="")
+ NUMP6,
+ /**
+ * seven pack
+ *
+ **/
+ @SEDA(PropertyTerm="P7", FormName="seven pack",FormDescription="")
+ NUMP7,
+ /**
+ * eight pack
+ *
+ **/
+ @SEDA(PropertyTerm="P8", FormName="eight pack",FormDescription="")
+ NUMP8,
+ /**
+ * nine pack
+ *
+ **/
+ @SEDA(PropertyTerm="P9", FormName="nine pack",FormDescription="")
+ NUMP9,
+ /**
+ * packet
+ *
+ **/
+ @SEDA(PropertyTerm="PA", FormName="packet",FormDescription="")
+ NUMPA,
+ /**
+ * pascal
+ *
+ **/
+ @SEDA(PropertyTerm="PAL", FormName="pascal",FormDescription="")
+ NUMPAL,
+ /**
+ * pair inch
+ *
+ **/
+ @SEDA(PropertyTerm="PB", FormName="pair inch",FormDescription="")
+ NUMPB,
+ /**
+ * pad
+ *
+ **/
+ @SEDA(PropertyTerm="PD", FormName="pad",FormDescription="")
+ NUMPD,
+ /**
+ * pound equivalent
+ *
+ **/
+ @SEDA(PropertyTerm="PE", FormName="pound equivalent",FormDescription="")
+ NUMPE,
+ /**
+ * pallet (lift)
+ *
+ **/
+ @SEDA(PropertyTerm="PF", FormName="pallet (lift)",FormDescription="")
+ NUMPF,
+ /**
+ * proof litre
+ *
+ **/
+ @SEDA(PropertyTerm="PFL", FormName="proof litre",FormDescription="")
+ NUMPFL,
+ /**
+ * plate
+ *
+ **/
+ @SEDA(PropertyTerm="PG", FormName="plate",FormDescription="")
+ NUMPG,
+ /**
+ * proof gallon
+ *
+ **/
+ @SEDA(PropertyTerm="PGL", FormName="proof gallon",FormDescription="")
+ NUMPGL,
+ /**
+ * pitch
+ *
+ **/
+ @SEDA(PropertyTerm="PI", FormName="pitch",FormDescription="")
+ NUMPI,
+ /**
+ * pack
+ *
+ **/
+ @SEDA(PropertyTerm="PK", FormName="pack",FormDescription="")
+ NUMPK,
+ /**
+ * pail
+ *
+ **/
+ @SEDA(PropertyTerm="PL", FormName="pail",FormDescription="")
+ NUMPL,
+ /**
+ * degree Plato
+ *
+ **/
+ @SEDA(PropertyTerm="PLA", FormName="degree Plato",FormDescription="")
+ NUMPLA,
+ /**
+ * pound percentage
+ *
+ **/
+ @SEDA(PropertyTerm="PM", FormName="pound percentage",FormDescription="")
+ NUMPM,
+ /**
+ * pound net
+ *
+ **/
+ @SEDA(PropertyTerm="PN", FormName="pound net",FormDescription="")
+ NUMPN,
+ /**
+ * pound per inch of length
+ *
+ **/
+ @SEDA(PropertyTerm="PO", FormName="pound per inch of length",FormDescription="")
+ NUMPO,
+ /**
+ * page per inch
+ *
+ **/
+ @SEDA(PropertyTerm="PQ", FormName="page per inch",FormDescription="")
+ NUMPQ,
+ /**
+ * pair
+ *
+ **/
+ @SEDA(PropertyTerm="PR", FormName="pair",FormDescription="")
+ NUMPR,
+ /**
+ * pound-force per square inch
+ *
+ **/
+ @SEDA(PropertyTerm="PS", FormName="pound-force per square inch",FormDescription="")
+ NUMPS,
+ /**
+ * pint (US)
+ *
+ **/
+ @SEDA(PropertyTerm="PT", FormName="pint (US)",FormDescription="")
+ NUMPT,
+ /**
+ * dry pint (US)
+ *
+ **/
+ @SEDA(PropertyTerm="PTD", FormName="dry pint (US)",FormDescription="")
+ NUMPTD,
+ /**
+ * pint (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="PTI", FormName="pint (UK)",FormDescription="")
+ NUMPTI,
+ /**
+ * liquid pint (US)
+ *
+ **/
+ @SEDA(PropertyTerm="PTL", FormName="liquid pint (US)",FormDescription="")
+ NUMPTL,
+ /**
+ * tray / tray pack
+ *
+ **/
+ @SEDA(PropertyTerm="PU", FormName="tray / tray pack",FormDescription="")
+ NUMPU,
+ /**
+ * half pint (US)
+ *
+ **/
+ @SEDA(PropertyTerm="PV", FormName="half pint (US)",FormDescription="")
+ NUMPV,
+ /**
+ * pound per inch of width
+ *
+ **/
+ @SEDA(PropertyTerm="PW", FormName="pound per inch of width",FormDescription="")
+ NUMPW,
+ /**
+ * peck dry (US)
+ *
+ **/
+ @SEDA(PropertyTerm="PY", FormName="peck dry (US)",FormDescription="")
+ NUMPY,
+ /**
+ * peck dry (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="PZ", FormName="peck dry (UK)",FormDescription="")
+ NUMPZ,
+ /**
+ * meal
+ *
+ **/
+ @SEDA(PropertyTerm="Q3", FormName="meal",FormDescription="")
+ NUMQ3,
+ /**
+ * page - facsimile
+ *
+ **/
+ @SEDA(PropertyTerm="QA", FormName="page - facsimile",FormDescription="")
+ NUMQA,
+ /**
+ * quarter (of a year)
+ *
+ **/
+ @SEDA(PropertyTerm="QAN", FormName="quarter (of a year)",FormDescription="")
+ NUMQAN,
+ /**
+ * page - hardcopy
+ *
+ **/
+ @SEDA(PropertyTerm="QB", FormName="page - hardcopy",FormDescription="")
+ NUMQB,
+ /**
+ * quarter dozen
+ *
+ **/
+ @SEDA(PropertyTerm="QD", FormName="quarter dozen",FormDescription="")
+ NUMQD,
+ /**
+ * quarter hour
+ *
+ **/
+ @SEDA(PropertyTerm="QH", FormName="quarter hour",FormDescription="")
+ NUMQH,
+ /**
+ * quarter kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="QK", FormName="quarter kilogram",FormDescription="")
+ NUMQK,
+ /**
+ * quire
+ *
+ **/
+ @SEDA(PropertyTerm="QR", FormName="quire",FormDescription="")
+ NUMQR,
+ /**
+ * quart (US)
+ *
+ **/
+ @SEDA(PropertyTerm="QT", FormName="quart (US)",FormDescription="")
+ NUMQT,
+ /**
+ * dry quart (US)
+ *
+ **/
+ @SEDA(PropertyTerm="QTD", FormName="dry quart (US)",FormDescription="")
+ NUMQTD,
+ /**
+ * quart (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="QTI", FormName="quart (UK)",FormDescription="")
+ NUMQTI,
+ /**
+ * liquid quart (US)
+ *
+ **/
+ @SEDA(PropertyTerm="QTL", FormName="liquid quart (US)",FormDescription="")
+ NUMQTL,
+ /**
+ * quarter (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="QTR", FormName="quarter (UK)",FormDescription="")
+ NUMQTR,
+ /**
+ * pica
+ *
+ **/
+ @SEDA(PropertyTerm="R1", FormName="pica",FormDescription="")
+ NUMR1,
+ /**
+ * calorie
+ *
+ **/
+ @SEDA(PropertyTerm="R4", FormName="calorie",FormDescription="")
+ NUMR4,
+ /**
+ * thousand cubic metre
+ *
+ **/
+ @SEDA(PropertyTerm="R9", FormName="thousand cubic metre",FormDescription="")
+ NUMR9,
+ /**
+ * rack
+ *
+ **/
+ @SEDA(PropertyTerm="RA", FormName="rack",FormDescription="")
+ NUMRA,
+ /**
+ * rod
+ *
+ **/
+ @SEDA(PropertyTerm="RD", FormName="rod",FormDescription="")
+ NUMRD,
+ /**
+ * ring
+ *
+ **/
+ @SEDA(PropertyTerm="RG", FormName="ring",FormDescription="")
+ NUMRG,
+ /**
+ * running or operating hour
+ *
+ **/
+ @SEDA(PropertyTerm="RH", FormName="running or operating hour",FormDescription="")
+ NUMRH,
+ /**
+ * roll metric measure
+ *
+ **/
+ @SEDA(PropertyTerm="RK", FormName="roll metric measure",FormDescription="")
+ NUMRK,
+ /**
+ * reel
+ *
+ **/
+ @SEDA(PropertyTerm="RL", FormName="reel",FormDescription="")
+ NUMRL,
+ /**
+ * ream
+ *
+ **/
+ @SEDA(PropertyTerm="RM", FormName="ream",FormDescription="")
+ NUMRM,
+ /**
+ * ream metric measure
+ *
+ **/
+ @SEDA(PropertyTerm="RN", FormName="ream metric measure",FormDescription="")
+ NUMRN,
+ /**
+ * roll
+ *
+ **/
+ @SEDA(PropertyTerm="RO", FormName="roll",FormDescription="")
+ NUMRO,
+ /**
+ * pound per ream
+ *
+ **/
+ @SEDA(PropertyTerm="RP", FormName="pound per ream",FormDescription="")
+ NUMRP,
+ /**
+ * revolutions per minute
+ *
+ **/
+ @SEDA(PropertyTerm="RPM", FormName="revolutions per minute",FormDescription="")
+ NUMRPM,
+ /**
+ * revolutions per second
+ *
+ **/
+ @SEDA(PropertyTerm="RPS", FormName="revolutions per second",FormDescription="")
+ NUMRPS,
+ /**
+ * reset
+ *
+ **/
+ @SEDA(PropertyTerm="RS", FormName="reset",FormDescription="")
+ NUMRS,
+ /**
+ * revenue ton mile
+ *
+ **/
+ @SEDA(PropertyTerm="RT", FormName="revenue ton mile",FormDescription="")
+ NUMRT,
+ /**
+ * run
+ *
+ **/
+ @SEDA(PropertyTerm="RU", FormName="run",FormDescription="")
+ NUMRU,
+ /**
+ * square foot per second
+ *
+ **/
+ @SEDA(PropertyTerm="S3", FormName="square foot per second",FormDescription="")
+ NUMS3,
+ /**
+ * square metre per second
+ *
+ **/
+ @SEDA(PropertyTerm="S4", FormName="square metre per second",FormDescription="")
+ NUMS4,
+ /**
+ * sixty fourths of an inch
+ *
+ **/
+ @SEDA(PropertyTerm="S5", FormName="sixty fourths of an inch",FormDescription="")
+ NUMS5,
+ /**
+ * session
+ *
+ **/
+ @SEDA(PropertyTerm="S6", FormName="session",FormDescription="")
+ NUMS6,
+ /**
+ * storage unit
+ *
+ **/
+ @SEDA(PropertyTerm="S7", FormName="storage unit",FormDescription="")
+ NUMS7,
+ /**
+ * standard advertising unit
+ *
+ **/
+ @SEDA(PropertyTerm="S8", FormName="standard advertising unit",FormDescription="")
+ NUMS8,
+ /**
+ * sack
+ *
+ **/
+ @SEDA(PropertyTerm="SA", FormName="sack",FormDescription="")
+ NUMSA,
+ /**
+ * half year (6 months)
+ *
+ **/
+ @SEDA(PropertyTerm="SAN", FormName="half year (6 months)",FormDescription="")
+ NUMSAN,
+ /**
+ * score
+ *
+ **/
+ @SEDA(PropertyTerm="SCO", FormName="score",FormDescription="")
+ NUMSCO,
+ /**
+ * scruple
+ *
+ **/
+ @SEDA(PropertyTerm="SCR", FormName="scruple",FormDescription="")
+ NUMSCR,
+ /**
+ * solid pound
+ *
+ **/
+ @SEDA(PropertyTerm="SD", FormName="solid pound",FormDescription="")
+ NUMSD,
+ /**
+ * section
+ *
+ **/
+ @SEDA(PropertyTerm="SE", FormName="section",FormDescription="")
+ NUMSE,
+ /**
+ * second [unit of time]
+ *
+ **/
+ @SEDA(PropertyTerm="SEC", FormName="second [unit of time]",FormDescription="")
+ NUMSEC,
+ /**
+ * set
+ *
+ **/
+ @SEDA(PropertyTerm="SET", FormName="set",FormDescription="")
+ NUMSET,
+ /**
+ * segment
+ *
+ **/
+ @SEDA(PropertyTerm="SG", FormName="segment",FormDescription="")
+ NUMSG,
+ /**
+ * shipping ton
+ *
+ **/
+ @SEDA(PropertyTerm="SHT", FormName="shipping ton",FormDescription="")
+ NUMSHT,
+ /**
+ * siemens
+ *
+ **/
+ @SEDA(PropertyTerm="SIE", FormName="siemens",FormDescription="")
+ NUMSIE,
+ /**
+ * split tank truck
+ *
+ **/
+ @SEDA(PropertyTerm="SK", FormName="split tank truck",FormDescription="")
+ NUMSK,
+ /**
+ * slipsheet
+ *
+ **/
+ @SEDA(PropertyTerm="SL", FormName="slipsheet",FormDescription="")
+ NUMSL,
+ /**
+ * mile (statute mile)
+ *
+ **/
+ @SEDA(PropertyTerm="SMI", FormName="mile (statute mile)",FormDescription="")
+ NUMSMI,
+ /**
+ * square rod
+ *
+ **/
+ @SEDA(PropertyTerm="SN", FormName="square rod",FormDescription="")
+ NUMSN,
+ /**
+ * spool
+ *
+ **/
+ @SEDA(PropertyTerm="SO", FormName="spool",FormDescription="")
+ NUMSO,
+ /**
+ * shelf package
+ *
+ **/
+ @SEDA(PropertyTerm="SP", FormName="shelf package",FormDescription="")
+ NUMSP,
+ /**
+ * square
+ *
+ **/
+ @SEDA(PropertyTerm="SQ", FormName="square",FormDescription="")
+ NUMSQ,
+ /**
+ * square, roofing
+ *
+ **/
+ @SEDA(PropertyTerm="SQR", FormName="square, roofing",FormDescription="")
+ NUMSQR,
+ /**
+ * strip
+ *
+ **/
+ @SEDA(PropertyTerm="SR", FormName="strip",FormDescription="")
+ NUMSR,
+ /**
+ * sheet metric measure
+ *
+ **/
+ @SEDA(PropertyTerm="SS", FormName="sheet metric measure",FormDescription="")
+ NUMSS,
+ /**
+ * short standard (7200 matches)
+ *
+ **/
+ @SEDA(PropertyTerm="SST", FormName="short standard (7200 matches)",FormDescription="")
+ NUMSST,
+ /**
+ * sheet
+ *
+ **/
+ @SEDA(PropertyTerm="ST", FormName="sheet",FormDescription="")
+ NUMST,
+ /**
+ * stone (UK)
+ *
+ **/
+ @SEDA(PropertyTerm="STI", FormName="stone (UK)",FormDescription="")
+ NUMSTI,
+ /**
+ * stick, cigarette
+ *
+ **/
+ @SEDA(PropertyTerm="STK", FormName="stick, cigarette",FormDescription="")
+ NUMSTK,
+ /**
+ * standard litre
+ *
+ **/
+ @SEDA(PropertyTerm="STL", FormName="standard litre",FormDescription="")
+ NUMSTL,
+ /**
+ * ton (US) or short ton (UK/US)
+ *
+ **/
+ @SEDA(PropertyTerm="STN", FormName="ton (US) or short ton (UK/US)",FormDescription="")
+ NUMSTN,
+ /**
+ * skid
+ *
+ **/
+ @SEDA(PropertyTerm="SV", FormName="skid",FormDescription="")
+ NUMSV,
+ /**
+ * skein
+ *
+ **/
+ @SEDA(PropertyTerm="SW", FormName="skein",FormDescription="")
+ NUMSW,
+ /**
+ * shipment
+ *
+ **/
+ @SEDA(PropertyTerm="SX", FormName="shipment",FormDescription="")
+ NUMSX,
+ /**
+ * telecommunication line in service
+ *
+ **/
+ @SEDA(PropertyTerm="T0", FormName="telecommunication line in service",FormDescription="")
+ NUMT0,
+ /**
+ * thousand pound gross
+ *
+ **/
+ @SEDA(PropertyTerm="T1", FormName="thousand pound gross",FormDescription="")
+ NUMT1,
+ /**
+ * thousand piece
+ *
+ **/
+ @SEDA(PropertyTerm="T3", FormName="thousand piece",FormDescription="")
+ NUMT3,
+ /**
+ * thousand bag
+ *
+ **/
+ @SEDA(PropertyTerm="T4", FormName="thousand bag",FormDescription="")
+ NUMT4,
+ /**
+ * thousand casing
+ *
+ **/
+ @SEDA(PropertyTerm="T5", FormName="thousand casing",FormDescription="")
+ NUMT5,
+ /**
+ * thousand gallon (US)
+ *
+ **/
+ @SEDA(PropertyTerm="T6", FormName="thousand gallon (US)",FormDescription="")
+ NUMT6,
+ /**
+ * thousand impression
+ *
+ **/
+ @SEDA(PropertyTerm="T7", FormName="thousand impression",FormDescription="")
+ NUMT7,
+ /**
+ * thousand linear inch
+ *
+ **/
+ @SEDA(PropertyTerm="T8", FormName="thousand linear inch",FormDescription="")
+ NUMT8,
+ /**
+ * tenth cubic foot
+ *
+ **/
+ @SEDA(PropertyTerm="TA", FormName="tenth cubic foot",FormDescription="")
+ NUMTA,
+ /**
+ * kiloampere hour (thousand ampere hour)
+ *
+ **/
+ @SEDA(PropertyTerm="TAH", FormName="kiloampere hour (thousand ampere hour)",FormDescription="")
+ NUMTAH,
+ /**
+ * truckload
+ *
+ **/
+ @SEDA(PropertyTerm="TC", FormName="truckload",FormDescription="")
+ NUMTC,
+ /**
+ * therm
+ *
+ **/
+ @SEDA(PropertyTerm="TD", FormName="therm",FormDescription="")
+ NUMTD,
+ /**
+ * tote
+ *
+ **/
+ @SEDA(PropertyTerm="TE", FormName="tote",FormDescription="")
+ NUMTE,
+ /**
+ * ten square yard
+ *
+ **/
+ @SEDA(PropertyTerm="TF", FormName="ten square yard",FormDescription="")
+ NUMTF,
+ /**
+ * thousand square inch
+ *
+ **/
+ @SEDA(PropertyTerm="TI", FormName="thousand square inch",FormDescription="")
+ NUMTI,
+ /**
+ * metric ton, including container
+ *
+ **/
+ @SEDA(PropertyTerm="TIC", FormName="metric ton, including container",FormDescription="")
+ NUMTIC,
+ /**
+ * metric ton, including inner packaging
+ *
+ **/
+ @SEDA(PropertyTerm="TIP", FormName="metric ton, including inner packaging",FormDescription="")
+ NUMTIP,
+ /**
+ * thousand square centimetre
+ *
+ **/
+ @SEDA(PropertyTerm="TJ", FormName="thousand square centimetre",FormDescription="")
+ NUMTJ,
+ /**
+ * tank, rectangular
+ *
+ **/
+ @SEDA(PropertyTerm="TK", FormName="tank, rectangular",FormDescription="")
+ NUMTK,
+ /**
+ * thousand feet (linear)
+ *
+ **/
+ @SEDA(PropertyTerm="TL", FormName="thousand feet (linear)",FormDescription="")
+ NUMTL,
+ /**
+ * kilogram of imported meat, less offal
+ *
+ **/
+ @SEDA(PropertyTerm="TMS", FormName="kilogram of imported meat, less offal",FormDescription="")
+ NUMTMS,
+ /**
+ * tin
+ *
+ **/
+ @SEDA(PropertyTerm="TN", FormName="tin",FormDescription="")
+ NUMTN,
+ /**
+ * tonne (metric ton)
+ *
+ **/
+ @SEDA(PropertyTerm="TNE", FormName="tonne (metric ton)",FormDescription="")
+ NUMTNE,
+ /**
+ * ten pack
+ *
+ **/
+ @SEDA(PropertyTerm="TP", FormName="ten pack",FormDescription="")
+ NUMTP,
+ /**
+ * ten pair
+ *
+ **/
+ @SEDA(PropertyTerm="TPR", FormName="ten pair",FormDescription="")
+ NUMTPR,
+ /**
+ * thousand feet
+ *
+ **/
+ @SEDA(PropertyTerm="TQ", FormName="thousand feet",FormDescription="")
+ NUMTQ,
+ /**
+ * thousand cubic metre per day
+ *
+ **/
+ @SEDA(PropertyTerm="TQD", FormName="thousand cubic metre per day",FormDescription="")
+ NUMTQD,
+ /**
+ * ten square feet
+ *
+ **/
+ @SEDA(PropertyTerm="TR", FormName="ten square feet",FormDescription="")
+ NUMTR,
+ /**
+ * trillion (EUR)
+ *
+ **/
+ @SEDA(PropertyTerm="TRL", FormName="trillion (EUR)",FormDescription="")
+ NUMTRL,
+ /**
+ * thousand square feet
+ *
+ **/
+ @SEDA(PropertyTerm="TS", FormName="thousand square feet",FormDescription="")
+ NUMTS,
+ /**
+ * tonne of substance 90 % dry
+ *
+ **/
+ @SEDA(PropertyTerm="TSD", FormName="tonne of substance 90 % dry",FormDescription="")
+ NUMTSD,
+ /**
+ * ton of steam per hour
+ *
+ **/
+ @SEDA(PropertyTerm="TSH", FormName="ton of steam per hour",FormDescription="")
+ NUMTSH,
+ /**
+ * thousand linear metre
+ *
+ **/
+ @SEDA(PropertyTerm="TT", FormName="thousand linear metre",FormDescription="")
+ NUMTT,
+ /**
+ * tube
+ *
+ **/
+ @SEDA(PropertyTerm="TU", FormName="tube",FormDescription="")
+ NUMTU,
+ /**
+ * thousand kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="TV", FormName="thousand kilogram",FormDescription="")
+ NUMTV,
+ /**
+ * thousand sheet
+ *
+ **/
+ @SEDA(PropertyTerm="TW", FormName="thousand sheet",FormDescription="")
+ NUMTW,
+ /**
+ * tank, cylindrical
+ *
+ **/
+ @SEDA(PropertyTerm="TY", FormName="tank, cylindrical",FormDescription="")
+ NUMTY,
+ /**
+ * treatment
+ *
+ **/
+ @SEDA(PropertyTerm="U1", FormName="treatment",FormDescription="")
+ NUMU1,
+ /**
+ * tablet
+ *
+ **/
+ @SEDA(PropertyTerm="U2", FormName="tablet",FormDescription="")
+ NUMU2,
+ /**
+ * torr
+ *
+ **/
+ @SEDA(PropertyTerm="UA", FormName="torr",FormDescription="")
+ NUMUA,
+ /**
+ * telecommunication line in service average
+ *
+ **/
+ @SEDA(PropertyTerm="UB", FormName="telecommunication line in service average",FormDescription="")
+ NUMUB,
+ /**
+ * telecommunication port
+ *
+ **/
+ @SEDA(PropertyTerm="UC", FormName="telecommunication port",FormDescription="")
+ NUMUC,
+ /**
+ * tenth minute
+ *
+ **/
+ @SEDA(PropertyTerm="UD", FormName="tenth minute",FormDescription="")
+ NUMUD,
+ /**
+ * tenth hour
+ *
+ **/
+ @SEDA(PropertyTerm="UE", FormName="tenth hour",FormDescription="")
+ NUMUE,
+ /**
+ * usage per telecommunication line average
+ *
+ **/
+ @SEDA(PropertyTerm="UF", FormName="usage per telecommunication line average",FormDescription="")
+ NUMUF,
+ /**
+ * ten thousand yard
+ *
+ **/
+ @SEDA(PropertyTerm="UH", FormName="ten thousand yard",FormDescription="")
+ NUMUH,
+ /**
+ * million unit
+ *
+ **/
+ @SEDA(PropertyTerm="UM", FormName="million unit",FormDescription="")
+ NUMUM,
+ /**
+ * volt ampere per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="VA", FormName="volt ampere per kilogram",FormDescription="")
+ NUMVA,
+ /**
+ * vial
+ *
+ **/
+ @SEDA(PropertyTerm="VI", FormName="vial",FormDescription="")
+ NUMVI,
+ /**
+ * volt
+ *
+ **/
+ @SEDA(PropertyTerm="VLT", FormName="volt",FormDescription="")
+ NUMVLT,
+ /**
+ * percent volume
+ *
+ **/
+ @SEDA(PropertyTerm="VP", FormName="percent volume",FormDescription="")
+ NUMVP,
+ /**
+ * bulk
+ *
+ **/
+ @SEDA(PropertyTerm="VQ", FormName="bulk",FormDescription="")
+ NUMVQ,
+ /**
+ * visit
+ *
+ **/
+ @SEDA(PropertyTerm="VS", FormName="visit",FormDescription="")
+ NUMVS,
+ /**
+ * wet kilo
+ *
+ **/
+ @SEDA(PropertyTerm="W2", FormName="wet kilo",FormDescription="")
+ NUMW2,
+ /**
+ * two week
+ *
+ **/
+ @SEDA(PropertyTerm="W4", FormName="two week",FormDescription="")
+ NUMW4,
+ /**
+ * watt per kilogram
+ *
+ **/
+ @SEDA(PropertyTerm="WA", FormName="watt per kilogram",FormDescription="")
+ NUMWA,
+ /**
+ * wet pound
+ *
+ **/
+ @SEDA(PropertyTerm="WB", FormName="wet pound",FormDescription="")
+ NUMWB,
+ /**
+ * cord
+ *
+ **/
+ @SEDA(PropertyTerm="WCD", FormName="cord",FormDescription="")
+ NUMWCD,
+ /**
+ * wet ton
+ *
+ **/
+ @SEDA(PropertyTerm="WE", FormName="wet ton",FormDescription="")
+ NUMWE,
+ /**
+ * weber
+ *
+ **/
+ @SEDA(PropertyTerm="WEB", FormName="weber",FormDescription="")
+ NUMWEB,
+ /**
+ * week
+ *
+ **/
+ @SEDA(PropertyTerm="WEE", FormName="week",FormDescription="")
+ NUMWEE,
+ /**
+ * wine gallon
+ *
+ **/
+ @SEDA(PropertyTerm="WG", FormName="wine gallon",FormDescription="")
+ NUMWG,
+ /**
+ * wheel
+ *
+ **/
+ @SEDA(PropertyTerm="WH", FormName="wheel",FormDescription="")
+ NUMWH,
+ /**
+ * watt hour
+ *
+ **/
+ @SEDA(PropertyTerm="WHR", FormName="watt hour",FormDescription="")
+ NUMWHR,
+ /**
+ * weight per square inch
+ *
+ **/
+ @SEDA(PropertyTerm="WI", FormName="weight per square inch",FormDescription="")
+ NUMWI,
+ /**
+ * working month
+ *
+ **/
+ @SEDA(PropertyTerm="WM", FormName="working month",FormDescription="")
+ NUMWM,
+ /**
+ * wrap
+ *
+ **/
+ @SEDA(PropertyTerm="WR", FormName="wrap",FormDescription="")
+ NUMWR,
+ /**
+ * standard
+ *
+ **/
+ @SEDA(PropertyTerm="WSD", FormName="standard",FormDescription="")
+ NUMWSD,
+ /**
+ * watt
+ *
+ **/
+ @SEDA(PropertyTerm="WTT", FormName="watt",FormDescription="")
+ NUMWTT,
+ /**
+ * millilitre of water
+ *
+ **/
+ @SEDA(PropertyTerm="WW", FormName="millilitre of water",FormDescription="")
+ NUMWW,
+ /**
+ * chain
+ *
+ **/
+ @SEDA(PropertyTerm="X1", FormName="chain",FormDescription="")
+ NUMX1,
+ /**
+ * square yard
+ *
+ **/
+ @SEDA(PropertyTerm="YDK", FormName="square yard",FormDescription="")
+ NUMYDK,
+ /**
+ * cubic yard
+ *
+ **/
+ @SEDA(PropertyTerm="YDQ", FormName="cubic yard",FormDescription="")
+ NUMYDQ,
+ /**
+ * hundred linear yard
+ *
+ **/
+ @SEDA(PropertyTerm="YL", FormName="hundred linear yard",FormDescription="")
+ NUMYL,
+ /**
+ * yard
+ *
+ **/
+ @SEDA(PropertyTerm="YRD", FormName="yard",FormDescription="")
+ NUMYRD,
+ /**
+ * ten yard
+ *
+ **/
+ @SEDA(PropertyTerm="YT", FormName="ten yard",FormDescription="")
+ NUMYT,
+ /**
+ * lift van
+ *
+ **/
+ @SEDA(PropertyTerm="Z1", FormName="lift van",FormDescription="")
+ NUMZ1,
+ /**
+ * chest
+ *
+ **/
+ @SEDA(PropertyTerm="Z2", FormName="chest",FormDescription="")
+ NUMZ2,
+ /**
+ * cask
+ *
+ **/
+ @SEDA(PropertyTerm="Z3", FormName="cask",FormDescription="")
+ NUMZ3,
+ /**
+ * hogshead
+ *
+ **/
+ @SEDA(PropertyTerm="Z4", FormName="hogshead",FormDescription="")
+ NUMZ4,
+ /**
+ * lug
+ *
+ **/
+ @SEDA(PropertyTerm="Z5", FormName="lug",FormDescription="")
+ NUMZ5,
+ /**
+ * conference point
+ *
+ **/
+ @SEDA(PropertyTerm="Z6", FormName="conference point",FormDescription="")
+ NUMZ6,
+ /**
+ * newspage agate line
+ *
+ **/
+ @SEDA(PropertyTerm="Z8", FormName="newspage agate line",FormDescription="")
+ NUMZ8,
+ /**
+ * page
+ *
+ **/
+ @SEDA(PropertyTerm="ZP", FormName="page",FormDescription="")
+ NUMZP,
+ /**
+ * mutually defined
+ *
+ **/
+ @SEDA(PropertyTerm="ZZ", FormName="mutually defined",FormDescription="")
+ NUMZZ,
+ /**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+ EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.v02.simpleType;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ * Table des codes réponse
+ *
+**/
+
+public enum ReplyCodeType {
+
+/**
+ * OK
+ *
+ **/
+ @SEDA(PropertyTerm="000", FormName="OK",FormDescription="")
+NUM000,
+/**
+ * OK (consulter les commentaires pour
+ information)
+ *
+ **/
+ @SEDA(PropertyTerm="001", FormName="OK (consulter les commentaires pour information)",FormDescription="")
+NUM001,
+/**
+ * OK (Demande aux autorités de contrôle effectuée)
+ *
+ **/
+ @SEDA(PropertyTerm="002", FormName="OK (Demande aux autorités de contrôle effectuée)",FormDescription="")
+NUM002,
+/**
+ * Message mal formé.
+ *
+ **/
+ @SEDA(PropertyTerm="101", FormName="Message mal formé.",FormDescription="")
+NUM101,
+/**
+ * Système momentanément indisponible.
+ *
+ **/
+ @SEDA(PropertyTerm="102", FormName="Système momentanément indisponible.",FormDescription="")
+NUM102,
+/**
+ * Service producteur non reconnu.
+ *
+ **/
+ @SEDA(PropertyTerm="200", FormName="Service producteur non reconnu.",FormDescription="")
+NUM200,
+/**
+ * Service d'archive non reconnu.
+ *
+ **/
+ @SEDA(PropertyTerm="201", FormName="Service d'archive non reconnu.",FormDescription="")
+NUM201,
+/**
+ * Service versant non reconnu.
+ *
+ **/
+ @SEDA(PropertyTerm="202", FormName="Service versant non reconnu.",FormDescription="")
+NUM202,
+/**
+ * Dépôt non conforme au profil de données.
+ *
+ **/
+ @SEDA(PropertyTerm="203", FormName="Dépôt non conforme au profil de données.",FormDescription="")
+NUM203,
+/**
+ * Format de document non géré.
+ *
+ **/
+ @SEDA(PropertyTerm="204", FormName="Format de document non géré.",FormDescription="")
+NUM204,
+/**
+ * Format de document non conforme au format déclaré.
+ *
+ **/
+ @SEDA(PropertyTerm="205", FormName="Format de document non conforme au format déclaré.",FormDescription="")
+NUM205,
+/**
+ * Signature du message invalide.
+ *
+ **/
+ @SEDA(PropertyTerm="206", FormName="Signature du message invalide.",FormDescription="")
+NUM206,
+/**
+ * Empreinte(s) invalide(s).
+ *
+ **/
+ @SEDA(PropertyTerm="207", FormName="Empreinte(s) invalide(s).",FormDescription="")
+NUM207,
+/**
+ * Archive indisponible. Délai de communication non écoulé.
+ *
+ **/
+ @SEDA(PropertyTerm="208", FormName="Archive indisponible. Délai de communication non écoulé.",FormDescription="")
+NUM208,
+/**
+ * Archive absente (élimination, restitution, transfert)
+ *
+ **/
+ @SEDA(PropertyTerm="209", FormName="Archive absente (élimination, restitution, transfert)",FormDescription="")
+NUM209,
+/**
+ * Archive inconnue
+ *
+ **/
+ @SEDA(PropertyTerm="210", FormName="Archive inconnue",FormDescription="")
+NUM210,
+/**
+ * Pièce attachée absente.
+ *
+ **/
+ @SEDA(PropertyTerm="211", FormName="Pièce attachée absente.",FormDescription="")
+NUM211,
+/**
+ * Dérogation refusée.
+ *
+ **/
+ @SEDA(PropertyTerm="212", FormName="Dérogation refusée.",FormDescription="")
+NUM212,
+/**
+ * Convention invalide.
+ *
+ **/
+ @SEDA(PropertyTerm="300", FormName="Convention invalide.",FormDescription="")
+NUM300,
+/**
+ * Dépôt non conforme à la convention. Quota des versements dépassé.
+ *
+ **/
+ @SEDA(PropertyTerm="301", FormName="Dépôt non conforme à la convention. Quota des versements dépassé.",FormDescription="")
+NUM301,
+/**
+ * Dépôt non conforme à la convention. Identifiant du producteur non conforme.
+ *
+ **/
+ @SEDA(PropertyTerm="302", FormName="Dépôt non conforme à la convention. Identifiant du producteur non conforme.",FormDescription="")
+NUM302,
+/**
+ * Dépôt non conforme à la convention. Identifiant du service versant non conforme.
+ *
+ **/
+ @SEDA(PropertyTerm="303", FormName="Dépôt non conforme à la convention. Identifiant du service versant non conforme.",FormDescription="")
+NUM303,
+/**
+ * Dépôt non conforme à la convention. Identifiant du service d'archives non conforme.
+ *
+ **/
+ @SEDA(PropertyTerm="304", FormName="Dépôt non conforme à la convention. Identifiant du service d'archives non conforme.",FormDescription="")
+NUM304,
+/**
+ * Dépôt non conforme à la convention. Signature(s) de document(s) absente(s).
+ *
+ **/
+ @SEDA(PropertyTerm="305", FormName="Dépôt non conforme à la convention. Signature(s) de document(s) absente(s).",FormDescription="")
+NUM305,
+/**
+ * Dépôt non conforme à la convention. Volume non conforme.
+ *
+ **/
+ @SEDA(PropertyTerm="306", FormName="Dépôt non conforme à la convention. Volume non conforme.",FormDescription="")
+NUM306,
+/**
+ * Dépôt non conforme à la convention. Format non conforme.
+ *
+ **/
+ @SEDA(PropertyTerm="307", FormName="Dépôt non conforme à la convention. Format non conforme.",FormDescription="")
+NUM307,
+/**
+ * Dépôt non conforme à la convention. Empreinte(s) non transmise(s).
+ *
+ **/
+ @SEDA(PropertyTerm="308", FormName="Dépôt non conforme à la convention. Empreinte(s) non transmise(s).",FormDescription="")
+NUM308,
+/**
+ * Dépôt non conforme à la convention. Absence de signature du message.
+ *
+ **/
+ @SEDA(PropertyTerm="309", FormName="Dépôt non conforme à la convention. Absence de signature du message.",FormDescription="")
+NUM309,
+/**
+ * Dépôt non conforme à la convention. Signature(s) de document(s) non valide(s).
+ *
+ **/
+ @SEDA(PropertyTerm="310", FormName="Dépôt non conforme à la convention. Signature(s) de document(s) non valide(s).",FormDescription="")
+NUM310,
+/**
+ * Dépôt non conforme à la convention. Signature(s) de document(s) non vérifiée(s).
+ *
+ **/
+ @SEDA(PropertyTerm="311", FormName="Dépôt non conforme à la convention. Signature(s) de document(s) non vérifiée(s).",FormDescription="")
+NUM311,
+/**
+ * Dépôt non conforme à la convention. Dates de début ou de fin non respectées.
+ *
+ **/
+ @SEDA(PropertyTerm="312", FormName="Dépôt non conforme à la convention. Dates de début ou de fin non respectées.",FormDescription="")
+NUM312,
+/**
+ *
+ *
+ **/
+ @SEDA(PropertyTerm="", FormName="",FormDescription="")
+EMPTY
+}
+
--- /dev/null
+package eu.akka.saem.alfresco.seda.writer;
+
+import java.lang.reflect.Method;
+import java.util.Comparator;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ * Classe permettant de comparer les methodes
+ *
+ * @Class : SEDAMethodComparator.java
+ * @Package : eu.akka.saem.alfresco.seda.writer
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDAMethodComparator.java $
+ *
+ */
+public class SEDAMethodComparator implements Comparator<Method>{
+
+ @Override
+ public int compare(Method o1, Method o2) {
+ SEDA sedaAnnotation1 = o1.getAnnotation(SEDA.class);
+ SEDA sedaAnnotation2 = o2.getAnnotation(SEDA.class);
+
+ if(sedaAnnotation1 == null || sedaAnnotation2 == null)
+ return 0;
+
+ if(sedaAnnotation1.Position() < sedaAnnotation2.Position())
+ return -1;
+ else if(sedaAnnotation1.Position() == sedaAnnotation2.Position())
+ return 0;
+ else
+ return 1;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.seda.writer;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+import eu.akka.saem.alfresco.seda.annotations.SEDAType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OtherMetadataType;
+
+/**
+ *
+ * Classe contenant des methodes de transformation des objets SEDA
+ *
+ * @Class : SEDAWriter.java
+ * @Package : eu.akka.saem.alfresco.seda.writer
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SEDAWriter.java $
+ *
+ */
+public class SEDAWriter {
+
+ public static String transformSEDAObjectToXML(Object object) {
+ try {
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory
+ .newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+
+ Document doc = docBuilder.newDocument();
+ SEDA sedaAnnotation = object.getClass().getAnnotation(SEDA.class);
+
+ String tagName;
+ if (sedaAnnotation != null) {
+ tagName = sedaAnnotation.PropertyTerm();
+ } else {
+ tagName = object.getClass().getName();
+ }
+
+ Node node = doc.createElement(tagName);
+
+ doc.appendChild(transform(object, node));
+
+ // Transform the document in String
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Transformer transformer = tf.newTransformer();
+ StringWriter writer = new StringWriter();
+ transformer.transform(new DOMSource(doc), new StreamResult(writer));
+
+ return writer.toString();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return null;
+ }
+ }
+
+ private static List<String> cleanExceptions = new ArrayList<String>() {{
+ add("TransferIdentifier");
+ add("Attachment");
+ add("TransferRequestReplyIdentifier");
+ add("ArchivalAgencyObjectIdentifier");
+ add("ArchivalAgencyArchiveIdentifier");
+ }};
+
+ public static String cleanEmptyChild(String object) {
+ try{
+ InputStream result = new ByteArrayInputStream(object.getBytes());
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.parse(result);
+
+ cleanEmptyChild(doc.getFirstChild());
+
+ // Transform the document in String
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Transformer transformer = tf.newTransformer();
+ StringWriter writer = new StringWriter();
+ transformer.transform(new DOMSource(doc), new StreamResult(writer));
+
+ return writer.toString();
+ }
+ catch(Exception ex){
+ return null;
+ }
+
+ }
+
+ private static boolean cleanEmptyChild(Node node) {
+
+ List<Node> nodeToDel = new ArrayList<Node>();
+
+ int count = node.getChildNodes().getLength();
+
+ // On s'occupe des sous éléments
+ for (int i = 0; i < node.getChildNodes().getLength(); i++) {
+
+ if (!cleanExceptions.contains(node.getChildNodes().item(i).getNodeName()) && cleanEmptyChild(node.getChildNodes().item(i))) {
+ nodeToDel.add(node.getChildNodes().item(i));
+ count--;
+ }
+
+ }
+
+ for (Node n : nodeToDel) {
+ node.removeChild(n);
+ }
+
+ if (node.getTextContent().equals("") && count == 0) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public static JSONObject transformSEDAObjectToJSON(Object object) {
+ try {
+ JSONObject json = new JSONObject();
+
+ SEDA sedaAnnotation = object.getClass().getAnnotation(SEDA.class);
+
+ String tagName;
+ if (sedaAnnotation != null) {
+ tagName = sedaAnnotation.PropertyTerm();
+ } else {
+ tagName = object.getClass().getName();
+ }
+
+ JSONArray result = new JSONArray();
+ transformToJSON(object, result);
+ json.put("PropertyTerm", tagName);
+ json.put("value", result);
+
+ return json;
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return null;
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Node transform(Object object, Node node) throws Exception {
+ // On parcours toutes les méthodes des classes
+ List<Method> methods = Arrays.asList(object.getClass().getMethods());
+ Collections.sort(methods, new SEDAMethodComparator());
+ for (Method method : methods) {
+ SEDA sedaAnnotation = method.getAnnotation(SEDA.class);
+ if (method.getName().startsWith("get")) {
+ Object result = method.invoke(object);
+
+ if (result == null || sedaAnnotation == null)
+ continue;
+
+ if (sedaAnnotation.Type().equals(SEDAType.ATTRIBUTE)) {
+ Node attribut = node.getOwnerDocument().createAttribute(
+ sedaAnnotation.PropertyTerm());
+ if (method.getReturnType().equals(String.class)){
+ attribut.setNodeValue((String) result);
+ String res = (String) result;
+ if(res != null && !res.equals(""))
+ node.getAttributes().setNamedItem(attribut);
+ }
+ else if (method.getReturnType().isEnum()){
+ attribut.setNodeValue(findValueWithEnum(
+ method.getReturnType(), result));
+
+ String res = findValueWithEnum(method.getReturnType(),result);
+ if(res != null && !res.equals(""))
+ node.getAttributes().setNamedItem(attribut);
+ }
+
+ } else if (sedaAnnotation.Type().equals(SEDAType.VALUE)) {
+ if (method.getReturnType().equals(String.class)){
+ if(object.getClass().equals(OtherMetadataType.class)){
+ node.appendChild(node.getOwnerDocument().createCDATASection((String) result));
+ }
+ else{
+ node.setTextContent((String) result);
+ }
+ }
+ else if (method.getReturnType().isEnum())
+ node.setTextContent(findValueWithEnum(
+ method.getReturnType(), result));
+ } else if (sedaAnnotation.Type().equals(SEDAType.ELEMENT)) {
+ if (sedaAnnotation.Cardinality().equals("0..n")
+ || sedaAnnotation.Cardinality().equals("1..n")) {
+ for (Object o : (List<Object>) result) {
+ Node n = node.getOwnerDocument().createElement(
+ sedaAnnotation.PropertyTerm());
+ if (o.getClass().equals(String.class)) {
+ n.setTextContent((String) o);
+ } else {
+ n = transform(o, n);
+ }
+ node.appendChild(n);
+ }
+ } else {
+ if (method.getReturnType().equals(String.class)) {
+ Node n = node.getOwnerDocument().createElement(
+ sedaAnnotation.PropertyTerm());
+ n.setTextContent((String) result);
+ node.appendChild(n);
+ } else if (method.getReturnType().isEnum()) {
+ Node n = node.getOwnerDocument().createElement(
+ sedaAnnotation.PropertyTerm());
+ n.setTextContent(findValueWithEnum(
+ method.getReturnType(), result));
+ node.appendChild(n);
+ } else {
+ Node n = node.getOwnerDocument().createElement(
+ sedaAnnotation.PropertyTerm());
+ n = transform(result, n);
+ node.appendChild(n);
+ }
+ }
+ }
+ }
+ }
+
+ return node;
+ }
+
+ @SuppressWarnings("unchecked")
+ private static void transformToJSON(Object object, JSONArray json)
+ throws Exception {
+ // On parcours toutes les méthodes des classes
+ for (Method method : object.getClass().getMethods()) {
+ SEDA sedaAnnotation = method.getAnnotation(SEDA.class);
+
+ if (sedaAnnotation != null
+ && sedaAnnotation.PropertyTerm().equals(
+ "TransferIdentifier")) {
+ int i = 0;
+ }
+ if (method.getName().startsWith("get")) {
+ Object result = method.invoke(object);
+
+ if (result == null && method.getName().startsWith("getValue")) {
+ result = "";
+ }
+
+ if (result == null || sedaAnnotation == null)
+ continue;
+
+ if (sedaAnnotation.Type().equals(SEDAType.ATTRIBUTE)) {
+ if (method.getReturnType().equals(String.class)) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put("value", (String) result);
+ json.put(childjson);
+ } else if (method.getReturnType().isEnum()) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put(
+ "value",
+ findValueWithEnum(method.getReturnType(),
+ result));
+ json.put(childjson);
+ }
+ } else if (sedaAnnotation.Type().equals(SEDAType.VALUE)) {
+ if (method.getReturnType().equals(String.class)) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put("value", (String) result);
+ json.put(childjson);
+ } else if (method.getReturnType().isEnum()) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put(
+ "value",
+ findValueWithEnum(method.getReturnType(),
+ result));
+ json.put(childjson);
+ }
+ } else if (sedaAnnotation.Type().equals(SEDAType.ELEMENT)) {
+ if (sedaAnnotation.Cardinality().equals("0..n")
+ || sedaAnnotation.Cardinality().equals("1..n")) {
+ for (Object o : (List<Object>) result) {
+ if (o.getClass().equals(String.class)) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put("value", (String) o);
+ json.put(childjson);
+ } else {
+ JSONArray resulttranformJSON = new JSONArray();
+ transformToJSON(o, resulttranformJSON);
+
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put("value", resulttranformJSON);
+ json.put(childjson);
+ }
+
+ }
+ } else {
+ if (method.getReturnType().equals(String.class)) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put("value", (String) result);
+ json.put(childjson);
+ } else if (method.getReturnType().isEnum()) {
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put(
+ "value",
+ findValueWithEnum(method.getReturnType(),
+ result));
+ json.put(childjson);
+ } else {
+
+ JSONArray resulttranformJSON = new JSONArray();
+ transformToJSON(result, resulttranformJSON);
+ JSONObject childjson = new JSONObject();
+ childjson.put("PropertyTerm",
+ sedaAnnotation.PropertyTerm());
+ childjson.put("value", resulttranformJSON);
+ json.put(childjson);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ *
+ * @param class1
+ * @param nodeValue
+ * @return
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ */
+ private static String findValueWithEnum(Class<?> class1, Object obj)
+ throws InstantiationException, IllegalAccessException {
+
+ for (Field o : class1.getFields()) {
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if (sedaAnnotation != null && o.get(class1).equals(obj))
+ return sedaAnnotation.PropertyTerm();
+ }
+
+ return "";
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.utils;
+
+import eu.akka.saem.alfresco.seda.SEDADocument;
+import eu.akka.saem.alfresco.seda.SEDAFolder;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DocumentType;
+
+/**
+ *
+ * Classe contenant les méthodes de transformation d'objet en SEDA Folder
+ *
+ * @Class : BrowsableSEDAUtils.java
+ * @Package : eu.akka.saem.alfresco.utils
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: BrowsableSEDAUtils.java $
+ *
+ */
+public class BrowsableSEDAUtils {
+ private SEDAFolder root;
+
+ public BrowsableSEDAUtils(ArchiveTransferType att) {
+ root = transformArchiveTransferToSEDAFolder(att);
+ }
+
+ private SEDAFolder transformArchiveTransferToSEDAFolder(ArchiveTransferType att) {
+ SEDAFolder result = new SEDAFolder("Root");
+ result.setSEDARelatedObject(att);
+
+ if(att.getContains() != null){
+ for (ArchiveType at : att.getContains()) {
+ result.getSubFolders().add(transformArchiveTransferArchiveTypeToSEDAFolder(at));
+ }
+ }
+
+ return result;
+ }
+
+ private SEDAFolder transformArchiveTransferArchiveTypeToSEDAFolder(ArchiveType att) {
+ SEDAFolder folder = new SEDAFolder();
+ folder.setSEDARelatedObject(att);
+
+ if (att.getName() != null)
+ folder.setName(att.getName());
+
+ if (att.getContentDescription() != null)
+ folder.setDescription(att.getContentDescription().getDescription());
+
+ if(att.getContains() != null){
+ for (ArchiveObjectType aot : att.getContains()) {
+ folder.getSubFolders().add(transformArchiveTransferArchiveObjectTypeToSEDAFolder(aot));
+ }
+ }
+
+ if (att.getDocument() != null) {
+ for (DocumentType dt : att.getDocument()) {
+ SEDADocument sedaDocument = transformDocumentTypeToSEDADocument(dt);
+ if (sedaDocument != null) {
+ folder.getDocuments().add(sedaDocument);
+ }
+ }
+ }
+
+ return folder;
+ }
+
+ private SEDAFolder transformArchiveTransferArchiveObjectTypeToSEDAFolder(ArchiveObjectType aot) {
+ SEDAFolder folder = new SEDAFolder();
+
+ folder.setSEDARelatedObject(aot);
+
+ if (aot.getName() != null)
+ folder.setName(aot.getName());
+
+ if (aot.getContains() != null){
+ for (ArchiveObjectType aot2 : aot.getContains()) {
+ folder.getSubFolders().add(transformArchiveTransferArchiveObjectTypeToSEDAFolder(aot2));
+ }
+ }
+
+ if(aot.getDocument() != null){
+ for (DocumentType dt : aot.getDocument()) {
+ SEDADocument sedaDocument = transformDocumentTypeToSEDADocument(dt);
+ if (sedaDocument != null) {
+ folder.getDocuments().add(sedaDocument);
+ }
+ }
+ }
+
+ return folder;
+ }
+
+ private SEDADocument transformDocumentTypeToSEDADocument(DocumentType dt) {
+ if (dt.getAttachment() == null || dt.getAttachment().get(0) == null
+ || dt.getAttachment().get(0).getFilename() == null
+ || dt.getAttachment().get(0).getFilename() == "") {
+ return null;
+ }
+ SEDADocument document = new SEDADocument();
+ document.setSEDARelatedObject(dt);
+
+ document.setName(dt.getAttachment().get(0).getFilename());
+
+ if (dt.getDescription() != null) {
+ document.setDescription(dt.getDescription());
+ }
+
+ return document;
+ }
+
+ public SEDAFolder getRoot() {
+ return root;
+ }
+
+ public void setRoot(SEDAFolder root) {
+ this.root = root;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.utils;
+
+/**
+ *
+ * Bean pour les champs du Formulaire
+ *
+ * @Class : Field.java
+ * @Package : eu.akka.saem.alfresco.utils
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: Field.java $
+ *
+ */
+public class Field {
+
+ private boolean editable;
+ private boolean multiple;
+ private String ID;
+ private String fielsName;
+ private String fieldsDescription;
+ private int nbmax;
+
+ public Field(String ID, boolean editable, boolean multiple, int nbmax){
+ this.ID = ID;
+ this.multiple = multiple;
+ this.nbmax = nbmax;
+ this.editable = editable;
+ }
+
+ public boolean isEditable() {
+ return editable;
+ }
+
+ public void setEditable(boolean editable) {
+ this.editable = editable;
+ }
+
+ public boolean isMultiple() {
+ return multiple;
+ }
+
+ public void setMultiple(boolean multiple) {
+ this.multiple = multiple;
+ }
+
+ public int getNbmax() {
+ return nbmax;
+ }
+
+ public void setNbmax(int nbmax) {
+ this.nbmax = nbmax;
+ }
+
+ public String getID() {
+ return ID;
+ }
+
+ public void setID(String iD) {
+ ID = iD;
+ }
+
+ public String getFielsName() {
+ return fielsName;
+ }
+
+ public void setFielsName(String fielsName) {
+ this.fielsName = fielsName;
+ }
+
+ public String getFieldsDescription() {
+ return fieldsDescription;
+ }
+
+ public void setFieldsDescription(String fieldsDescription) {
+ this.fieldsDescription = fieldsDescription;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.utils;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.ResultSetRow;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+
+/**
+ * Classe utilitaire pour la gestion des profils SEDA au sein d'Alfresco
+ *
+ * @Class : ProfilSEDAUtils.java
+ * @Package : eu.akka.saem.alfresco.utils
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ProfilSEDAUtils.java $
+ *
+ */
+public class ProfilSEDAUtils {
+
+ private NodeService nodeService;
+ private SearchService searchService;
+ private NamespaceService namespaceService;
+
+ private static Logger LOG = Logger.getLogger(ProfilSEDAUtils.class);
+
+ // TODO Ne récupérer que les profils contenus dans le sous dossier
+ // "Profil SEDA" correspondant
+ public List<String> getProfilsSEDAList() {
+ List<String> results = new ArrayList<>();
+
+ LOG.info("Récupération de la liste des profils SEDA");
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("ASPECT:\"saem:profil\"");
+ ResultSet rs = searchService.query(sp);
+
+ for (ResultSetRow row : rs) {
+ NodeRef currentNodeRef = row.getNodeRef();
+ String profilName = (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_NAME);
+ results.add(profilName);
+ }
+ rs.close();
+ return results;
+ }
+
+ // TODO Faire la javadoc
+ // TODO Ne récupérer que les profils contenus dans le sous dossier
+ // "Profil SEDA" correspondant
+ /**
+ * Not used anymore
+ * @param folder
+ * @return
+ */
+ @Deprecated
+ public List<String> getProfilsSEDAListInSubFolder(NodeRef folder) {
+ List<String> results = new ArrayList<>();
+
+ LOG.info("Récupération de la liste des profils SEDA");
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ ResultSet rs = null;
+
+ sp.setQuery("ASPECT:\"saem:profil\" AND PATH:\""+nodeService.getPath(folder).toPrefixString(namespaceService)+"//*\"");
+ rs = searchService.query(sp);
+
+
+ for (ResultSetRow row : rs) {
+ NodeRef currentNodeRef = row.getNodeRef();
+ String profilName = (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_NAME);
+ results.add(profilName);
+ }
+
+ rs.close();
+ return results;
+ }
+
+ public NodeRef getProfilSEDA(String Name, NodeRef folder) {
+ LOG.info("Récupération du profil SEDA " + Name);
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ // TODO @cm\\:name a changer peut être par un truc comme ContentModel.PROP_NAME.truc
+ // critere
+ sp.setQuery("ASPECT:\"saem:profil\" AND @cm\\:name:\""+Name+"\"");
+ ResultSet rs = searchService.query(sp);
+
+
+ if (rs.length() > 1) {
+ LOG.error("Plusieurs profils ont étés trouvés, veuillez contacter l'administrateur");
+ return null;
+ }
+ else if(rs.length() == 0){
+ LOG.error("Aucun profil n'a été trouvé, veuillez contacter l'administrateur");
+ return null;
+ }
+
+ NodeRef result = rs.getRow(0).getNodeRef();
+ rs.close();
+ return result;
+ }
+
+ public Object getSedaObject(NodeRef nodeRef, QName propertyQName) {
+ String xml = (String) nodeService.getProperty(nodeRef, propertyQName);
+
+ Object SEDAObject = null;
+
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ try {
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document doc = builder.parse(new InputSource(new StringReader(xml)));
+ doc.getDocumentElement().setAttribute("xmlns", "v0.2");
+ SEDAObject = XMLLoader.SEDALoader(doc);
+ } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SecurityException
+ | NoSuchMethodException | ParserConfigurationException | SAXException | IOException e) {
+ e.printStackTrace();
+ return null;
+ }
+ return SEDAObject;
+
+ }
+
+ // Setters pour spring
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setNamespaceService(NamespaceService namespaceService) {
+ this.namespaceService = namespaceService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.utils;
+
+import java.lang.reflect.Field;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.content.MimetypeMap;
+import org.alfresco.repo.content.transform.ContentTransformer;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.ContentWriter;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.repository.TransformationOptions;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.seda.annotations.SEDA;
+
+/**
+ *
+ * Classe utilitaire
+ *
+ * @Class : Utils.java
+ * @Package : eu.akka.saem.alfresco.utils
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: Utils.java $
+ *
+ */
+public class Utils {
+
+ /**
+ * @param class1
+ * @param nodeValue
+ * @return
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ */
+ public static Object findValueOnEnum(Class<?> class1, String nodeValue) throws InstantiationException, IllegalAccessException {
+ if(nodeValue==null)
+ nodeValue="";
+
+ for(Field o:class1.getFields()){
+ SEDA sedaAnnotation = o.getAnnotation(SEDA.class);
+ if(sedaAnnotation != null && nodeValue.equals(sedaAnnotation.PropertyTerm()))
+ return o.get(class1);
+ }
+
+ return null;
+ }
+
+
+ /**
+ * Methode permettant de positionner l'état de l'archive
+ * sur chaque noeud en tant qu'aspect
+ *
+ * Method : setArchiveState()
+ * @param nodeService
+ * @param nodeRef
+ * @param state void
+ */
+ public static void setArchiveState(NodeService nodeService,NodeRef nodeRef, String state) {
+ if(nodeService.getProperty(nodeRef, SAEMModelConstants.ASPECT_ARCHIVE_STATE) == null){
+ nodeService.addAspect(nodeRef, SAEMModelConstants.ASPECT_ARCHIVE_STATE, null);
+ nodeService.setProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP, state);
+ }
+ else{
+ nodeService.setProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP, state);
+ }
+
+ putStateOnChildsRecursif(nodeService,nodeRef, state);
+ }
+
+ /**
+ * Method : putStateOnChildsRecursif()
+ * @param nodeService
+ * @param noderef
+ * @param state void
+ */
+ public static void putStateOnChildsRecursif(NodeService nodeService,NodeRef noderef, String state){
+
+ for (ChildAssociationRef fils : nodeService.getChildAssocs(noderef)){
+ if(nodeService.getType(noderef).equals(ContentModel.TYPE_FOLDER)){
+ nodeService.setProperty(fils.getChildRef(), SAEMModelConstants.PROP_ARCHIVE_STATE_PROP, state);
+ putStateOnChildsRecursif(nodeService,fils.getChildRef(), state);
+ }
+ }
+ }
+
+
+ /**
+ * Methode qui efface le contenu des documents de l'archive tout en maintenant l'indexation full text. Le contenu des documents en question est déplacé en format texte dans la propriété hidden_content.
+ *
+ * @param node Document dont le contenu doit être effacé et copié dans la metadonnée
+ * @param nodeService nodeService
+ * @param contentService contentService
+ */
+ public static void removeContentAfterVersement(NodeRef node, NodeService nodeService,
+ ContentService contentService) {
+ if (nodeService.getChildAssocs(node) != null) {
+ for (ChildAssociationRef childAssoc : nodeService.getChildAssocs(node)) {
+ NodeRef child = childAssoc.getChildRef();
+
+ if (nodeService.getType(child).equals(ContentModel.TYPE_CONTENT)
+ && !nodeService.hasAspect(child, SAEMModelConstants.ASPECT_IS_ACCUSE)) {
+
+ nodeService.addAspect(child, SAEMModelConstants.ASPECT_SEARCHABLE_AFTER_VERSEMENT, null);
+
+ ContentReader contentReader = contentService.getReader(child, ContentModel.PROP_CONTENT);
+ ContentWriter contentWriter = contentService.getWriter(child, ContentModel.PROP_CONTENT,
+ true);
+ ContentWriter hiddenContentWriter = contentService.getWriter(child,
+ SAEMModelConstants.PROP_HIDDEN_CONTENT, true);
+ hiddenContentWriter.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
+
+ if (contentReader.getMimetype().equals(MimetypeMap.MIMETYPE_TEXT_PLAIN)) {
+ hiddenContentWriter.putContent(contentReader.getContentString());
+ }
+
+ else {
+ ContentTransformer contentTransformer = contentService.getTransformer(
+ contentReader.getMimetype(), MimetypeMap.MIMETYPE_TEXT_PLAIN);
+
+ TransformationOptions options = new TransformationOptions();
+ options.setSourceNodeRef(child);
+ options.setSourceContentProperty(ContentModel.PROP_CONTENT);
+ options.setTargetNodeRef(child);
+ options.setTargetContentProperty(SAEMModelConstants.PROP_HIDDEN_CONTENT);
+
+ if (contentReader != null
+ && hiddenContentWriter != null
+ && contentTransformer != null
+ && contentTransformer.isTransformable(contentReader.getMimetype(),
+ contentReader.getSize(), hiddenContentWriter.getMimetype(), options)) {
+ try{
+ contentTransformer.transform(contentReader, hiddenContentWriter);
+ }
+ catch(Exception ex){
+ throw ex;
+ }
+ }
+ }
+
+ contentWriter.putContent("");
+
+ } else if (nodeService.getType(child).equals(ContentModel.TYPE_FOLDER)) {
+ removeContentAfterVersement(child, nodeService, contentService);
+ }
+ }
+ }
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.utils;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.List;
+import java.util.zip.Adler32;
+import java.util.zip.CheckedOutputStream;
+import java.util.zip.Deflater;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.dictionary.DictionaryService;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.util.TempFileProvider;
+import org.springframework.extensions.surf.util.DataUtil;
+
+
+/**
+ *
+ * Classe permettant de créer un zip
+ * a partir de noeuds alfresco
+ *
+ * @Class : ZipUtils.java
+ * @Package : eu.akka.saem.alfresco.utils
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ZipUtils.java $
+ *
+ */
+public class ZipUtils {
+
+ private NodeService nodeService;
+ private ContentService contentService;
+ private DictionaryService dictionaryService;
+
+ //job for create the temporary zip file and return byte[]
+ public byte[] createZipTemp(List<NodeRef> nodes) throws IOException {
+ File zip = TempFileProvider.createTempFile("archive", ".zip");
+ FileOutputStream stream = new FileOutputStream(zip);
+ CheckedOutputStream checksum = new CheckedOutputStream(stream, new Adler32());
+ BufferedOutputStream buff = new BufferedOutputStream(checksum);
+ ZipOutputStream out = new ZipOutputStream(buff);
+ out.setMethod(ZipOutputStream.DEFLATED);
+ out.setLevel(Deflater.BEST_COMPRESSION);
+ byte[] nodeBytes = new byte[0];
+ try {
+ //for each nodes in workflow package the addToZip function is call for do the job.
+ for (NodeRef node : nodes) {
+ addToZip(node, out);
+ }
+
+ } catch (Exception e) {
+
+ } finally {
+ //close all streams
+ out.close();
+ buff.close();
+ checksum.close();
+ stream.close();
+
+ //transform ZIP file into byte Array, for encode more easily
+ InputStream in = new FileInputStream(zip);
+ InputStream nodeIs = new BufferedInputStream(in, 4096);
+ try {
+ nodeBytes = DataUtil.toByteArray(nodeIs);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ //delete the temp ZIP file, because we got the zip file as byteArray.
+ zip.delete();
+ }
+
+ return nodeBytes;
+ }
+
+ //job for add a Document node to the Zip file.
+ public void addToZip(NodeRef node, ZipOutputStream out) throws IOException {
+ QName nodeQnameType = nodeService.getType(node);
+ String nodeName = (String) nodeService.getProperty(node, ContentModel.PROP_NAME);
+
+ if (dictionaryService.isSubClass(nodeQnameType, ContentModel.TYPE_CONTENT)) {
+ ContentReader reader = contentService.getReader(node, ContentModel.PROP_CONTENT);
+ if (reader != null) {
+ InputStream is = reader.getContentInputStream();
+
+ ZipEntry entry = new ZipEntry(nodeName);
+ entry.setTime(((Date) nodeService.getProperty(node, ContentModel.PROP_MODIFIED)).getTime());
+
+ entry.setSize(reader.getSize());
+ out.putNextEntry(entry);
+
+ byte buffer[] = new byte[4096];
+ while (true) {
+ int nRead = is.read(buffer, 0, buffer.length);
+ if (nRead <= 0) {
+ break;
+ }
+
+ out.write(buffer, 0, nRead);
+ }
+ is.close();
+ out.closeEntry();
+ }
+ }
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setDictionaryService(DictionaryService dictionaryService) {
+ this.dictionaryService = dictionaryService;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.ContentIOException;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.seda.form.HTMLForm;
+import eu.akka.saem.alfresco.seda.form.SEDAModel;
+import eu.akka.saem.alfresco.seda.internationalisation.StructureMessageSEDA;
+import eu.akka.saem.alfresco.seda.loader.AGAPELoader;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEObject;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+
+
+/**
+ * Classe utilisé par le formulaire pour
+ * la récupération des event lors du remplissage
+ *
+ *
+ * @Class : ArchiveManagementForm.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ArchiveManagementForm.java $
+ *
+ */
+public class ArchiveManagementForm extends AbstractWebScript {
+
+ private static final Log LOG = LogFactory.getLog(ArchiveManagementForm.class);
+ private ContentService contentService;
+ private NodeService nodeService;
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res)
+ throws IOException {
+ String result = "";
+ JSONObject jsonobject = new JSONObject();
+ if (req.getParameter("profil") != null) {
+ NodeRef profilNodeRef = null;
+ profilNodeRef = new NodeRef(req.getParameter("profil"));
+
+ // Récupération du fichier RNG
+ ContentReader reader = contentService.getReader(profilNodeRef,
+ ContentModel.PROP_CONTENT);
+ try {
+ SEDAModel model = null;
+
+ String name = (String) nodeService.getProperty(profilNodeRef,
+ ContentModel.PROP_NAME);
+ /*if (name.endsWith(".rng")) {
+ RNGObject rngobject = RNGLoader
+ .ArchiveTransferLoader(reader
+ .getContentInputStream());
+ model = new SEDAModel(rngobject);
+ } else*/
+ if (name.endsWith(".xml")) {
+ InputStream in = reader.getContentInputStream();
+ AGAPEObject agapeobject = AGAPELoader
+ .ArchiveTransferLoader(in);
+
+ String sedawri = SEDAWriter.transformSEDAObjectToXML(agapeobject.getObject());
+ InputStream in2 = new ByteArrayInputStream(sedawri.getBytes());
+ Object o = XMLLoader.SEDALoader(in2);
+
+
+ HTMLForm htmlform = new HTMLForm(new StructureMessageSEDA(),o,agapeobject,HTMLForm.MODE.NEW);
+
+ jsonobject.put("ifhtml", htmlform.formToken);
+
+ List<String> strings = htmlform.getHTML();
+
+ for(String string: strings){
+ result += string;
+ }
+ }
+
+ jsonobject.put("htmldata", result.replaceAll("\"", "\\\""));
+
+ } catch (ContentIOException | ClassNotFoundException
+ | InstantiationException | IllegalAccessException
+ | SecurityException | NoSuchMethodException
+ | IllegalArgumentException | InvocationTargetException
+ | ParserConfigurationException | SAXException | IOException e) {
+ LOG.error(
+ "Une erreur s'est produite au parsing du profil SEDA",
+ e);
+ }
+ }
+ else if(req.getParameter("nodeRef") != null){
+
+ NodeRef node = new NodeRef(req.getParameter("nodeRef"));
+ ContentReader cr = contentService.getReader(node, ContentModel.PROP_CONTENT);
+
+ try {
+ Object ao = XMLLoader.SEDALoader(cr.getContentInputStream());
+
+ HTMLForm htmlform = new HTMLForm(new StructureMessageSEDA(),ao,null,HTMLForm.MODE.READ);
+
+ List<String> strings = htmlform.getHTML();
+
+ for(String string: strings){
+ result += string;
+ }
+
+ } catch (ContentIOException | SecurityException
+ | ParserConfigurationException | SAXException
+ | ClassNotFoundException | InstantiationException
+ | IllegalAccessException | NoSuchMethodException e) {
+ e.printStackTrace();
+ }
+
+ jsonobject.put("htmldata", result.replaceAll("\"", "\\\""));
+
+ }
+ else if(req.getParameter("archive") != null){
+
+ NodeRef node = new NodeRef(req.getParameter("archive"));
+ String rest = (String) nodeService.getProperty(node, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+ AGAPEObject ao = AGAPEObject.JSONToObject((String) nodeService.getProperty(node, SAEMModelConstants.PROP_SEDA_ARCHIVE_PROFIL_MODEL));
+ InputStream is = new ByteArrayInputStream(rest.getBytes());
+ try {
+ InputStream in = new ByteArrayInputStream(rest.getBytes());
+
+ HTMLForm htmlform = new HTMLForm(new StructureMessageSEDA(),XMLLoader.SEDALoader(is),ao,HTMLForm.MODE.EDIT);
+
+ List<String> strings = htmlform.getHTML();
+
+ for(String string: strings){
+ result += string;
+ }
+
+ jsonobject.put("ifhtml", htmlform.formToken);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ jsonobject.put("htmldata", result.replaceAll("\"", "\\\""));
+
+ }
+ else if(req.getParameter("archiveRead") != null){
+
+ NodeRef node = new NodeRef(req.getParameter("archiveRead"));
+ String rest = (String) nodeService.getProperty(node, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+ InputStream is = new ByteArrayInputStream(rest.getBytes());
+ try {
+ InputStream in = new ByteArrayInputStream(rest.getBytes());
+
+ HTMLForm htmlform = new HTMLForm(new StructureMessageSEDA(),XMLLoader.SEDALoader(is),null,HTMLForm.MODE.READ);
+
+ List<String> strings = htmlform.getHTML();
+
+ for(String string: strings){
+ result += string;
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ jsonobject.put("htmldata", result.replaceAll("\"", "\\\""));
+
+ }
+
+ res.setContentEncoding("UTF-8");
+ res.getWriter().write(jsonobject.toJSONString());
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.seda.form.HTMLForm;
+import eu.akka.saem.alfresco.seda.form.HTMLForm.AddListResult;
+
+
+/**
+ * Classe utilisé par le formulaire pour
+ * la soumission
+ *
+ * @Class : ArchiveManagementFormPost.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ArchiveManagementFormPost.java $
+ *
+ */
+public class ArchiveManagementFormPost extends AbstractWebScript {
+
+ private static final Log LOG = LogFactory.getLog(ArchiveManagementFormPost.class);
+ private ContentService contentService;
+ private NodeService nodeService;
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res)
+ throws IOException {
+ String result = "";
+ JSONObject jsonobject = new JSONObject();
+
+ if(req.getParameter("id") != null){
+ String id = req.getParameter("id");
+ String formId = id.split("_")[0];
+
+ if(req.getParameter("action") != null && req.getParameter("action").equals("edit")){
+ HTMLForm htmlform = HTMLForm.getHTMLForm(formId);
+ htmlform.editField(id, req.getParameter("value"));
+ jsonobject.put("result", "OK");
+ }
+
+ if(req.getParameter("action") != null && req.getParameter("action").equals("removeItem")){
+ HTMLForm htmlform = HTMLForm.getHTMLForm(formId);
+ htmlform.removeItem(id);
+ jsonobject.put("result", "OK");
+ }
+
+ if(req.getParameter("action") != null && req.getParameter("action").equals("additem")){
+ HTMLForm htmlform = HTMLForm.getHTMLForm(formId);
+ AddListResult alr = htmlform.addListItem(id);
+
+ jsonobject.put("htmldata", alr.htmllistext.replaceAll("\"", "\\\""));
+
+ JSONArray array = new JSONArray();
+ for(String string: alr.globalhtml){
+ array.add(string.replaceAll("\"", "\\\""));
+ }
+ jsonobject.put("globalhtml", array);
+ jsonobject.put("canAlwaysAdd", alr.canAlwaysAdd);
+ }
+ }
+
+ res.setContentEncoding("UTF-8");
+ res.getWriter().write(jsonobject.toJSONString());
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.net.URL;
+import java.text.Format;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.content.MimetypeMap;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.ContentWriter;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.repository.StoreRef;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.site.SiteService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.util.FileNameValidator;
+import org.apache.axis.encoding.Base64;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONObject;
+import org.json.simple.JSONArray;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.seda.actions.DestructionBordereau;
+import eu.akka.saem.alfresco.seda.actions.ModificationBordereau;
+import eu.akka.saem.alfresco.seda.actions.Reprise;
+import eu.akka.saem.alfresco.seda.actions.RestitutionBordereau;
+import eu.akka.saem.alfresco.seda.actions.TransferBordereau;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionNotificationType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestReplyReplyAcknowledgementType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestReplyType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveModificationNotificationType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionAcknowledgementType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionRequestReplyType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionRequestType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferAcceptanceType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferReplyType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.AppraisalRulesType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesDurationType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.CodeAppraisalType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.AppraisalCodeType;
+import eu.akka.saem.alfresco.seda.v02.simpleType.ReplyCodeType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+import eu.akka.saem.alfresco.utils.Utils;
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowUtils;
+
+/**
+ * Classe permettant la gestion des messages envoyés par Asalae (suite aux
+ * différentes étapes des workflows côté Asalae), avec gestion des metadonnées
+ * régissant le cycle de vie des archives et des accusés (reception, acceptation
+ * et refus)
+ *
+ * @Class : AsalaeReponseBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AsalaeReponseBean.java $
+ *
+ */
+public class AsalaeReponseBean extends AbstractWebScript {
+
+ private ContentService contentService;
+ private NodeService nodeService;
+ private SearchService searchService;
+ private SiteService siteService;
+ private ServiceRegistry serviceRegistry;
+ private ProfilSEDAUtils profilSEDAUtils;
+ private FileFolderService fileFolderService;
+ private PropertyReader propertyReader;
+ protected NodeRef destinationNodeRef;
+ protected String filename;
+ protected String state;
+
+ private static final Log LOG = LogFactory.getLog(AsalaeReponseBean.class);
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONArray errors = new JSONArray();
+ JSONObject jsonresult = new JSONObject();
+
+ res.setContentEncoding("UTF-8");
+ res.setContentType("application/json");
+
+ try {
+ analyseBordereau(errors);
+
+ if (errors.size() == 0) {
+ jsonresult.put("result", "OK");
+ } else {
+ jsonresult.put("result", "KO");
+ jsonresult.put("error", errors);
+
+ Reprise rep = new Reprise(req.getParameter("login"), req.getParameter("pass"));
+ rep.start();
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ res.getWriter().write(jsonresult.toString());
+ }
+
+ /**
+ * Method : analyseBordereau()
+ * @param errors void
+ */
+ public void analyseBordereau(JSONArray errors) {
+ File[] files = null;
+ String bordereauFolder = System.getProperty("java.io.tmpdir") + "/asalaereponse/";
+
+ File directoryToScan = new File(bordereauFolder);
+ files = directoryToScan.listFiles();
+
+ for (File file : files) {
+
+ if (!file.getName().endsWith(".xml"))
+ continue;
+
+ try {
+ Object SEDAObject = XMLLoader.SEDALoader(file);
+ String bordereauXML = SEDAWriter.transformSEDAObjectToXML(SEDAObject);
+
+ if (TransferBordereau.canReadBordereau(SEDAObject)) {
+ if (SEDAObject.getClass().equals(ArchiveTransferReplyType.class)) {
+ doActionBordereauArchiveTransferReplyType((ArchiveTransferReplyType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveTransferReplyType'");
+ } else if (SEDAObject.getClass().equals(ArchiveTransferAcceptanceType.class)) {
+ doActionBordereauArchiveTransferAcceptanceType((ArchiveTransferAcceptanceType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveTransferAcceptanceType'");
+ } else {
+ throw new Exception("TransferBordereau cannot read this bordereau");
+ }
+ } else if (DestructionBordereau.canReadBordereau(SEDAObject)) {
+ if (SEDAObject.getClass().equals(ArchiveDestructionRequestType.class)) {
+ doActionBordereauArchiveDestructionRequestType((ArchiveDestructionRequestType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveDestructionRequestType'");
+ } else if (SEDAObject.getClass().equals(ArchiveDestructionRequestReplyType.class)) {
+ doActionBordereauArchiveDestructionRequestReplyType((ArchiveDestructionRequestReplyType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveDestructionRequestReplyType'");
+ } else if (SEDAObject.getClass().equals(
+ ArchiveDestructionRequestReplyReplyAcknowledgementType.class)) {
+ doActionBordereauArchiveDestructionRequestReplyReplyAcknowledgementType((ArchiveDestructionRequestReplyReplyAcknowledgementType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveDestructionRequestReplyReplyAcknowledgementType'");
+ } else if (SEDAObject.getClass().equals(ArchiveDestructionNotificationType.class)) {
+ doActionBordereauArchiveDestructionNotificationType((ArchiveDestructionNotificationType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveDestructionNotificationType'");
+ } else
+ throw new Exception("TransferBordereau cannot read this bordereau");
+ } else if (ModificationBordereau.canReadBordereau(SEDAObject)) {
+
+ if (SEDAObject.getClass().equals(ArchiveModificationNotificationType.class)) {
+ doActionBordereauArchiveModificationNotificationType((ArchiveModificationNotificationType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveModificationNotificationType'");
+ } else
+ throw new Exception("TransferBordereau cannot read this bordereau");
+ } else if (RestitutionBordereau.canReadBordereau(SEDAObject)) {
+ if (SEDAObject.getClass().equals(ArchiveRestitutionType.class)) {
+ doActionBordereauArchiveRestitutionType((ArchiveRestitutionType) SEDAObject, file);
+ LOG.info("Fin de 'doActionBordereauArchiveRestitutionType'");
+ } else if (SEDAObject.getClass().equals(ArchiveRestitutionRequestType.class)) {
+ doActionBordereauArchiveRestitutionRequestType((ArchiveRestitutionRequestType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveRestitutionRequestType'");
+ } else if (SEDAObject.getClass().equals(ArchiveRestitutionRequestReplyType.class)) {
+ doActionBordereauArchiveRestitutionRequestReplyType((ArchiveRestitutionRequestReplyType) SEDAObject);
+ LOG.info("Fin de 'doActionBordereauArchiveRestitutionRequestReplyType'");
+ } else
+ throw new Exception("TransferBordereau cannot read this bordereau");
+ } else {
+ throw new Exception("Aucune classe ne connait ce type de bordereau");
+ }
+
+ Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
+ props.put(ContentModel.PROP_NAME, filename);
+
+ NodeRef childRef = nodeService
+ .getChildByName(destinationNodeRef, ContentModel.ASSOC_CONTAINS, filename);
+ if (childRef != null)
+ nodeService.removeChild(destinationNodeRef, childRef);
+
+ NodeRef createdFile = nodeService.createNode(destinationNodeRef, ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, filename), ContentModel.TYPE_CONTENT,
+ props).getChildRef();
+
+ ContentWriter contentWriter = contentService.getWriter(createdFile, ContentModel.PROP_CONTENT, true);
+ contentWriter.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
+ contentWriter.setEncoding("UTF-8");
+ contentWriter.putContent(bordereauXML);
+
+ Map<QName, Serializable> aspectProperties = new HashMap<>();
+ aspectProperties.put(SAEMModelConstants.PROP_TYPE_ACCUSE, state);
+ nodeService.addAspect(createdFile, SAEMModelConstants.ASPECT_IS_ACCUSE, aspectProperties);
+
+ file.delete();
+
+ } catch (Exception e) {
+ JSONObject error = new JSONObject();
+ try {
+ error.put("message", e.getMessage());
+ } catch (Exception ex) {
+ e.printStackTrace();
+ }
+ errors.add(error);
+ e.printStackTrace();
+ }
+
+ }
+ }
+
+ /**
+ * Method : doActionBordereauArchiveRestitutionRequestReplyType()
+ * @param arrrt
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveRestitutionRequestReplyType(ArchiveRestitutionRequestReplyType arrrt)
+ throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ String transferIdentifier = arrrt.getRestitutionRequestIdentifier().getValue();
+ String replyIdentifier = arrrt.getRestitutionRequestReplyIdentifier().getValue();
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_restitution_acknowledgment:\"" + transferIdentifier + "\"");
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRefs().size() > 0 && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception("Aucune archive trouver avec la requete suivante seda_restitution_acknowledgment:\""
+ + transferIdentifier + "\"");
+
+ if (arrrt.getReplyCode() != null && arrrt.getReplyCode().getValue() != null
+ && arrrt.getReplyCode().getValue().equals(ReplyCodeType.NUM000)) {
+ filename = archive_identifier + "__" + replyIdentifier + "_accuse_restitution.xml";
+ state = "restitution demande";
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE);
+ } else {
+ filename = archive_identifier + "__" + replyIdentifier + "_refus_restitution.xml";
+ state = "restitution rejet";
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE, null);
+ }
+ }
+
+ /**
+ * Method : doActionBordereauArchiveRestitutionRequestType()
+ * @param arrt
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveRestitutionRequestType(ArchiveRestitutionRequestType arrt) throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ String transferIdentifier = arrt.getArchive().get(0).getArchivalAgencyArchiveIdentifier().getValue();
+ String replyIdentifier = arrt.getRestitutionRequestIdentifier().getValue();
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_archive_ArchivalAgencyArchiveIdentifier:\"" + transferIdentifier + "\"");
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ nodeService.setProperty(destinationNodeRef, SAEMModelConstants.PROP_SEDA_RESTITUTION_ACKNOWLEDGMENT,
+ replyIdentifier);
+ } else
+ throw new Exception(
+ "Aucune archive trouver avec la requete suivante seda_archive_ArchivalAgencyArchiveIdentifier:\""
+ + transferIdentifier + "\"");
+
+ filename = archive_identifier + "__" + replyIdentifier + "_demande_de_restitution.xml";
+
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE);
+
+ state = "restitution demande";
+ }
+
+ /**
+ * Method : doActionBordereauArchiveRestitutionType()
+ * @param art
+ * @param file
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveRestitutionType(ArchiveRestitutionType art, File file) throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ String transferIdentifier = art.getArchive().get(0).getArchivalAgencyArchiveIdentifier().getValue();
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_archive_ArchivalAgencyArchiveIdentifier:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null & queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception(
+ "Aucune archive trouver avec la requete suivante seda_archive_ArchivalAgencyArchiveIdentifier:\""
+ + transferIdentifier + "\"");
+
+ // Restitution des documents
+ String zipname = file.getName().replace(".xml", ".zip");
+ File zipfile = new File(file.getAbsolutePath().replace(".xml", ".zip"));
+
+ if (zipfile.exists()) {
+
+ unzip(zipfile, new File(System.getProperty("java.io.tmpdir") + "/asalaereponse/"));
+ File dossier = new File(System.getProperty("java.io.tmpdir") + "/asalaereponse/" + archive_identifier);
+
+ if (dossier.exists()) {
+ for (File fichier : dossier.listFiles()) {
+
+ if (fichier.getName().equals("documents")) {
+
+ for (ArchiveType at : art.getArchive()) {
+ // On récupère le noderef de l'archive
+ SearchParameters sp1 = new SearchParameters();
+ sp1.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp1.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp1.setQuery("@saem\\:seda_archive_ArchivalAgencyArchiveIdentifier:\""
+ + at.getArchivalAgencyArchiveIdentifier().getValue() + "\"");
+
+ ResultSet queryResults1 = searchService.query(sp1);
+
+ if (queryResults1.getNodeRef(0) != null && queryResults1.getNodeRefs().size() > 0) {
+
+ NodeRef atNodeRef = queryResults1.getNodeRef(0);
+ // On recupère le path pour effectuer la requete
+ // pour chaque fichier du zip
+ String atPath = nodeService.getPath(atNodeRef).toPrefixString(
+ serviceRegistry.getNamespaceService());
+
+ for (File file1 : fichier.listFiles()) {
+ SearchParameters sp11 = new SearchParameters();
+ sp11.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp11.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp11.setQuery("PATH:\"" + atPath + "//*\" AND @cm\\:name:\"" + file1.getName()
+ + "\"");
+
+ ResultSet queryResults11 = searchService.query(sp11);
+
+ if (queryResults11.getNodeRefs().size() > 0 && queryResults11.getNodeRef(0) != null) {
+
+ FileInputStream input = new FileInputStream(file1);
+
+ byte[] content = new byte[(int) file1.length()];
+ input.read(content);
+
+ ContentWriter writer = contentService.getWriter(queryResults11.getNodeRef(0),
+ ContentModel.PROP_CONTENT, true);
+ writer.putContent(new ByteArrayInputStream(content));
+
+ input.close();
+ } else {
+ LOG.error("Impossible de trouver le fichier dont le nom est: "
+ + file1.getName());
+ }
+
+ }
+ } else {
+ LOG.error("Impossible de trouver l'archive ayant pour 'ArchivalAgencyArchiveIdentifier' la valeur: "
+ + at.getArchivalAgencyArchiveIdentifier().getValue());
+ }
+ }
+ break;
+ }
+ }
+
+ deleteFolder(dossier);
+ zipfile.delete();
+ }
+
+ // Regeneration de tout les identifiants
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ WebServicePortType test = ssl.getWebServicePort(new URL(propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_URL) + "/webservices/service"));
+ ArchiveTransferType archiveSedaObject = (ArchiveTransferType) profilSEDAUtils.getSedaObject(
+ destinationNodeRef, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+ cleanSEDAAfterRestitution(archiveSedaObject);
+ String bordereau = SEDAWriter.transformSEDAObjectToXML(archiveSedaObject);
+ String bordereauSEDA = new String(Base64.decode(new String(test.wsCompleterBordereau(
+ Base64.encode(bordereau.getBytes("UTF8")).getBytes(),
+ propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN),
+ propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD)))), "UTF8");
+ InputStream result = new ByteArrayInputStream(bordereauSEDA.getBytes());
+ result.reset();
+ ArchiveTransferType newArchiveTransferType = (ArchiveTransferType) XMLLoader.SEDALoader(result);
+ insertDataInFolder(destinationNodeRef, newArchiveTransferType);
+
+ // Envoi un ArchiveRestitutionAcknowledgementType à As@lae
+
+ /* Correction envoi de l'acquitement a asalae def ou int */
+ Boolean isArchiveDefinitive = false;
+
+ if (nodeService.getProperty(destinationNodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(
+ SAEMArchiveStates.DEFINITIF)) {
+ isArchiveDefinitive = true;
+ }
+
+ WebServicePortType wspt = ssl.getWebServicePort(new URL(propertyReader
+ .getProperty(isArchiveDefinitive ? SAEMPropertiesConstants.ASALAE_DEF_URL
+ : SAEMPropertiesConstants.ASALAE_INT_URL)
+ + "/webservices/service"));
+
+ String asalaeLogin = propertyReader
+ .getProperty(isArchiveDefinitive ? SAEMPropertiesConstants.ASALAE_DEF_LOGIN
+ : SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader
+ .getProperty(isArchiveDefinitive ? SAEMPropertiesConstants.ASALAE_DEF_PASSWORD
+ : SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+ /**/
+
+ // String asalaeLogin =
+ // propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+ // String asalaePassword =
+ // propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+ ArchiveRestitutionAcknowledgementType arrt = new ArchiveRestitutionAcknowledgementType();
+ arrt.setRestitutionIdentifier(new ArchivesIDType());
+ arrt.getRestitutionIdentifier().setValue(art.getRestitutionIdentifier().getValue());
+ bordereauSEDA = SEDAWriter.transformSEDAObjectToXML(arrt);
+ wspt.wsRestitution("bordereau.xml", Base64.encode(bordereauSEDA.getBytes("UTF8")).getBytes(), null, null,
+ null, asalaeLogin, asalaePassword);
+
+ } else {
+ throw new Exception("Aucun fichier Zip de ce nom: " + zipname);
+ }
+
+ filename = archive_identifier + "__" + transferIdentifier + "_accusé_de_reception_restitution.xml";
+ state = "restitution reception";
+
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_VERSE);
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_NON_VERSE, null);
+
+ Utils.setArchiveState(nodeService, destinationNodeRef, SAEMArchiveStates.RESTITUER);
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE);
+ }
+
+ /**
+ * Method : deleteFolder()
+ * @param folder void
+ */
+ private void deleteFolder(File folder) {
+ for (File file : folder.listFiles()) {
+ if (file.isDirectory())
+ deleteFolder(file);
+ else
+ file.delete();
+ }
+ folder.delete();
+ }
+
+ /**
+ * Method : insertDataInFolder()
+ * @param archive
+ * @param att void
+ */
+ private void insertDataInFolder(NodeRef archive, ArchiveTransferType att) {
+ // saem:seda_archive_ArchivalAgencyArchiveIdentifier
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER, att
+ .getContains().get(0).getArchivalAgencyArchiveIdentifier().getValue());
+ // saem:seda_archive_xml_full
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL,
+ SEDAWriter.transformSEDAObjectToXML(att));
+ // saem:seda_restitution_acknowledgment
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_RESTITUTION_ACKNOWLEDGMENT, "");
+ // saem:seda_versement_acknowledgment
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_VERSEMENT_ACKNOWLEDGMENT, att
+ .getTransferIdentifier().getValue());
+
+ // On edite
+ for (ChildAssociationRef car : nodeService.getChildAssocs(archive)) {
+ if (fileFolderService.getFileInfo(car.getChildRef()).isFolder()) {
+ // On recherche l'unité documentaire qui porte le meme nom
+ ArchiveObjectType aot = findSubArchive(att.getContains().get(0),
+ (String) nodeService.getProperty(car.getChildRef(), ContentModel.PROP_NAME));
+ insertDataInSubFolder(car.getChildRef(), aot);
+ }
+ }
+
+ if (att.getContains().get(0).getDocument() != null)
+ att.getContains().get(0).getDocument().clear();
+ if (att.getContains().get(0).getContains() != null)
+ att.getContains().get(0).getContains().clear();
+
+ // saem:seda_archive_xml
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML,
+ SEDAWriter.transformSEDAObjectToXML(att));
+ }
+
+ /**
+ * Method : findSubArchive()
+ * @param archiveType
+ * @param name
+ * @return ArchiveObjectType
+ */
+ private ArchiveObjectType findSubArchive(ArchiveType archiveType, String name) {
+ if (archiveType.getContains() == null)
+ return null;
+
+ for (ArchiveObjectType aot : archiveType.getContains()) {
+ String nameVerif = StringUtils.trim(name);
+ nameVerif = FileNameValidator.getValidFileName(nameVerif);
+ nameVerif = nameVerif.trim();
+ if (nameVerif.equals(name))
+ return aot;
+ }
+
+ return null;
+ }
+
+ /**
+ * Method : findSubArchive()
+ * @param archiveType
+ * @param name
+ * @return ArchiveObjectType
+ */
+ private ArchiveObjectType findSubArchive(ArchiveObjectType archiveType, String name) {
+ if (archiveType.getContains() == null)
+ return null;
+
+ for (ArchiveObjectType aot : archiveType.getContains()) {
+ if (aot.getName().equals(name))
+ return aot;
+ }
+
+ return null;
+ }
+
+ /**
+ * Method : insertDataInSubFolder()
+ * @param archive
+ * @param att void
+ */
+ private void insertDataInSubFolder(NodeRef archive, ArchiveObjectType att) {
+ // saem:seda_sous_objet_archive_ArchivalAgencyObjectIdentifier
+ nodeService.setProperty(archive,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER, att
+ .getArchivalAgencyObjectIdentifier().getValue());
+
+ // On edite
+ for (ChildAssociationRef car : nodeService.getChildAssocs(archive)) {
+ if (fileFolderService.getFileInfo(car.getChildRef()).isFolder()) {
+ // On recherche l'unité documentaire qui porte le meme nom
+ ArchiveObjectType aot = findSubArchive(att,
+ (String) nodeService.getProperty(car.getChildRef(), ContentModel.PROP_NAME));
+
+ if (aot != null)
+ insertDataInSubFolder(car.getChildRef(), aot);
+ }
+ }
+
+ if (att.getContains() != null)
+ att.getContains().clear();
+ if (att.getDocument() != null)
+ att.getDocument().clear();
+
+ // saem:seda_sous_objet_archive_xml
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML,
+ SEDAWriter.transformSEDAObjectToXML(att));
+ }
+
+ /**
+ * Method : cleanSEDAAfterRestitution()
+ * @param att void
+ */
+ private void cleanSEDAAfterRestitution(ArchiveTransferType att) {
+ att.getTransferIdentifier().setValue("");
+ for (ArchiveType at : att.getContains()) {
+ cleanSEDAArchiveAfterResitution(at);
+ }
+ }
+
+ /**
+ * Method : cleanSEDAArchiveAfterResitution()
+ * @param at void
+ */
+ private void cleanSEDAArchiveAfterResitution(ArchiveType at) {
+ at.getArchivalAgencyArchiveIdentifier().setValue("");
+ for (ArchiveObjectType aot : at.getContains()) {
+ cleanSEDAArchiveObjectAfterResitution(aot);
+ }
+ }
+
+ /**
+ * Method : cleanSEDAArchiveObjectAfterResitution()
+ * @param at void
+ */
+ private void cleanSEDAArchiveObjectAfterResitution(ArchiveObjectType at) {
+ at.getArchivalAgencyObjectIdentifier().setValue("");
+ }
+
+ /**
+ * Method : unzip()
+ * @param zipfile
+ * @param folder
+ * @throws FileNotFoundException
+ * @throws IOException void
+ */
+ private void unzip(File zipfile, File folder) throws FileNotFoundException, IOException {
+
+ // création de la ZipInputStream qui va servir à lire les données du
+ // fichier zip
+ ZipInputStream zis = new ZipInputStream(
+ new BufferedInputStream(new FileInputStream(zipfile.getCanonicalFile())));
+
+ // extractions des entrées du fichiers zip (i.e. le contenu du zip)
+ ZipEntry ze = null;
+ try {
+ while ((ze = zis.getNextEntry()) != null) {
+
+ // Pour chaque entrée, on crée un fichier dans le répertoire de
+ // sortie "folder"
+ File f = new File(folder.getCanonicalPath(), ze.getName());
+
+ // Si l'entrée est un répertoire, on le crée dans le répertoire
+ // de sortie et on passe à l'entrée suivante (continue)
+ if (ze.isDirectory()) {
+ f.mkdirs();
+ continue;
+ }
+
+ // L'entrée est un fichier, on crée une OutputStream pour écrire
+ // le contenu du nouveau fichier
+ f.getParentFile().mkdirs();
+ OutputStream fos = new BufferedOutputStream(new FileOutputStream(f));
+
+ // On écrit le contenu du nouveau fichier qu'on lit à partir de
+ // la ZipInputStream au moyen d'un buffer (byte[])
+ try {
+ try {
+ final byte[] buf = new byte[8192];
+ int bytesRead;
+ while (-1 != (bytesRead = zis.read(buf)))
+ fos.write(buf, 0, bytesRead);
+ } finally {
+ fos.close();
+ }
+ } catch (final IOException ioe) {
+ f.delete();
+ throw ioe;
+ }
+ }
+ } finally {
+ zis.close();
+ }
+ }
+
+ /**
+ * Method : doActionBordereauArchiveModificationNotificationType()
+ * @param amnt
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveModificationNotificationType(ArchiveModificationNotificationType amnt)
+ throws Exception {
+ ArchiveTransferType archiveSedaObjectXML = null;
+ ArchiveObjectType subObjectSedaObjectXML = null;
+ String transferIdentifier = amnt.getUnitIdentifier().get(0).getValue();
+ String commentaires = amnt.getComment();
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+
+ if (StringUtils.isBlank(transferIdentifier))
+ return;
+
+ String duaValue = commentaires.split(";")[0].split(":")[1];
+ String sortFinalValue = commentaires.split(";")[1].split(":")[1];
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_archive_ArchivalAgencyArchiveIdentifier:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ int dua = Integer.valueOf(duaValue.substring(1, duaValue.length() - 1));
+ Format formatter = new SimpleDateFormat("yyyy-MM-dd");
+ Date tempDate = null;
+
+ if (queryResults.length() > 0) {
+
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+
+ // Récupération du bordereau de versement
+ archiveSedaObjectXML = (ArchiveTransferType) profilSEDAUtils.getSedaObject(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+
+ changeDUASortFinalValues(duaValue, sortFinalValue, archiveSedaObjectXML);
+
+ nodeService.setProperty(destinationNodeRef, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL,
+ SEDAWriter.transformSEDAObjectToXML(archiveSedaObjectXML));
+
+ // Récupération du bordereau de versement
+ archiveSedaObjectXML = (ArchiveTransferType) profilSEDAUtils.getSedaObject(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML);
+
+ changeDUASortFinalValues(duaValue, sortFinalValue, archiveSedaObjectXML);
+
+ nodeService.setProperty(destinationNodeRef, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML,
+ SEDAWriter.transformSEDAObjectToXML(archiveSedaObjectXML));
+
+ // Récupération de la date de départ
+ tempDate = (Date) formatter.parseObject(archiveSedaObjectXML.getContains().get(0).getAppraisal()
+ .getStartDate().getValue());
+
+ } else {
+
+ sp.setQuery("@saem\\:seda_sous_objet_archive_ArchivalAgencyObjectIdentifier:\"" + transferIdentifier + "\"");
+
+ queryResults = searchService.query(sp);
+
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER);
+
+ // Récupération du bordereau de versement
+ subObjectSedaObjectXML = (ArchiveObjectType) profilSEDAUtils.getSedaObject(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML);
+
+ changeDUASortFinalValues(duaValue, sortFinalValue, subObjectSedaObjectXML);
+
+ nodeService.setProperty(destinationNodeRef, SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML,
+ SEDAWriter.transformSEDAObjectToXML(subObjectSedaObjectXML));
+
+ // Récupération du bordereau de versement
+ NodeRef parentArchive = getParentArchive(destinationNodeRef);
+ archiveSedaObjectXML = (ArchiveTransferType) profilSEDAUtils.getSedaObject(parentArchive,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+
+ changeDUASortFinalValuesForSubObject(duaValue, sortFinalValue, archiveSedaObjectXML,
+ subObjectSedaObjectXML.getArchivalAgencyObjectIdentifier());
+
+ nodeService.setProperty(parentArchive, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL,
+ SEDAWriter.transformSEDAObjectToXML(archiveSedaObjectXML));
+
+ // Récupération de la date de départ
+ tempDate = (Date) formatter.parseObject(subObjectSedaObjectXML.getAppraisal().getStartDate().getValue());
+ }
+
+ Calendar cal = GregorianCalendar.getInstance();
+ cal.setTime(tempDate);
+ cal.add(Calendar.YEAR, dua);
+
+ if (Utils.findValueOnEnum(AppraisalCodeType.class, sortFinalValue).equals(AppraisalCodeType.DETRUIRE)
+ && cal.compareTo(GregorianCalendar.getInstance()) <= 0) {
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE, null);
+ } else {
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE);
+ }
+
+ filename = archive_identifier + "__" + amnt.getModificationNotificationIdentifier().getValue() + "_"
+ + transferIdentifier + ".xml";
+ }
+
+ /**
+ * Method : getParentArchive()
+ * @param destinationNodeRef
+ * @return
+ * @throws Exception NodeRef
+ */
+ private NodeRef getParentArchive(NodeRef destinationNodeRef) throws Exception {
+ NodeRef parent = nodeService.getParentAssocs(destinationNodeRef).get(0).getParentRef();
+ if (parent.equals(destinationNodeRef)) {
+ throw new Exception("Impossible de récupérer l'archive parent pour le noderef : "
+ + destinationNodeRef.toString());
+ }
+ if (nodeService.hasAspect(parent, SAEMModelConstants.ASPECT_ARCHIVABLE)) {
+ return parent;
+ }
+ return getParentArchive(parent);
+ }
+
+ /**
+ * Method : changeDUASortFinalValuesForSubObject()
+ * @param duaValue
+ * @param sortFinalValue
+ * @param archiveSedaObjectXML
+ * @param archivalAgencyObjectIdentifier
+ * @throws Exception void
+ */
+ private void changeDUASortFinalValuesForSubObject(String duaValue, String sortFinalValue,
+ ArchiveTransferType archiveSedaObjectXML, ArchivesIDType archivalAgencyObjectIdentifier) throws Exception {
+
+ ArchiveObjectType toModif = null;
+ if (archiveSedaObjectXML.getContains() != null) {
+ for (ArchiveType archiveType : archiveSedaObjectXML.getContains()) {
+ if (archiveType.getContains() != null) {
+ for (ArchiveObjectType archiveObjectType : archiveType.getContains()) {
+ toModif = getArchiveObjectTypeRecursif(archiveObjectType, archivalAgencyObjectIdentifier);
+ if (toModif != null)
+ break;
+ }
+ }
+ if (toModif != null)
+ break;
+ }
+ }
+ if (toModif == null) {
+ throw new Exception("Aucun sous objet d'archive ne correspond à cet identifiant");
+ }
+
+ changeDUASortFinalValues(duaValue, sortFinalValue, toModif);
+ }
+
+ /**
+ * Method : changeDUASortFinalValues()
+ * @param duaValue
+ * @param sortFinalValue
+ * @param subObjectSedaObjectXML void
+ */
+ private void changeDUASortFinalValues(String duaValue, String sortFinalValue,
+ ArchiveObjectType subObjectSedaObjectXML) {
+ try {
+
+ if (subObjectSedaObjectXML.getAppraisal() == null)
+ subObjectSedaObjectXML.setAppraisal(createEmptyAppraisal());
+
+ // Modif du sort final
+ switch (sortFinalValue) {
+ case "conserver":
+ subObjectSedaObjectXML.getAppraisal().getCode().setValue(AppraisalCodeType.CONSERVER);
+ break;
+ case "detruire":
+ subObjectSedaObjectXML.getAppraisal().getCode().setValue(AppraisalCodeType.DETRUIRE);
+ break;
+ default:
+ subObjectSedaObjectXML.getAppraisal().getCode().setValue(AppraisalCodeType.EMPTY);
+ break;
+ }
+
+ // Modif de la DUA
+ subObjectSedaObjectXML.getAppraisal().getDuration().setValue(duaValue);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ /**
+ * Method : getArchiveObjectTypeRecursif()
+ * @param archiveObjectType
+ * @param archivalAgencyObjectIdentifier
+ * @return ArchiveObjectType
+ */
+ private ArchiveObjectType getArchiveObjectTypeRecursif(ArchiveObjectType archiveObjectType,
+ ArchivesIDType archivalAgencyObjectIdentifier) {
+
+ if (archiveObjectType.getArchivalAgencyObjectIdentifier() != null
+ && archiveObjectType.getArchivalAgencyObjectIdentifier().getValue()
+ .equals(archivalAgencyObjectIdentifier.getValue())) {
+ return archiveObjectType;
+ }
+
+ if (archiveObjectType.getContains() != null) {
+ for (ArchiveObjectType newArchiveObjectType : archiveObjectType.getContains()) {
+ ArchiveObjectType newArchiveObjectType2 = getArchiveObjectTypeRecursif(newArchiveObjectType,
+ archivalAgencyObjectIdentifier);
+
+ if (newArchiveObjectType2 != null) {
+ return newArchiveObjectType2;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Method : changeDUASortFinalValues()
+ * @param duaValue
+ * @param sortFinalValue
+ * @param archiveSedaObject void
+ */
+ private void changeDUASortFinalValues(String duaValue, String sortFinalValue, ArchiveTransferType archiveSedaObject) {
+
+ try {
+
+ if (archiveSedaObject.getContains().get(0).getAppraisal() == null)
+ archiveSedaObject.getContains().get(0).setAppraisal(createEmptyAppraisal());
+
+ // Modif du sort final
+ switch (sortFinalValue) {
+ case "conserver":
+ archiveSedaObject.getContains().get(0).getAppraisal().getCode().setValue(AppraisalCodeType.CONSERVER);
+ break;
+ case "detruire":
+ archiveSedaObject.getContains().get(0).getAppraisal().getCode().setValue(AppraisalCodeType.DETRUIRE);
+ break;
+ default:
+ archiveSedaObject.getContains().get(0).getAppraisal().getCode().setValue(AppraisalCodeType.EMPTY);
+ break;
+ }
+
+ // Modif de la DUA
+ archiveSedaObject.getContains().get(0).getAppraisal().getDuration().setValue(duaValue);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Method : createEmptyAppraisal()
+ * @return AppraisalRulesType
+ */
+ private AppraisalRulesType createEmptyAppraisal() {
+ AppraisalRulesType newAppraisalRulesType = new AppraisalRulesType();
+ CodeAppraisalType newCodeAppraisalType = new CodeAppraisalType();
+ newCodeAppraisalType.setValue(AppraisalCodeType.EMPTY);
+ newAppraisalRulesType.setCode(newCodeAppraisalType);
+ newAppraisalRulesType.setDuration(new ArchivesDurationType());
+ DateType newDate = new DateType();
+ newDate.setValue(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
+ newAppraisalRulesType.setStartDate(newDate);
+ return newAppraisalRulesType;
+ }
+
+ /**
+ * Method : doActionBordereauArchiveDestructionNotificationType()
+ * @param adat
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveDestructionNotificationType(ArchiveDestructionNotificationType adat)
+ throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ String transferIdentifier = adat.getDestructionRequestIdentifier().getValue();
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception("Aucune archive trouver avec la requete suivante seda_elimination_acknowledgment:\""
+ + transferIdentifier + "\"");
+
+ filename = archive_identifier + "__" + transferIdentifier + "_accusé_d_acceptation_elimination.xml";
+ state = "elimination acceptation";
+
+ // L'archive a été éliminé dans As@lae
+ Utils.setArchiveState(nodeService, destinationNodeRef, SAEMArchiveStates.ELIMINER);
+ }
+
+ /**
+ * Method : doActionBordereauArchiveDestructionRequestReplyReplyAcknowledgementType()
+ * @param adat
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveDestructionRequestReplyReplyAcknowledgementType(
+ ArchiveDestructionRequestReplyReplyAcknowledgementType adat) throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ String transferIdentifier = adat.getDestructionRequestReplyIdentifier().getValue();
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception("Aucune archive trouver avec la requete suivante seda_elimination_acknowledgment:\""
+ + transferIdentifier + "\"");
+
+ final NodeRef finalDestinationNodeRef = destinationNodeRef;
+
+ filename = archive_identifier + "__" + transferIdentifier + "_accusé_de_rejet_elimination.xml";
+ if (destinationNodeRef != null) {
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE, null);
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE, null);
+ }
+ state = "elimination rejet";
+ nodeService.setProperty(destinationNodeRef, SAEMModelConstants.PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT, "");
+
+ // Envoi de mail
+ String siteName = AuthenticationUtil.runAsSystem(new RunAsWork<String>() {
+
+ @Override
+ public String doWork() throws Exception {
+ return siteService.getSite(finalDestinationNodeRef).getShortName();
+ }
+ });
+ String archiveName = (String) nodeService.getProperty(destinationNodeRef, ContentModel.PROP_NAME);
+ boolean workflowTerminated = false;
+
+ String workflowName = "Elimination";
+ boolean svValidation = false;
+
+ String initiatorUserName = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_ELIMINATION_INITIATOR);
+
+ SAEMWorkflowUtils.sendMail(serviceRegistry, "", "", archiveName, destinationNodeRef, initiatorUserName,
+ siteName, "", workflowTerminated, workflowName, svValidation);
+
+ nodeService.removeAspect(finalDestinationNodeRef, SAEMModelConstants.ASPECT_ARCHIVABLE);
+ nodeService.removeAspect(finalDestinationNodeRef, SAEMModelConstants.ASPECT_NON_VERSE);
+ }
+
+ /**
+ * Method : doActionBordereauArchiveDestructionRequestReplyType()
+ * @param adrrt
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveDestructionRequestReplyType(ArchiveDestructionRequestReplyType adrrt)
+ throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ String transferIdentifier = adrrt.getDestructionRequestIdentifier().getValue();
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception("Aucune archive trouver avec la requete suivante seda_elimination_acknowledgment:\""
+ + transferIdentifier + "\"");
+
+ if (adrrt.getReplyCode().getValue().equals(ReplyCodeType.NUM000)) {
+ filename = archive_identifier + "__" + transferIdentifier + "_accusé_de_reception_elimination.xml";
+ state = "elimination reception";
+ }
+
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE);
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE);
+ }
+
+ /**
+ * Method : doActionBordereauArchiveDestructionRequestType()
+ * @param adr
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveDestructionRequestType(ArchiveDestructionRequestType adr) throws Exception {
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+
+ String transferIdentifier = adr.getArchive().get(0).getArchivalAgencyArchiveIdentifier().getValue();
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_archive_ArchivalAgencyArchiveIdentifier:\"" + transferIdentifier + "\"");
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception(
+ "Aucune archive trouver avec la requete suivante seda_archive_ArchivalAgencyArchiveIdentifier:\""
+ + transferIdentifier + "\"");
+
+ final NodeRef finalDestinationNodeRef = destinationNodeRef;
+
+ filename = archive_identifier + "_demande_d_elimination.xml";
+
+ nodeService.setProperty(finalDestinationNodeRef, SAEMModelConstants.PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT, adr
+ .getDestructionRequestIdentifier().getValue());
+ nodeService.removeAspect(finalDestinationNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE);
+
+ state = "elimination demande";
+
+ }
+
+ /**
+ * Method : doActionBordereauArchiveTransferAcceptanceType()
+ * @param atat
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveTransferAcceptanceType(ArchiveTransferAcceptanceType atat) throws Exception {
+
+ String transferIdentifier = atat.getTransferIdentifier().getValue();
+ String replyIdentifier = atat.getTransferAcceptanceIdentifier().getValue();
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_versement_acknowledgment:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception("Aucune archive trouver avec la requete suivante seda_versement_acknowledgment:\""
+ + transferIdentifier + "\"");
+
+ filename = archive_identifier + "__" + replyIdentifier + "_accusé_d_acceptation_versement.xml";
+
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_VERSE, null);
+ nodeService.removeAspect(destinationNodeRef, SAEMModelConstants.ASPECT_NON_VERSE);
+
+ if(!nodeService.getProperty(destinationNodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(
+ SAEMArchiveStates.INTERMEDIAIRE)) {
+ Utils.removeContentAfterVersement(destinationNodeRef, nodeService, contentService);
+ }
+
+ state = "acceptation versement";
+
+ if (nodeService.getProperty(destinationNodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(
+ SAEMArchiveStates.INTERMEDIAIRE)) {
+ // Si etat intermediaire (Définitif)
+ Utils.setArchiveState(nodeService, destinationNodeRef, SAEMArchiveStates.DEFINITIF);
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE, null);
+ } else {
+ // L'archive a été accepté dans As@lae (intermediaire)
+ Utils.setArchiveState(nodeService, destinationNodeRef, SAEMArchiveStates.INTERMEDIAIRE);
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE, null);
+ }
+ }
+
+ /**
+ * Method : doActionBordereauArchiveTransferReplyType()
+ * @param att
+ * @throws Exception void
+ */
+ private void doActionBordereauArchiveTransferReplyType(ArchiveTransferReplyType att) throws Exception {
+
+ String transferIdentifier = att.getTransferIdentifier().getValue();
+ String replyIdentifier = att.getTransferReplyIdentifier().getValue();
+ SearchParameters sp = new SearchParameters();
+ String archive_identifier = "";
+
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_versement_acknowledgment:\"" + transferIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null) {
+ destinationNodeRef = queryResults.getNodeRef(0);
+ archive_identifier = (String) nodeService.getProperty(destinationNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ } else
+ throw new Exception("Aucune archive trouver avec la requete suivante seda_versement_acknowledgment:\""
+ + transferIdentifier + "\"");
+
+ if (att.getReplyCode().getValue().equals(ReplyCodeType.NUM000)) {
+ filename = archive_identifier + "__" + replyIdentifier + "_accusé_de_reception_versement.xml";
+ state = "reception versement";
+
+ // L'archive a été versé dans As@lae (versé)
+ Utils.setArchiveState(nodeService, destinationNodeRef, SAEMArchiveStates.VERSER);
+
+ } else {
+ filename = archive_identifier + "__" + replyIdentifier + "_accusé_de_rejet_versement.xml";
+ if (destinationNodeRef != null) {
+ nodeService.addAspect(destinationNodeRef, SAEMModelConstants.ASPECT_NON_VERSE, null);
+ }
+ state = "rejet versement";
+
+ // L'archive a été refusé dans As@lae (normal)
+ Utils.setArchiveState(nodeService, destinationNodeRef, SAEMArchiveStates.NORMAL);
+ }
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setSiteService(SiteService siteService) {
+ this.siteService = siteService;
+ }
+
+ public void setServiceRegistry(ServiceRegistry serviceRegistry) {
+ this.serviceRegistry = serviceRegistry;
+ }
+
+ public void setProfilSEDAUtils(ProfilSEDAUtils profilSEDAUtils) {
+ this.profilSEDAUtils = profilSEDAUtils;
+ }
+
+ public void setFileFolderService(FileFolderService fileFolderService) {
+ this.fileFolderService = fileFolderService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.ContentIOException;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.seda.form.SEDAModel;
+import eu.akka.saem.alfresco.seda.loader.AGAPELoader;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.loader.agape.AGAPEObject;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+
+/**
+ *
+ * Classe de creation des archives dans Asalae
+ *
+ * @Class : CreateArchiveBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: CreateArchiveBean.java $
+ *
+ */
+public class CreateArchiveBean extends AbstractWebScript {
+
+ private static final Log LOG = LogFactory.getLog(CreateArchiveBean.class);
+ private ContentService contentService;
+ private NodeService nodeService;
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res)
+ throws IOException {
+ String result = null;
+
+ if (req.getParameter("archive") != null) {
+ try {
+ SEDAModel model = null;
+
+ NodeRef archiveNodeRef = new NodeRef(req.getParameter("archive"));
+ String profilContent = (String) nodeService.getProperty(archiveNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_PROFIL_MODEL);
+
+ String dataContent = (String) nodeService.getProperty(archiveNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+
+ InputStream dataContentStream = new ByteArrayInputStream(dataContent.getBytes());
+
+ model = new SEDAModel(new JSONObject(profilContent),(ArchiveTransferType) XMLLoader.SEDALoader(dataContentStream));
+
+ result = model.toJSON();
+
+ } catch (ContentIOException | ClassNotFoundException
+ | InstantiationException | IllegalAccessException
+ | SecurityException | NoSuchMethodException
+ | IllegalArgumentException | ParserConfigurationException | SAXException | IOException | JSONException e) {
+ LOG.error("Une erreur s'est produite lors de la récupération des données de l'archive", e);
+ }
+
+ } else if (req.getParameter("profil") != null) {
+ NodeRef profilNodeRef = null;
+ profilNodeRef = new NodeRef(req.getParameter("profil"));
+
+ // Récupération du fichier RNG
+ ContentReader reader = contentService.getReader(profilNodeRef,
+ ContentModel.PROP_CONTENT);
+ try {
+ SEDAModel model = null;
+
+ String name = (String) nodeService.getProperty(profilNodeRef,
+ ContentModel.PROP_NAME);
+ /*if (name.endsWith(".rng")) {
+ RNGObject rngobject = RNGLoader
+ .ArchiveTransferLoader(reader
+ .getContentInputStream());
+ model = new SEDAModel(rngobject);
+ } else*/
+ if (name.endsWith(".xml")) {
+ AGAPEObject agapeobject = AGAPELoader
+ .ArchiveTransferLoader(reader
+ .getContentInputStream());
+ model = new SEDAModel(agapeobject);
+ }
+
+ result = model.toJSON();
+
+ } catch (ContentIOException | ClassNotFoundException
+ | InstantiationException | IllegalAccessException
+ | SecurityException | NoSuchMethodException
+ | IllegalArgumentException | InvocationTargetException
+ | ParserConfigurationException | SAXException | IOException e) {
+ LOG.error("Une erreur s'est produite au parsing du profil SEDA", e);
+ }
+ }
+
+ res.setContentEncoding("UTF-8");
+ res.setContentType("application/json");
+ res.getWriter().write(result);
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.rpc.ServiceException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.content.MimetypeMap;
+import org.alfresco.service.cmr.model.FileExistsException;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.ContentWriter;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.util.FileNameValidator;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.axis.encoding.Base64;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.exception.FileAlreadyExistException;
+import eu.akka.saem.alfresco.exception.NoDestinationException;
+import eu.akka.saem.alfresco.exception.NoProfilableFolderException;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.helper.ServiceVersantHelper;
+import eu.akka.saem.alfresco.seda.SEDADocument;
+import eu.akka.saem.alfresco.seda.SEDAFolder;
+import eu.akka.saem.alfresco.seda.form.CreateArchiveFormResult;
+import eu.akka.saem.alfresco.seda.form.HTMLForm;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DocumentType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.utils.BrowsableSEDAUtils;
+import eu.akka.saem.alfresco.utils.Utils;
+
+/**
+ *
+ * Classe de creation des archives dans Asalae
+ *
+ * @Class : CreateArchiveBeanPost.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: CreateArchiveBeanPost.java $
+ *
+ */
+public class CreateArchiveBeanPost extends AbstractWebScript {
+
+ private static final String MESSAGE_JSON = "message";
+ private static final String ERROR_JSON = "error";
+ private static final Log LOG = LogFactory
+ .getLog(CreateArchiveBeanPost.class);
+ private FileFolderService fileFolderService;
+ private NodeService nodeService;
+ private ContentService contentService;
+ private SearchService searchService;
+ private NamespaceService namespaceService;
+ private PropertyReader propertyReader;
+ private ServiceVersantHelper serviceVersantHelper;
+
+ public static File createTempDir(String prefix) throws IOException {
+ File temp = File.createTempFile(prefix+Long.toString(new Date().getTime()), "",
+ new File(System.getProperty("java.io.tmpdir")));
+ temp.delete();
+ temp.mkdir();
+ return temp;
+ }
+
+ public InputStream getInputStreamInTmp(String name,File tmpdir){
+ for(File f:tmpdir.listFiles()){
+ if(f.getName().equals(name)){
+ try {
+ return new FileInputStream(f);
+ } catch (FileNotFoundException e) {
+ return null;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ public static void delete(File file)
+ throws IOException{
+
+ if(file.isDirectory()){
+
+ //directory is empty, then delete it
+ if(file.list().length==0){
+
+ file.delete();
+ System.out.println("Directory is deleted : " + file.getAbsolutePath());
+ }else{
+
+ //list all the directory contents
+ String files[] = file.list();
+
+ for (String temp : files) {
+ //construct the file structure
+ File fileDelete = new File(file, temp);
+
+ //recursive delete
+ delete(fileDelete);
+ }
+
+ //check the directory again, if empty then delete it
+ if(file.list().length==0){
+ file.delete();
+ System.out.println("Directory is deleted : " + file.getAbsolutePath());
+ }
+ }
+ }else{
+ //if file, then delete it
+ file.delete();
+ System.out.println("File is deleted : " + file.getAbsolutePath());
+ }
+ }
+
+ public void deleteFile(File tmpDir){
+ try {
+ delete(tmpDir);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public File createFile(InputStream inputStream, File tmpDir,String name) {
+ File file = null;
+ if (tmpDir.isDirectory()) {
+ try {
+
+ file = new File(tmpDir.getAbsolutePath()+"/"+name);
+ // write the inputStream to a FileOutputStream
+ OutputStream out = new FileOutputStream(file);
+
+ int read = 0;
+ byte[] bytes = new byte[1024];
+
+ while ((read = inputStream.read(bytes)) != -1) {
+ out.write(bytes, 0, read);
+ }
+
+ inputStream.close();
+ out.flush();
+ out.close();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return file;
+ }
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res)
+ throws IOException {
+ CreateArchiveFormResult cafr = new CreateArchiveFormResult();
+
+ NodeRef archivableFolderNodeRef = null;
+ JSONObject jsonresult = new JSONObject();
+ File f = null;
+ File faccuse = null;
+
+ try {
+ jsonresult.put(ERROR_JSON, false);
+
+ if (req.getParameter("action") != null
+ && req.getParameter("action").equals("save")) {
+ cafr.setArchiveTransferType((ArchiveTransferType) HTMLForm
+ .getHTMLForm(req.getParameter("id")).getSedaObject());
+ cafr.setAGAPEObject(HTMLForm
+ .getHTMLForm(req.getParameter("id")).getAGAPEObject());
+
+ if (req.getParameter("profil") != null
+ && !req.getParameter("profil").isEmpty()) {
+ cafr.setProfil(req.getParameter("profil"));
+ }
+
+ if (req.getParameter("destination") != null
+ && !req.getParameter("destination").isEmpty()) {
+ cafr.setDestination(req.getParameter("destination"));
+// if(cafr.getDestination().equals("findlater")){
+// NodeRef profil = new NodeRef(cafr.getProfil());
+//
+// String profilname = (String) nodeService.getProperty(profil, ContentModel.PROP_NAME);
+// SearchParameters sp = new SearchParameters();
+// sp.addStore(Repository.getStoreRef());
+// sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+// sp.setQuery("ASPECT:\"saem:profilable\" AND @saem\\:profilName:\""+profilname+"\"");
+// ResultSet queryResults = searchService.query(sp);
+//
+// if (queryResults != null && queryResults.getNodeRefs().size() > 0 && queryResults.getNodeRef(0) != null){
+// cafr.setDestination(queryResults.getNodeRef(0).toString());
+// }
+// }
+ }
+
+ } else if (req.getParameter("action") != null
+ && req.getParameter("action").equals("edit")) {
+ cafr.setArchiveTransferType((ArchiveTransferType) HTMLForm
+ .getHTMLForm(req.getParameter("id")).getSedaObject());
+ cafr.setAGAPEObject(HTMLForm
+ .getHTMLForm(req.getParameter("id")).getAGAPEObject());
+
+ f = createTempDir("file");
+ faccuse = createTempDir("accuse");
+ sendFileInTmp(req.getParameter("archive"),f);
+ sendAccuseFileInTMP(req.getParameter("archive"),faccuse);
+
+ cafr.setProfil((String) nodeService.getProperty(new NodeRef(req.getParameter("archive")),
+ SAEMModelConstants.PROP_SEDA_PROFIL_USE_NODEREF));
+
+ cafr.setDestination(nodeService.getPrimaryParent(new NodeRef(req.getParameter("archive"))).getChildRef().toString());
+
+ nodeService.deleteNode(new NodeRef(req.getParameter("archive")));
+ }
+
+ } catch (SecurityException | IllegalArgumentException | JSONException e) {
+ LOG.error("Erreur lors de la création de l'archive", e);
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult.put(MESSAGE_JSON, "Erreur système (bug) lors de la lecture du formulaire");
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du traitement de l'erreur (message de retour)", e1);
+ }
+ }
+
+ try {
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ WebServicePortType test = ssl
+ .getWebServicePort(new URL(
+ propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_URL)
+ + "/webservices/service"));
+ String bordereau = SEDAWriter.transformSEDAObjectToXML(cafr
+ .getArchiveTransferType());
+ // Récupération des identifiants de connexion à asalae
+ String asalaeLogin = propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+ String bordereauSEDA = new String(
+ Base64.decode(new String(test.wsCompleterBordereau(Base64
+ .encode(bordereau.getBytes("UTF8")).getBytes(),
+ asalaeLogin, asalaePassword))), "UTF8");
+
+ InputStream result = new ByteArrayInputStream(
+ bordereauSEDA.getBytes());
+ result.reset();
+ cafr.setArchiveTransferType((ArchiveTransferType) XMLLoader
+ .SEDALoader(result));
+ // get appraisal
+ ArchiveTransferType att = cafr.getArchiveTransferType();
+ ArchiveType at = null;
+ if (att.getContains() != null)
+ at = att.getContains().get(0);
+
+ BrowsableSEDAUtils bsu = new BrowsableSEDAUtils(
+ cafr.getArchiveTransferType());
+
+ if (cafr.getDestination() == null || cafr.getDestination() == "") {
+ throw new NoDestinationException(
+ "La destination n'est pas saisie, la création de l'archive est avortée");
+ }
+
+ NodeRef destination = new NodeRef(cafr.getDestination());
+ NodeRef profilNodeRef = new NodeRef(cafr.getProfil());
+ String profilName = (String) nodeService.getProperty(profilNodeRef,
+ ContentModel.PROP_NAME);
+
+ // Créer le dossier archivable au bon endroit
+ archivableFolderNodeRef = createArchivableFolder(bsu.getRoot(),
+ destination, profilName, cafr.getArchiveTransferType()
+ .getTransferIdentifier().getValue(), at);
+
+ //Ajout du profil name sur l'archive afin de pouvoir l'afficher dasn la dashlet "Mes traitements"
+ if(cafr != null && cafr.getProfil() != null && archivableFolderNodeRef != null){
+ String archiveProfilname = (String) nodeService.getProperty(new NodeRef(cafr.getProfil()), ContentModel.PROP_NAME);
+ nodeService.addAspect(archivableFolderNodeRef, SAEMModelConstants.ASPECT_PROFIL_NAME, null);
+ nodeService.setProperty(archivableFolderNodeRef, SAEMModelConstants.PROP_ARCHIVE_PROFIL_NAME, archiveProfilname);
+ }
+
+ if(faccuse!=null){
+ String id = (String) nodeService.getProperty(archivableFolderNodeRef, SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+
+ for(File fac:faccuse.listFiles()){
+ if(fac.getName().startsWith(id+"__")){
+ Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
+ props.put(ContentModel.PROP_NAME, fac.getName());
+ NodeRef createdFile = nodeService.createNode(archivableFolderNodeRef, ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, fac.getName()),
+ ContentModel.TYPE_CONTENT, props).getChildRef();
+
+ ContentWriter contentWriter = contentService.getWriter(createdFile,
+ ContentModel.PROP_CONTENT, true);
+ contentWriter.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
+ contentWriter.setEncoding("UTF-8");
+ InputStream in = getInputStreamInTmp(fac.getName(),faccuse);
+ contentWriter.putContent(in);
+
+ nodeService.addAspect(createdFile, SAEMModelConstants.ASPECT_IS_ACCUSE,null);
+ }
+ }
+ }
+
+ nodeService.setProperty(archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_PROFIL_MODEL, cafr
+ .getAGAPEObject().toJSON());
+
+ nodeService.setProperty(archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_PROFIL_USE_NODEREF, cafr.getProfil());
+
+ List<NodeRef> createdDocuments = new ArrayList<>();
+ // Créer les documents du dossier archivable
+ createdDocuments.addAll(createDocuments(bsu.getRoot()
+ .getSubFolders().get(0).getDocuments(),
+ archivableFolderNodeRef));
+
+ // Creer tous les sous repertoire ainsi que leur sous repertoire
+ List<SEDAFolder> subfolders = bsu.getRoot().getSubFolders().get(0)
+ .getSubFolders();
+
+ for (SEDAFolder subfolder : subfolders) {
+ createdDocuments.addAll(createFolderRecursif(subfolder,
+ archivableFolderNodeRef,faccuse));
+ }
+
+ //Mise en place de la propriété "pré versement"
+ Utils.setArchiveState(nodeService, archivableFolderNodeRef, SAEMArchiveStates.NORMAL);
+
+ res.setContentEncoding("UTF-8");
+ res.setContentType("application/json");
+
+ jsonresult.put("redirection", archivableFolderNodeRef.toString());
+ JSONArray array = new JSONArray();
+ for (NodeRef nr : createdDocuments) {
+ JSONObject o = new JSONObject();
+ o.put("dest", nr.toString());
+
+ String nodeName = (String) nodeService.getProperty(nr, ContentModel.PROP_NAME);
+
+ if(f!=null){
+ InputStream in = getInputStreamInTmp(nodeName,f);
+ if(in==null)
+ o.put("name", nodeName);
+ else{
+ try{
+ ContentWriter writer = contentService.getWriter(nr, ContentModel.PROP_CONTENT, true);
+ writer.putContent(in);
+ o.put("name", nodeName);
+ }
+ catch(Exception ex){
+ o.put("name", nodeName);
+ }
+ }
+ }
+ else{
+ o.put("name", nodeName);
+ }
+ array.put(o);
+ }
+ jsonresult.put("filesDestinations", array);
+
+ if(f!=null){
+ deleteFile(f);
+ }
+
+ if(faccuse!=null){
+ deleteFile(faccuse);
+ }
+
+ } catch (FileAlreadyExistException e) {
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult.put(MESSAGE_JSON, "Le document " + e.getName()
+ + " est en double");
+ LOG.error("Erreur lors de la soummission d'un formulaire", e);
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du renvoi du JSON d'erreur", e1);
+ }
+ } catch (NoDestinationException e) {
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult
+ .put(MESSAGE_JSON,
+ "Erreur système (bug) la destination n'a pas pu être calculée");
+ LOG.error("Erreur lors de la soummission d'un formulaire", e);
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du renvoi du JSON d'erreur", e1);
+ }
+ } catch (JSONException e) {
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult.put(MESSAGE_JSON,
+ "Erreur système (bug) de formattage du JSON");
+ LOG.error("Erreur lors de la soummission d'un formulaire", e);
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du renvoi du JSON d'erreur", e1);
+ }
+ } catch (NoProfilableFolderException e) {
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult.put(MESSAGE_JSON,
+ "Aucun dossier profilable n'est associé à ce profil");
+ LOG.error("Erreur lors de la soummission d'un formulaire", e);
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du renvoi du JSON d'erreur", e1);
+ }
+ } catch (ServiceException e) {
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult.put(MESSAGE_JSON, "Asalae n'est pas joignable");
+ LOG.error("Erreur lors de la soummission d'un formulaire", e);
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du renvoi du JSON d'erreur", e1);
+ }
+ } catch (ClassNotFoundException | InstantiationException
+ | IllegalAccessException | SecurityException
+ | NoSuchMethodException | ParserConfigurationException
+ | SAXException e) {
+ try {
+ jsonresult.put(ERROR_JSON, true);
+ jsonresult
+ .put(MESSAGE_JSON,
+ "Erreur système (bug) lors de la lecture du formulaire");
+ LOG.error("Erreur lors de la soummission d'un formulaire", e);
+ } catch (JSONException e1) {
+ LOG.error("Erreur lors du renvoi du JSON d'erreur", e1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ res.getWriter().write(jsonresult.toString());
+ }
+ }
+
+
+ private void sendAccuseFileInTMP(String parameter, File faccuse) {
+ NodeRef archive = new NodeRef(parameter);
+
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\"" + nodeService.getPath(archive).toPrefixString(namespaceService)
+ + "//*\"" + " AND ASPECT:\"saem:is_accuse\"");
+ ResultSet rs = searchService.query(sp);
+ List<NodeRef> nodes = rs.getNodeRefs();
+
+ for(NodeRef n:nodes){
+ QName nodeQnameType = nodeService.getType(n);
+ String nodeName = (String) nodeService.getProperty(n, ContentModel.PROP_NAME);
+
+ ContentReader reader = contentService.getReader(n, ContentModel.PROP_CONTENT);
+ if (reader != null) {
+ InputStream is = reader.getContentInputStream();
+ createFile(is, faccuse,nodeName);
+ }
+ }
+ }
+
+
+ private void sendFileInTmp(String parameter,File tmp) {
+ NodeRef archive = new NodeRef(parameter);
+
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\"" + nodeService.getPath(archive).toPrefixString(namespaceService)
+ + "//*\"" + " AND ASPECT:\"saem:document_archive\"");
+ ResultSet rs = searchService.query(sp);
+ List<NodeRef> nodes = rs.getNodeRefs();
+
+ for(NodeRef n:nodes){
+ QName nodeQnameType = nodeService.getType(n);
+ String nodeName = (String) nodeService.getProperty(n, ContentModel.PROP_NAME);
+
+ ContentReader reader = contentService.getReader(n, ContentModel.PROP_CONTENT);
+ if (reader != null) {
+ InputStream is = reader.getContentInputStream();
+ createFile(is, tmp,nodeName);
+ }
+ }
+ }
+
+
+ private NodeRef createArchivableFolder(SEDAFolder root,
+ NodeRef destination, String profil, String asalaeid, ArchiveType at)
+ throws Exception {
+
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\""
+ + nodeService.getPath(
+ new NodeRef(serviceVersantHelper
+ .getDocumentLibraryNodeRef())).toPrefixString(
+ namespaceService) + "//*\""
+ + " AND ASPECT:\"saem\\:profilable\""
+ + " AND @saem\\:profilName:\"" + profil + "\"");
+ ResultSet rs = searchService.query(sp);
+ if (rs.length() == 0) {
+ throw new NoProfilableFolderException(
+ "Aucun dossier profilable associé au profil sélectionné");
+ }
+ NodeRef destinationFolder = rs.getRow(0).getNodeRef();
+
+ searchService.query(sp);
+ String name = root.getSubFolders().get(0).getName();
+ name = StringUtils.trim(name);
+
+ if (name == null || name == "") {
+ name = Long.toString(new Date().getTime());
+ } else if (!FileNameValidator.isValid(name)) {
+ name = FileNameValidator.getValidFileName(name);
+ }
+ StringUtils.trim(name);
+
+ NodeRef archivableFolderNodeRef = null;
+ try {
+ archivableFolderNodeRef = fileFolderService.create(
+ destinationFolder, name, ContentModel.TYPE_FOLDER)
+ .getNodeRef();
+ } catch (FileExistsException e) {
+ throw new FileAlreadyExistException(e);
+ }
+
+ String appraisal = null;
+ if (at != null && at.getAppraisal() != null)
+ appraisal = at.getAppraisal().getCode().getValue().toString();
+
+ if (appraisal != null && appraisal.equalsIgnoreCase("detruire"))
+ nodeService.addAspect(archivableFolderNodeRef,
+ SAEMModelConstants.ASPECT_ELIMINABLE, null);
+
+ nodeService
+ .setProperty(archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_VERSEMENT_ACKNOWLEDGMENT,
+ asalaeid);
+ System.out.println("Identifiant accusé transfert"
+ + nodeService.getProperty(archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_VERSEMENT_ACKNOWLEDGMENT));
+
+ nodeService.addAspect(archivableFolderNodeRef,
+ SAEMModelConstants.ASPECT_ARCHIVABLE, null);
+ nodeService.addAspect(archivableFolderNodeRef,
+ SAEMModelConstants.ASPECT_NON_VERSE, null);
+
+ String description = root.getSubFolders().get(0).getDescription();
+ StringUtils.trim(description);
+ nodeService.setProperty(archivableFolderNodeRef,
+ ContentModel.PROP_DESCRIPTION, description);
+
+ // TODO Cette propriété n'existe que parce que le code pour reconstituer
+ // le XML dans l'ordre du bordeareau SEDA n'a pas été fait
+ nodeService.setProperty(archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL, SEDAWriter
+ .transformSEDAObjectToXML(root.getSEDARelatedObject()));
+
+ List<ArchiveObjectType> subfoldersSave = null;
+ List<DocumentType> documentsSave = null;
+ saveAndDeleteSubElements(root.getSubFolders().get(0), subfoldersSave,
+ documentsSave);
+ nodeService.setProperty(archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML, SEDAWriter
+ .transformSEDAObjectToXML(root.getSEDARelatedObject()));
+
+ if (((ArchiveTransferType) root.getSEDARelatedObject()).getContains() != null) {
+ ArchiveType localAt = ((ArchiveTransferType) root
+ .getSEDARelatedObject()).getContains().get(0);
+ if (localAt.getArchivalAgencyArchiveIdentifier() != null
+ && localAt.getArchivalAgencyArchiveIdentifier().getValue() != null) {
+ nodeService
+ .setProperty(
+ archivableFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER,
+ ((ArchiveTransferType) root
+ .getSEDARelatedObject()).getContains()
+ .get(0)
+ .getArchivalAgencyArchiveIdentifier()
+ .getValue());
+ }
+ }
+
+ // Restauration des sous elements
+ restoreSubElements(root.getSubFolders().get(0), subfoldersSave,
+ documentsSave);
+
+ return archivableFolderNodeRef;
+ }
+
+ /**
+ * Parcours l'objet SEDAFolder et crée automatiquement les dossiers et sous
+ * dossiers correspondants
+ *
+ * @param folder
+ * @param nodeRef
+ * @throws FileAlreadyExistException
+ */
+ private List<NodeRef> createFolderRecursif(SEDAFolder folder,
+ NodeRef nodeRef, File faccuse) throws FileAlreadyExistException {
+
+ String name = folder.getName();
+ name = StringUtils.trim(name);
+
+ if (name == null || name == "") {
+ name = Long.toString(new Date().getTime());
+ } else if (!FileNameValidator.isValid(name)) {
+ name = FileNameValidator.getValidFileName(name);
+ }
+ StringUtils.trim(name);
+
+ String description = folder.getDescription();
+ StringUtils.trim(description);
+
+
+ // Vérification qu'un dossier du meme nom n'existe pas déjà
+ if(nodeService.getChildByName(nodeRef, ContentModel.PROP_NAME, name) != null){
+ for (int i = 0; i < 100; i++){
+ name += i;
+ if(nodeService.getChildByName(nodeRef, ContentModel.PROP_NAME, name) == null){
+ break;
+ }
+ }
+ }
+
+ // Création du dossier dans Alfresco
+ NodeRef newFolderNodeRef = null;
+ try {
+ newFolderNodeRef = fileFolderService.create(nodeRef, name, ContentModel.TYPE_FOLDER).getNodeRef();
+ } catch (FileExistsException e) {
+ throw new FileAlreadyExistException(e);
+ }
+ // Ajout de la description au dossier dans Alfresco
+ nodeService.setProperty(newFolderNodeRef, ContentModel.PROP_DESCRIPTION, description);
+ // Ajout de l'aspect relatif aux dossiers SEDA
+ nodeService.addAspect(newFolderNodeRef, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE, null);
+
+ // Récupération du XML et positionnement dans les propriétés
+ // Suppression des sous elements pour qu'ils ne poluent pas le xml
+ List<ArchiveObjectType> subfoldersSave = null;
+ List<DocumentType> documentsSave = null;
+ saveAndDeleteSubElements(folder, subfoldersSave, documentsSave);
+
+ nodeService.setProperty(newFolderNodeRef, SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML,
+ SEDAWriter.transformSEDAObjectToXML(folder.getSEDARelatedObject()));
+
+ if (((ArchiveObjectType) folder.getSEDARelatedObject()).getAppraisal() != null) {
+ if (((ArchiveObjectType) folder.getSEDARelatedObject()).getAppraisal().getCode() != null
+ && ((ArchiveObjectType) folder.getSEDARelatedObject()).getAppraisal().getCode().getValue()
+ .toString().equalsIgnoreCase("detruire"))
+ nodeService.addAspect(newFolderNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE, null);
+ LOG.info("Ajout de l'aspect éliminable sur le dossier : "
+ + nodeService.getProperty(newFolderNodeRef, ContentModel.PROP_NAME).toString());
+ }
+
+ if (((ArchiveObjectType) folder.getSEDARelatedObject()).getArchivalAgencyObjectIdentifier() != null) {
+ if (((ArchiveObjectType) folder.getSEDARelatedObject()).getArchivalAgencyObjectIdentifier().getValue() != null) {
+ nodeService.setProperty(newFolderNodeRef,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER,
+ ((ArchiveObjectType) folder.getSEDARelatedObject()).getArchivalAgencyObjectIdentifier()
+ .getValue());
+ }
+ }
+
+ if(faccuse!=null){
+ String id = (String) nodeService.getProperty(newFolderNodeRef, SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER);
+ for(File fac:faccuse.listFiles()){
+ if(fac.getName().startsWith(id+"__")){
+ Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
+ props.put(ContentModel.PROP_NAME, fac.getName());
+ NodeRef createdFile = nodeService.createNode(newFolderNodeRef, ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, fac.getName()),
+ ContentModel.TYPE_CONTENT, props).getChildRef();
+
+ ContentWriter contentWriter = contentService.getWriter(createdFile,
+ ContentModel.PROP_CONTENT, true);
+ contentWriter.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
+ contentWriter.setEncoding("UTF-8");
+ InputStream in = getInputStreamInTmp(fac.getName(),faccuse);
+ contentWriter.putContent(in);
+
+ nodeService.addAspect(createdFile, SAEMModelConstants.ASPECT_IS_ACCUSE,null);
+ }
+ }
+ }
+
+ // Restauration des sous elements
+ restoreSubElements(folder, subfoldersSave, documentsSave);
+
+ // Création des documents associés
+ List<NodeRef> createdDocuments = createDocuments(folder.getDocuments(),
+ newFolderNodeRef);
+
+ // Création des sous-dossiers
+ for (SEDAFolder subfolder : folder.getSubFolders()) {
+ createdDocuments.addAll(createFolderRecursif(subfolder,
+ newFolderNodeRef,faccuse));
+ }
+
+ return createdDocuments;
+ }
+
+ private void saveAndDeleteSubElements(SEDAFolder folder,
+ List<ArchiveObjectType> subfoldersSave,
+ List<DocumentType> documentsSave) {
+ // Suppression des contains
+ if (folder.getSEDARelatedObject().getClass().getName()
+ .equals(ArchiveObjectType.class.getName())) {
+ ArchiveObjectType SEDARelatedObjet = (ArchiveObjectType) folder
+ .getSEDARelatedObject();
+ subfoldersSave = SEDARelatedObjet.getContains();
+ SEDARelatedObjet.setContains(null);
+ documentsSave = SEDARelatedObjet.getDocument();
+ SEDARelatedObjet.setDocument(null);
+ }
+ // Suppression des documents
+ if (folder.getSEDARelatedObject().getClass().getName()
+ .equals(ArchiveType.class.getName())) {
+ ArchiveType SEDARelatedObjet = (ArchiveType) folder
+ .getSEDARelatedObject();
+ subfoldersSave = SEDARelatedObjet.getContains();
+ SEDARelatedObjet.setContains(null);
+ documentsSave = SEDARelatedObjet.getDocument();
+ SEDARelatedObjet.setDocument(null);
+ }
+ // Suppression des documents pour qu'ils ne poluent pas le xml
+ if (folder.getSEDARelatedObject().getClass().getName()
+ .equals(ArchiveTransferType.class.getName())) {
+ ArchiveTransferType SEDARelatedObjet = (ArchiveTransferType) folder
+ .getSEDARelatedObject();
+ subfoldersSave = SEDARelatedObjet.getContains().get(0)
+ .getContains();
+ SEDARelatedObjet.getContains().get(0).setContains(null);
+ documentsSave = SEDARelatedObjet.getContains().get(0).getDocument();
+ SEDARelatedObjet.getContains().get(0).setDocument(null);
+ }
+ }
+
+ private void restoreSubElements(SEDAFolder folder,
+ List<ArchiveObjectType> subfoldersSave,
+ List<DocumentType> documentsSave) {
+ // Repositionnement des contains
+ if (folder.getSEDARelatedObject().getClass().getName()
+ .equals(ArchiveObjectType.class.getName())) {
+ ArchiveObjectType SEDARelatedObjet = (ArchiveObjectType) folder
+ .getSEDARelatedObject();
+ SEDARelatedObjet.setContains(subfoldersSave);
+ SEDARelatedObjet.setDocument(documentsSave);
+ }
+ // Repositionnement des documents
+ if (folder.getSEDARelatedObject().getClass().getName()
+ .equals(ArchiveType.class.getName())) {
+ ArchiveType SEDARelatedObjet = (ArchiveType) folder
+ .getSEDARelatedObject();
+ SEDARelatedObjet.setContains(subfoldersSave);
+ SEDARelatedObjet.setDocument(documentsSave);
+ }
+ if (folder.getSEDARelatedObject().getClass().getName()
+ .equals(ArchiveTransferType.class.getName())) {
+ ArchiveTransferType SEDARelatedObjet = (ArchiveTransferType) folder
+ .getSEDARelatedObject();
+ SEDARelatedObjet.getContains().get(0).setContains(subfoldersSave);
+ SEDARelatedObjet.getContains().get(0).setDocument(documentsSave);
+ }
+ }
+
+ private List<NodeRef> createDocuments(List<SEDADocument> documents,
+ NodeRef destination) throws FileAlreadyExistException {
+
+ List<NodeRef> results = new ArrayList<>();
+ for (SEDADocument doc : documents) {
+ String name = doc.getName();
+ StringUtils.trim(name);
+ name = FileNameValidator.getValidFileName(name);
+
+ String description = doc.getDescription();
+ StringUtils.trim(description);
+
+ // Vérification qu'un dossier du meme nom n'existe pas déjà
+ // FIXME La requete n'est pas bonne
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\""
+ + nodeService.getPath(destination).toPrefixString(
+ namespaceService) + "//*\"" + " AND @cm\\:name:"
+ + name + "*");
+ ResultSet rs = searchService.query(sp);
+ if (rs.length() != 0) {
+ name = name + (rs.length() + 1);
+ }
+
+
+ // Création du dossier dans Alfresco
+ NodeRef newDocumentNodeRef = null;
+ try {
+ newDocumentNodeRef = fileFolderService.create(destination,
+ name, ContentModel.TYPE_CONTENT).getNodeRef();
+ } catch (FileExistsException e) {
+ throw new FileAlreadyExistException(e);
+ }
+ // Ajout de la description au dossier dans Alfresco
+ nodeService.setProperty(newDocumentNodeRef,
+ ContentModel.PROP_DESCRIPTION, description);
+
+ nodeService.addAspect(newDocumentNodeRef,
+ SAEMModelConstants.ASPECT_DOCUMENT_ARCHIVE, null);
+
+ // Récupération du XML et positionnement dans les propriétés
+ nodeService.setProperty(newDocumentNodeRef,
+ SAEMModelConstants.PROP_SEDA_DOCUMENT_XML, SEDAWriter
+ .transformSEDAObjectToXML(doc
+ .getSEDARelatedObject()));
+
+ results.add(newDocumentNodeRef);
+ }
+ return results;
+ }
+
+ public void setFileFolderService(FileFolderService fileFolderService) {
+ this.fileFolderService = fileFolderService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setNamespaceService(NamespaceService namespaceService) {
+ this.namespaceService = namespaceService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+ public void setServiceVersantHelper(
+ ServiceVersantHelper serviceVersantHelper) {
+ this.serviceVersantHelper = serviceVersantHelper;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.workflow.WorkflowModel;
+import org.alfresco.service.cmr.invitation.InvitationException;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.repository.StoreRef;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.workflow.WorkflowDefinition;
+import org.alfresco.service.cmr.workflow.WorkflowPath;
+import org.alfresco.service.cmr.workflow.WorkflowService;
+import org.alfresco.service.cmr.workflow.WorkflowTask;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+/**
+ *
+ * Classe d'elimination des archives
+ *
+ * @Class : EliminationConfirmation.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: EliminationConfirmation.java $
+ *
+ */
+public class EliminationConfirmation extends AbstractWebScript {
+
+ private NodeService nodeService;
+ private WorkflowService workflowService;
+ private SearchService searchService;
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ SearchParameters sp = new SearchParameters();
+
+ String archiveIdentifier = req.getParameter("archiveIdentifier");
+ NodeRef archive;
+
+ //get noderef from archiveid
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + archiveIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && !queryResults.getNodeRefs().isEmpty() && queryResults.getNodeRef(0) != null)
+ archive = queryResults.getNodeRef(0);
+
+ else {
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + archiveIdentifier + "\"");
+ queryResults = searchService.query(sp);
+
+ if (queryResults != null && !queryResults.getNodeRefs().isEmpty() && queryResults.getNodeRef(0) != null)
+ archive = queryResults.getNodeRef(0);
+ else return;
+ }
+
+ NodeRef wfPackage = workflowService.createPackage(null);
+ nodeService.addChild(wfPackage, archive, ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI,
+ QName.createValidLocalName(
+ (String)nodeService.getProperty(archive, ContentModel.PROP_NAME))));
+ Map<QName, Serializable> workflowProps = new HashMap(3);
+ workflowProps.put(WorkflowModel.PROP_START_DATE, new Date());
+ workflowProps.put(WorkflowModel.ASSOC_PACKAGE, wfPackage);
+ workflowProps.put(WorkflowModel.PROP_WORKFLOW_DESCRIPTION, ("Elimination - " + nodeService.getProperty(archive, ContentModel.PROP_NAME)));
+
+ WorkflowDefinition wfDefinition = this.workflowService.getDefinitionByName("activiti$wfElimination");
+ if (wfDefinition == null) {
+ // handle workflow definition does not exist
+ Object objs[] = { "activiti$wfElimination" };
+ throw new InvitationException("invitation.error.noworkflow", objs);
+ }
+
+ // start the workflow
+ WorkflowPath wfPath = this.workflowService.startWorkflow(wfDefinition.getId(), workflowProps);
+
+ String wfPathId = wfPath.getId();
+ List<WorkflowTask> wfTasks = this.workflowService.getTasksForWorkflowPath(wfPathId);
+
+ // throw an exception if no tasks where found on the workflow path
+ if (wfTasks.size() == 0) {
+ Object objs[] = { "activiti$wfElimination" };
+ throw new InvitationException("invitation.error.notasks", objs);
+ }
+
+ try {
+ WorkflowTask wfStartTask = (WorkflowTask) wfTasks.get(0);
+ this.workflowService.endTask(wfStartTask.getId(), null);
+ } catch (RuntimeException err) {
+ err.printStackTrace();
+ throw err;
+ }
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setWorkflowService(WorkflowService workflowService) {
+ this.workflowService = workflowService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+/**
+ *
+ * Webscript permettant de récupérer le noderef de destination du versement
+ *
+ * @Class : GetDestinationPreVersement.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: GetDestinationPreVersement.java $
+ *
+ */
+public class GetDestinationPreVersement extends AbstractWebScript {
+
+ private static final Log LOG = LogFactory.getLog(GetDestinationPreVersement.class);
+ private SearchService searchService;
+ private NodeService nodeService;
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+
+ String destination = "";
+ JSONObject jsonresult = new JSONObject();
+
+ if (!StringUtils.isBlank(req.getParameter("profil"))) {
+
+ NodeRef profil = new NodeRef(req.getParameter("profil"));
+
+ String profilname = (String) nodeService.getProperty(profil, ContentModel.PROP_NAME);
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("ASPECT:\"saem:profilable\" AND @saem\\:profilName:\""+profilname+"\"");
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRefs().size() > 0 && queryResults.getNodeRef(0) != null){
+ destination = queryResults.getNodeRef(0).toString();
+ }
+ }
+
+ jsonresult.put("destinationPreVersement", destination);
+
+ res.setContentEncoding("UTF-8");
+ res.setContentType("application/json");
+ res.getWriter().write(jsonresult.toJSONString());
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+}
--- /dev/null
+/** SAEM-80 **/
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+import java.net.URL;
+import java.text.Format;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.xml.rpc.ServiceException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.ResultSetRow;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.axis.utils.JavaUtils;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+
+/**
+ *
+ * Webscript de récupération des archives dont la DUA est expirée
+ *
+ * @Class : GetDuaExpireesBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: GetDuaExpireesBean.java $
+ *
+ */
+public class GetDuaExpireesBean extends AbstractWebScript {
+
+ private static final Log LOG = LogFactory.getLog(GetDuaExpireesBean.class);
+ private PropertyReader propertyReader;
+ private SearchService searchService;
+ private NodeService nodeService;
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+
+ try {
+
+ Format formatter = new SimpleDateFormat("yyyy-MM-dd");
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ String result = "";
+
+ WebServicePortType wspt = ssl.getWebServicePort(new URL(propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_URL) + "/webservices/service"));
+
+ String asalaeLogin = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+ Object obj = wspt.wsGetDuaExpirees(asalaeLogin, asalaePassword);
+
+ HashMap<String, String>[] hashtab = (HashMap<String, String>[]) JavaUtils.convert(obj, HashMap.class);
+ List<HashMap<String, String>> values = new ArrayList<>();
+ for(HashMap<String, String> val : hashtab){
+ if (val.size() != 0)
+ values.add(val);
+ }
+
+
+ for (HashMap<String, String> value : values) {
+
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ ResultSet queryResults;
+
+ if(!value.get("id").contains("_")){
+ sp.setQuery("@saem\\:seda_archive_ArchivalAgencyArchiveIdentifier:\""
+ + StringEscapeUtils.escapeHtml(value.get("id")) + "\"");
+
+ queryResults = searchService.query(sp);
+ }else{
+ value.clear();
+ continue;
+ /*sp.setQuery("@saem\\:seda_sous_objet_archive_ArchivalAgencyObjectIdentifier:\""
+ + StringEscapeUtils.escapeHtml(value.get("id")) + "\"");
+
+ queryResults = searchService.query(sp);*/
+ }
+
+ if (queryResults.length() == 0){
+ value.clear();
+ }
+
+ for (ResultSetRow row : queryResults) {
+ NodeRef currentNodeRef = row.getNodeRef();
+
+ value.put("name_archive", (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_NAME));
+ value.put("creator", (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_CREATOR));
+ value.put("created", formatter.format(nodeService.getProperty(currentNodeRef, ContentModel.PROP_CREATED)));
+ value.put("description", (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_DESCRIPTION));
+ value.put("nodeRef", currentNodeRef.toString());
+ value.put("type_archive", value.get("id").contains("_") ? "Objet d'archive" : "Archive");
+ }
+
+ queryResults.close();
+
+ }
+
+ if (req.getParameter("sort") != null){
+
+ switch(req.getParameterValues("sort")[0]){
+ case "nameasc":
+ result = buildJson(sortName(values, true, true));
+ break;
+ case "namedesc":
+ result = buildJson(sortName(values, false, true));
+ break;
+ case "dateasc":
+ result = buildJson(sortName(values, true, false));
+ break;
+ case "datedesc":
+ result = buildJson(sortName(values, false, false));
+ break;
+ default:
+ result = buildJson(sortName(values, true, true));
+ break;
+ }
+ }
+ else{
+ result = buildJson(values);
+ }
+
+ res.setContentEncoding("UTF-8");
+ res.setContentType("application/json");
+ res.getWriter().write(result);
+ } catch (ServiceException e) {
+ LOG.error("Une erreur s'est produite lors de la récupération des duaExpirées ... ", e);
+ }
+
+ }
+
+ @SuppressWarnings("unchecked")
+ private String buildJson(List<HashMap<String, String>> values) {
+ JSONObject result = new JSONObject();
+ JSONArray items = new JSONArray();
+
+ for (HashMap<String, String> value : values) {
+ if (value.size() != 0){
+ JSONObject jsonobject = new JSONObject();
+ jsonobject.put("name", StringEscapeUtils.escapeHtml(value.get("id")));
+ jsonobject.put("end_date", StringEscapeUtils.escapeHtml(value.get("end_date")));
+ jsonobject.put("name_archive", StringEscapeUtils.escapeHtml(value.get("name_archive")));
+ jsonobject.put("creator", StringEscapeUtils.escapeHtml(value.get("creator")));
+ jsonobject.put("created", StringEscapeUtils.escapeHtml(value.get("created")));
+ jsonobject.put("description", StringEscapeUtils.escapeHtml(value.get("description")));
+ jsonobject.put("nodeRef", StringEscapeUtils.escapeHtml(value.get("nodeRef")));
+ jsonobject.put("type_archive", StringEscapeUtils.escapeHtml(value.get("type_archive")));
+ items.add(jsonobject);
+ }
+ }
+
+ result.put("items", items);
+
+ return result.toJSONString();
+
+ }
+
+ @SuppressWarnings("unused")
+ private List<HashMap<String, String>> sortName (List<HashMap<String, String>> values, boolean ascendant, boolean isSortName){
+
+ List<String> nomArchives = new ArrayList<>();
+ List<HashMap<String, String>> sortedValues = new ArrayList<>();
+
+ for (HashMap<String, String> value : values) {
+ if(isSortName){
+ if(value.get("name_archive") != null)
+ nomArchives.add(value.get("name_archive"));
+ }else{
+ if(value.get("name_archive") != null && value.get("end_date") != null){
+ nomArchives.add(value.get("end_date") + "_" + value.get("name_archive"));
+ }
+ }
+ }
+
+ if(ascendant)
+ Collections.sort(nomArchives);
+ else
+ Collections.sort(nomArchives, Collections.reverseOrder());
+
+ for (String nom : nomArchives){
+ for(HashMap<String, String> value : values){
+ if (isSortName){
+ if (nom.equals(value.get("name_archive"))){
+ sortedValues.add(value);
+ }
+ }
+ else{
+ if (nom.split("_")[0].equals(value.get("end_date")) && nom.split("_")[1].equals(value.get("name_archive"))){
+ sortedValues.add(value);
+ }
+ }
+ }
+ }
+
+ return sortedValues;
+
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.repository.StoreRef;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * Récupération de la réponse à la demande d'élimination d'un noderef
+ *
+ * @Class : GetEliminationResponse.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: GetEliminationResponse.java $
+ *
+ */
+public class GetEliminationResponse extends AbstractWebScript {
+
+ private NodeService nodeService;
+ private SearchService searchService;
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONObject result = new JSONObject();
+
+ SearchParameters sp = new SearchParameters();
+
+ String archiveIdentifier = req.getParameter("archiveIdentifier");
+ NodeRef archive;
+
+ //get noderef from archiveid
+ sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + archiveIdentifier + "\"");
+
+ ResultSet queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null)
+ archive = queryResults.getNodeRef(0);
+
+ else {
+ sp.setQuery("@saem\\:seda_elimination_acknowledgment:\"" + archiveIdentifier + "\"");
+ queryResults = searchService.query(sp);
+
+ if (queryResults != null && queryResults.getNodeRef(0) != null)
+ archive = queryResults.getNodeRef(0);
+ else return;
+ }
+
+ if (nodeService.hasAspect(archive, SAEMModelConstants.ASPECT_ELIMINATION_STATE) && ((String) nodeService.getProperty(archive, SAEMModelConstants.PROP_STATE)).equalsIgnoreCase("accept")) {
+ result.put("reponse", "OK");
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+ else if (nodeService.hasAspect(archive, SAEMModelConstants.ASPECT_ELIMINATION_STATE) && ((String) nodeService.getProperty(archive, SAEMModelConstants.PROP_STATE)).equalsIgnoreCase("reject")) {
+ result.put("reponse", "NOK");
+ res.setStatus(Status.STATUS_BAD_GATEWAY);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+ else if (!nodeService.hasAspect(archive, SAEMModelConstants.ASPECT_ELIMINATION_STATE)) {
+ result.put("reponse", "NOK");
+ res.setStatus(Status.STATUS_FORBIDDEN);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.util.Pair;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DocumentType;
+import eu.akka.saem.alfresco.seda.v02.complexType.KeywordType;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+
+/**
+ *
+ * Récupération des propriétés SEDA pour affichage dans l'IHM
+ *
+ * @Class : GetSedaPropertiesBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: GetSedaPropertiesBean.java $
+ *
+ */
+public class GetSedaPropertiesBean extends AbstractWebScript {
+
+ private static final String NODE_REF_PARAMETER = "nodeRef";
+ private NodeService nodeService;
+ private ProfilSEDAUtils profilSEDAUtils;
+ private ContentService contentService;
+ private static final Log LOG = LogFactory.getLog(GetSedaPropertiesBean.class);
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ String nodeRefParameter = req.getParameter(NODE_REF_PARAMETER);
+ NodeRef nodeRef = new NodeRef(nodeRefParameter);
+ if (nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)) {
+ res.getWriter().write(getSousObjectArchiveProperties(nodeRef));
+ } else if (nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_ARCHIVABLE)) {
+ res.getWriter().write(getArchiveProperties(nodeRef));
+ } else if(nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_DOCUMENT_ARCHIVE)){
+ res.getWriter().write(getDocumentProperties(nodeRef));
+ }
+ }
+
+ private String getDocumentProperties(NodeRef nodeRef) {
+ DocumentType dt = (DocumentType) profilSEDAUtils.getSedaObject(nodeRef,
+ SAEMModelConstants.PROP_SEDA_DOCUMENT_XML);
+ List<Pair<String, String>> values = new ArrayList<>();
+
+ if(dt.getType() != null && dt.getType().size() > 0){
+ if(dt.getType().get(0).getValue() != null){
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_DOCUMENT_TYPE,
+ dt.getType().get(0).getValue().toString()));
+ }
+ }
+
+ ContentReader cr = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT);
+ if(cr != null && cr.getSize() != 0){
+ InputStream contentStream = cr.getContentInputStream();
+ String md5 = computeHash(contentStream);
+ if(md5 != "" && md5 != null){
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_DOCUMENT_HASH,
+ md5));
+ }
+ }
+
+ return buildJson(values);
+ }
+
+ private String getSousObjectArchiveProperties(NodeRef nodeRef) {
+ ArchiveObjectType aot = (ArchiveObjectType) profilSEDAUtils.getSedaObject(nodeRef,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML);
+ List<Pair<String, String>> values = new ArrayList<>();
+ if (aot != null) {
+ if (aot.getContentDescription()!=null){
+ if (aot.getContentDescription().getOldestDate() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_DATE_DE_FIN,
+ aot.getContentDescription().getOldestDate().getValue()));
+ }
+ if (aot.getContentDescription().getLatestDate() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_DATE_DE_DEBUT,
+ aot.getContentDescription().getLatestDate().getValue()));
+ }
+ if (aot.getContentDescription().getDescription() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_DESCRIPTION,
+ aot.getContentDescription().getDescription()));
+ }
+ }
+ if(aot.getTransferringAgencyObjectIdentifier()!= null){
+ if (aot.getTransferringAgencyObjectIdentifier().getValue() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_ORIGIN_IDENTIFIER,
+ aot.getTransferringAgencyObjectIdentifier().getValue()));
+ }
+ }
+ }
+
+ return buildJson(values);
+ }
+
+ private String getArchiveProperties(NodeRef nodeRef) {
+ ArchiveTransferType archiveSedaObject = (ArchiveTransferType) profilSEDAUtils.getSedaObject(nodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML);
+ List<Pair<String, String>> values = new ArrayList<>();
+ if (archiveSedaObject != null) {
+ if (archiveSedaObject.getTransferringAgency().getName() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_SERVICE_VERSANT,
+ archiveSedaObject.getTransferringAgency().getName()));
+ }
+ if (archiveSedaObject.getTransferIdentifier().getValue() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_TRANSFER_IDENTIFIER,
+ archiveSedaObject.getTransferIdentifier().getValue()));
+ }
+ if (archiveSedaObject.getDate().getValue() != null && archiveSedaObject.getDate().getValue() != "") {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_TRANSFER_DATE,
+ archiveSedaObject.getDate().getValue()));
+ }
+ //NEW SAEM 123
+ if(archiveSedaObject.getContains() != null && archiveSedaObject.getContains().size() > 0){
+ if(archiveSedaObject.getContains().get(0).getDescriptionLevel() != null){
+ if (archiveSedaObject.getContains().get(0).getDescriptionLevel().getValue() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_DESCRIPTION_LEVEL,
+ archiveSedaObject.getContains().get(0).getDescriptionLevel().getValue().toString()));
+ }
+ }
+ if(archiveSedaObject.getContains().get(0).getAppraisal() != null){
+ if (archiveSedaObject.getContains().get(0).getAppraisal().getCode().getValue() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_FINAL_SORT,
+ archiveSedaObject.getContains().get(0).getAppraisal().getCode().getValue().toString()));
+ }
+ }
+ if(archiveSedaObject.getContains().get(0).getAccessRestriction() != null){
+ if (archiveSedaObject.getContains().get(0).getAccessRestriction().getCode().getValue() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_FINAL_SORT_RULE,
+ archiveSedaObject.getContains().get(0).getAccessRestriction().getCode().getValue().toString()));
+ }
+ }
+ if(archiveSedaObject.getContains().get(0).getContentDescription() != null && archiveSedaObject.getContains().get(0).getContentDescription().getContentDescriptive() != null){
+ for(KeywordType kt : archiveSedaObject.getContains().get(0).getContentDescription().getContentDescriptive()){
+ if (kt.getKeywordContent() != null) {
+ values.add(new Pair<String, String>(SAEMPropertiesConstants.PROP_SEDA_KEYWORDS,
+ kt.getKeywordContent()));
+ }
+ }
+ }
+ }
+
+ }
+ return buildJson(values);
+ }
+
+ @SuppressWarnings("unchecked")
+ private String buildJson(List<Pair<String, String>> values) {
+ JSONObject result = new JSONObject();
+
+ JSONArray items = new JSONArray();
+
+ for (Pair<String, String> value : values) {
+ JSONObject jsonobject = new JSONObject();
+ jsonobject.put("title", StringEscapeUtils.escapeHtml(value.getFirst()));
+ jsonobject.put("value", StringEscapeUtils.escapeHtml(value.getSecond()));
+ items.add(jsonobject);
+ }
+
+ result.put("items", items);
+
+ return result.toJSONString();
+ }
+
+ private String computeHash(InputStream contentStream) {
+ MessageDigest messageDigest = null;
+ try {
+ messageDigest = MessageDigest.getInstance("MD5");
+ } catch (NoSuchAlgorithmException e) {
+ LOG.error("Unable to process algorith type MD5");
+ return null;
+ }
+ messageDigest.reset();
+ byte[] buffer = new byte[1024];
+ int bytesRead = -1;
+ try {
+ while ((bytesRead = contentStream.read(buffer)) > -1) {
+ messageDigest.update(buffer, 0, bytesRead);
+ }
+ } catch (IOException e) {
+ LOG.error("Unable to read content stream.", e);
+ return null;
+ } finally {
+ try {
+ contentStream.close();
+ } catch (IOException e) {}
+ }
+ byte[] digest = messageDigest.digest();
+ return convertByteArrayToHex(digest);
+ }
+
+ private String convertByteArrayToHex(byte[] array) {
+ StringBuffer hashValue = new StringBuffer();
+ for (int i = 0; i < array.length; i++) {
+ String hex = Integer.toHexString(0xFF & array[i]);
+ if (hex.length() == 1) {
+ hashValue.append('0');
+ }
+ hashValue.append(hex);
+ }
+ return hashValue.toString().toUpperCase();
+ }
+
+ // Setters pour spring
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setProfilSEDAUtils(ProfilSEDAUtils profilSEDAUtils) {
+ this.profilSEDAUtils = profilSEDAUtils;
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+import java.text.Format;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Set;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.query.PagingRequest;
+import org.alfresco.query.PagingResults;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.ResultSetRow;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.security.AuthenticationService;
+import org.alfresco.service.cmr.security.AuthorityService;
+import org.alfresco.service.cmr.security.PersonService;
+import org.alfresco.service.cmr.security.PersonService.PersonInfo;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+
+/**
+ *
+ * Récupération des nodeRef en cours d'utilisation dans un workflow
+ *
+ * @Class : GetTreatmentsBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: GetTreatmentsBean.java $
+ *
+ */
+public class GetTreatmentsBean extends AbstractWebScript {
+
+ private static final Log LOG = LogFactory.getLog(GetTreatmentsBean.class);
+ private PropertyReader propertyReader;
+ private SearchService searchService;
+ private NodeService nodeService;
+ private PersonService personService;
+ private AuthorityService authorityService;
+ private AuthenticationService authenticationService;
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+
+ String result = "";
+ List<String> finalUsers = new ArrayList<>();
+ List<HashMap<String, String>> values = new ArrayList<>();
+ Format dateFormatter = new SimpleDateFormat("yyyy-MM-dd");
+
+ //Récupération des groupes de l'utilisateur courant
+ Set<String> groupsOfCurrentUser =
+ AuthenticationUtil.runAsSystem(new RunAsWork<Set<String>>() {
+ @Override
+ public Set<String> doWork() throws Exception {
+ Set<String> groupsOfCurrentUser = authorityService.getAuthorities();
+ return groupsOfCurrentUser;
+ }
+ });
+
+ if(groupsOfCurrentUser == null || groupsOfCurrentUser.size() == 0){
+ LOG.debug("L'utilisateur courant n'appartient à aucun groupe");
+ }
+
+ //On récupére tous les utilisateurs
+ PagingResults<PersonInfo> listUsers = personService.getPeople("", null, null, new PagingRequest(10000));
+ List<PersonInfo> users = listUsers.getPage();
+
+
+ //On cherche une correspondance entre les groupes
+ //de chaque utilisateur avec ceux de l'utilisateur courant
+ for(PersonInfo user : users){
+
+ final String username = user.getUserName();
+
+ Set<String> groups =
+ AuthenticationUtil.runAsSystem(new RunAsWork<Set<String>>() {
+ @Override
+ public Set<String> doWork() throws Exception {
+ Set<String> groupsOfCurrentUser = authorityService.getAuthoritiesForUser(username);
+ return groupsOfCurrentUser;
+ }
+ });
+
+ //On ajoute l'utilisateur qui a une correspondance
+ //avec un groupe dans la liste finale
+ if(groups != null && groups.size() > 0){
+ for(String group : groups){
+
+ if(groupsOfCurrentUser.contains(group)){
+ finalUsers.add(username);
+ break;
+ }
+ }
+ }
+ }
+
+ //on ajoute l'utilisateur courant à la liste finale
+
+ String currentUserName = AuthenticationUtil.runAsSystem(new RunAsWork<String>() {
+ @Override
+ public String doWork() throws Exception {
+ return authenticationService.getCurrentUserName();
+ }
+ });
+
+ if(!finalUsers.contains(currentUserName)){
+ finalUsers.add(currentUserName);
+ }
+
+ //on recupere les informations de chaque archive
+ for(String user: finalUsers){
+
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ ResultSet queryResults;
+
+ sp.setQuery("PATH:\"/app:company_home/st:sites/cm:" + propertyReader.getProperty("service.versant.site.shortname") + "//*\" AND @cm\\:creator:\"" + user + "\"" + " AND ASPECT:\"saem:archivable\"");
+
+ queryResults = searchService.query(sp);
+
+ for(ResultSetRow row : queryResults){
+
+ NodeRef currentNodeRef = row.getNodeRef();
+ //Récupération du parent pour le profil d'archive
+
+
+ NodeRef parent = null;
+
+ for(ChildAssociationRef car: nodeService.getParentAssocs(currentNodeRef)){
+
+ if (car.getTypeQName().getLocalName().equals("contains")){
+ parent = car.getParentRef();
+ break;
+ }
+ }
+
+ HashMap<String, String> value = new HashMap<>();
+ String archiveState = (String) nodeService.getProperty(currentNodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP);
+
+ if(archiveState == null){
+ continue;
+ }
+
+ value.put("name", (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_NAME));
+ value.put("statut", archiveState);
+ value.put("flux", (String) nodeService.getProperty(parent, SAEMModelConstants.PROP_PROFIL_NAME));
+ value.put("author", (String) nodeService.getProperty(currentNodeRef, ContentModel.PROP_CREATOR));
+ value.put("date", dateFormatter.format(nodeService.getProperty(currentNodeRef, ContentModel.PROP_CREATED)));
+ value.put("nodeRef", currentNodeRef.toString());
+ value.put("actions", getActionsPossibles(archiveState));
+
+ values.add(value);
+ }
+
+ queryResults.close();
+
+ }
+
+ result = buildJson(values);
+
+ res.setContentEncoding("UTF-8");
+ res.setContentType("application/json");
+ res.getWriter().write(result);
+ }
+
+ @SuppressWarnings("unchecked")
+ private String buildJson(List<HashMap<String, String>> values) {
+ JSONObject result = new JSONObject();
+ JSONArray items = new JSONArray();
+
+ for (HashMap<String, String> value : values) {
+ if (value.size() != 0){
+ JSONObject jsonobject = new JSONObject();
+ jsonobject.put("name", StringEscapeUtils.escapeHtml(value.get("name")));
+ jsonobject.put("statut", StringEscapeUtils.escapeHtml(value.get("statut")));
+ jsonobject.put("flux", StringEscapeUtils.escapeHtml(value.get("flux")));
+ jsonobject.put("author", StringEscapeUtils.escapeHtml(value.get("author")));
+ jsonobject.put("date", StringEscapeUtils.escapeHtml(value.get("date")));
+ jsonobject.put("nodeRef", StringEscapeUtils.escapeHtml(value.get("nodeRef")));
+ jsonobject.put("actions", StringEscapeUtils.escapeHtml(value.get("actions")));
+ items.add(jsonobject);
+ }
+ }
+
+ result.put("items", items);
+
+ return result.toJSONString();
+ }
+
+ private String getActionsPossibles(String etat){
+
+ String actionsPossibles = "";
+
+ switch(etat){
+ case SAEMArchiveStates.RESTITUER:
+ actionsPossibles = SAEMArchiveStates.VERSER + ";";
+ break;
+ case SAEMArchiveStates.NORMAL:
+ actionsPossibles = SAEMArchiveStates.VERSER + ";";
+ break;
+ case SAEMArchiveStates.INTERMEDIAIRE:
+ actionsPossibles = SAEMArchiveStates.ELIMINER + ";" + SAEMArchiveStates.RESTITUER;
+ break;
+ case SAEMArchiveStates.DEFINITIF:
+ actionsPossibles = SAEMArchiveStates.ELIMINER + ";" + SAEMArchiveStates.RESTITUER;
+ break;
+ default:
+ actionsPossibles = "Aucune action possible" + ";";
+ break;
+ }
+
+ return actionsPossibles;
+ }
+
+ public void setSearchService(SearchService searchService) {
+ this.searchService = searchService;
+ }
+
+ public void setPropertyReader(PropertyReader propertyReader) {
+ this.propertyReader = propertyReader;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setAuthenticationService(AuthenticationService authenticationService) {
+ this.authenticationService = authenticationService;
+ }
+
+ public void setPersonService(PersonService personService) {
+ this.personService = personService;
+ }
+
+ public void setAuthorityService(AuthorityService authorityService) {
+ this.authorityService = authorityService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.AccessStatus;
+import org.alfresco.service.cmr.security.PermissionService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * Webscript d'evaluator pour savoir si un bordereau d'archive est visionable
+ *
+ * @Class : IsArchiveBordereauViewableBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsArchiveBordereauViewableBean.java $
+ *
+ */
+public class IsArchiveBordereauViewableBean extends AbstractWebScript {
+
+ private NodeService nodeService;
+ private PermissionService permissionService;
+
+ private static final Log LOG = LogFactory.getLog(IsArchiveBordereauViewableBean.class);
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONObject result = new JSONObject();
+
+ if (req.getParameter("nodeRef") == null || req.getParameter("nodeRef") == "") {
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ return;
+ }
+
+ try {
+ NodeRef nodeRef = new NodeRef(req.getParameter("nodeRef"));
+ if (AccessStatus.ALLOWED == permissionService.hasReadPermission(nodeRef) && nodeService.getType(nodeRef).equals(ContentModel.TYPE_FOLDER) && nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_ARCHIVABLE)) {
+ result.put("result", true);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+
+ } catch (Exception e) {
+ res.setStatus(Status.STATUS_INTERNAL_SERVER_ERROR);
+ LOG.error("Une erreur s'est produite au cours de la récupération du nodeRef", e);
+ }
+
+ result.put("result", false);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setPermissionService(PermissionService permissionService) {
+ this.permissionService = permissionService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.AccessStatus;
+import org.alfresco.service.cmr.security.PermissionService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * Webscript d'evaluator pour savoir si une archive est modifiable
+ *
+ * @Class : IsArchiveModifiableBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsArchiveModifiableBean.java $
+ *
+ */
+public class IsArchiveModifiableBean extends AbstractWebScript {
+
+ private NodeService nodeService;
+ private PermissionService permissionService;
+
+ private static final Log LOG = LogFactory.getLog(IsArchiveModifiableBean.class);
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONObject result = new JSONObject();
+
+ if (req.getParameter("nodeRef") == null || req.getParameter("nodeRef") == "") {
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ return;
+ }
+
+ try {
+ NodeRef nodeRef = new NodeRef(req.getParameter("nodeRef"));
+
+ if(nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP) != null){
+ if (AccessStatus.ALLOWED == permissionService.hasReadPermission(nodeRef) && nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_ARCHIVABLE)
+ && nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(SAEMArchiveStates.NORMAL)) {
+ result.put("result", true);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+ }
+
+ } catch (Exception e) {
+ res.setStatus(Status.STATUS_INTERNAL_SERVER_ERROR);
+ LOG.error("Une erreur s'est produite au cours de la récupération du nodeRef");
+ }
+
+ result.put("result", false);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setPermissionService(PermissionService permissionService) {
+ this.permissionService = permissionService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.PermissionService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * Webscript d'evaluator pour savoir si un bordereau de document est visionable
+ *
+ * @Class : IsDocumentBordereauViewableBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsDocumentBordereauViewableBean.java $
+ *
+ */
+public class IsDocumentBordereauViewableBean extends AbstractWebScript {
+
+ private NodeService nodeService;
+ private PermissionService permissionService;
+
+ private static final Log LOG = LogFactory.getLog(IsDocumentBordereauViewableBean.class);
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONObject result = new JSONObject();
+
+ if (req.getParameter("nodeRef") == null || req.getParameter("nodeRef") == "") {
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ return;
+ }
+
+ try {
+ NodeRef nodeRef = new NodeRef(req.getParameter("nodeRef"));
+ if (nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_IS_ACCUSE) && nodeService.getType(nodeRef).equals(ContentModel.TYPE_CONTENT)) {
+ result.put("result", true);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+
+ } catch (Exception e) {
+ res.setStatus(Status.STATUS_INTERNAL_SERVER_ERROR);
+ LOG.error("Une erreur s'est produite au cours de la récupération du nodeRef", e);
+ }
+
+ result.put("result", false);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setPermissionService(PermissionService permissionService) {
+ this.permissionService = permissionService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Calendar;
+import java.util.Date;
+
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.workflow.WorkflowService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.AppraisalRulesType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ISO8601;
+import eu.akka.saem.alfresco.seda.v02.simpleType.AppraisalCodeType;
+
+/**
+ *
+ * Webscript d'evaluator pour savoir si une archive est eliminable
+ *
+ * @Class : IsEliminationLaunchableBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsEliminationLaunchableBean.java $
+ *
+ */
+public class IsEliminationLaunchableBean extends AbstractWebScript {
+
+ private NodeService nodeService;
+
+ private static final Log LOG = LogFactory
+ .getLog(IsEliminationLaunchableBean.class);
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res)
+ throws IOException {
+ JSONObject result = new JSONObject();
+
+ if (req.getParameter("nodeRef") == null
+ || req.getParameter("nodeRef") == "") {
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ return;
+ }
+
+ try {
+
+ // NodeRef du dossier
+ NodeRef nodeRef = new NodeRef(req.getParameter("nodeRef"));
+
+ NodeRef archivableNode = nodeRef;
+
+ while (archivableNode != null) {
+
+ if(nodeService.hasAspect(archivableNode, SAEMModelConstants.ASPECT_ARCHIVABLE)){
+ break;
+ } else {
+ archivableNode = nodeService.getPrimaryParent(archivableNode).getParentRef();
+ }
+ }
+
+ if (objectIsEliminable(nodeRef) && nodeService.hasAspect(archivableNode, SAEMModelConstants.ASPECT_VERSE)
+ && nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_ELIMINABLE)
+ && nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP) != null
+ && !SAEMArchiveStates.ELIMINER.equals((String) nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP))
+ && !SAEMArchiveStates.DEFINITIF.equals((String) nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP))) {
+ result.put("result", true);
+ } else
+ result.put("result", false);
+ } catch (Exception e) {
+ res.setStatus(Status.STATUS_INTERNAL_SERVER_ERROR);
+ LOG.error(
+ "Une erreur s'est produite au cours de la récupération du nodeRef",
+ e);
+ }
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ }
+
+ private boolean objectIsEliminable(NodeRef nodeRef) throws Exception {
+
+ AppraisalRulesType art = null;
+
+ if (nodeService.hasAspect(nodeRef,
+ SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)) {
+ String bordereauSEDA = (String) nodeService.getProperty(nodeRef,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_XML);
+ InputStream is = new ByteArrayInputStream(bordereauSEDA.getBytes());
+ art = ((ArchiveObjectType) XMLLoader.SEDALoader(is)).getAppraisal();
+ } else if (nodeService.hasAspect(nodeRef,
+ SAEMModelConstants.ASPECT_ARCHIVABLE)) {
+ String bordereauSEDA = (String) nodeService.getProperty(nodeRef,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML);
+ InputStream is = new ByteArrayInputStream(bordereauSEDA.getBytes());
+ ArchiveTransferType att = (ArchiveTransferType) XMLLoader
+ .SEDALoader(is);
+ art = att.getContains().get(0).getAppraisal();
+ } else {
+ return false;
+ }
+
+ String dua = null;
+ String startDate = null;
+ AppraisalCodeType sortFinal = null;
+
+ if (art != null) {
+ if (art.getDuration() != null)
+ dua = art.getDuration().getValue();
+
+ if (art.getStartDate() != null)
+ startDate = art.getStartDate().getValue();
+
+ if (art.getCode() != null)
+ sortFinal = art.getCode().getValue();
+ }
+
+ int dua_int = 0;
+ Date startDate_date = null;
+
+ if (sortFinal.equals(AppraisalCodeType.CONSERVER))
+ return false;
+ else if (nodeService.hasAspect(nodeRef,
+ SAEMModelConstants.ASPECT_ARCHIVABLE)
+ && (dua == null || startDate == null))
+ return false;
+ else if (nodeService.hasAspect(nodeRef,
+ SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)
+ && (dua == null || startDate == null))
+ return objectIsEliminable(nodeService.getPrimaryParent(nodeRef)
+ .getParentRef());
+ else if (dua == null || startDate == null)
+ throw new Exception(
+ "La DUA ou la date de commencement n'existe pas");
+ else {
+ if (dua.startsWith("P") && dua.endsWith("Y")) {
+ dua_int = Integer.parseInt(dua.replace("P", "")
+ .replace("Y", ""));
+ } else {
+ throw new Exception("La DUA ne possede pas le format P*Y");
+ }
+
+ ISO8601 da = new ISO8601(startDate);
+ startDate_date = da.getDate();
+
+ Calendar startDate_cal = Calendar.getInstance();
+ startDate_cal.setTime(startDate_date);
+ startDate_cal.add(Calendar.YEAR, dua_int);
+
+ Date now = new Date();
+
+ if (startDate_cal.getTime().compareTo(now) <= 0) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * Webscript d'evaluator pour savoir si une archive est restituable
+ *
+ * @Class : IsRestitutionLaunchableBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsRestitutionLaunchableBean.java $
+ *
+ */
+public class IsRestitutionLaunchableBean extends AbstractWebScript {
+
+ private NodeService nodeService;
+
+ private static final Log LOG = LogFactory.getLog(IsRestitutionLaunchableBean.class);
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONObject result = new JSONObject();
+
+ if (req.getParameter("nodeRef") == null || req.getParameter("nodeRef") == "") {
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ LOG.error("Erreur de récupération du nodeRef");
+ return;
+ }
+
+ try {
+ NodeRef nodeRef = new NodeRef(req.getParameter("nodeRef"));
+
+ if (nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP) != null){
+ if (nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_ARCHIVABLE)
+ && !nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE) &&
+ (nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(SAEMArchiveStates.INTERMEDIAIRE)
+ || nodeService.getProperty(nodeRef, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(SAEMArchiveStates.DEFINITIF))
+ && nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_RESTITUABLE)
+ && nodeService.getType(nodeRef).equals(ContentModel.TYPE_FOLDER)){
+ result.put("result", true);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+ }
+ } catch (Exception e) {
+ res.setStatus(Status.STATUS_INTERNAL_SERVER_ERROR);
+ LOG.error("Une erreur s'est produite au cours de la récupération du nodeRef", e);
+ }
+
+ result.put("result", false);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ }
+
+ //Setters pour spring
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.workflow.WorkflowService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * Webscript d'evaluator pour savoir si une archive est versable
+ *
+ * @Class : IsWorkflowLaunchableBean.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsWorkflowLaunchableBean.java $
+ *
+ */
+public class IsWorkflowLaunchableBean extends AbstractWebScript {
+
+ private NodeService nodeService;
+ private WorkflowService workflowService;
+
+ private static final Log LOG = LogFactory.getLog(IsWorkflowLaunchableBean.class);
+
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
+ JSONObject result = new JSONObject();
+
+ if (req.getParameter("nodeRef") == null || req.getParameter("nodeRef") == "") {
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ return;
+ }
+
+ try {
+ NodeRef nodeRef = new NodeRef(req.getParameter("nodeRef"));
+
+ if (!nodeService.getType(nodeRef).equals(ContentModel.TYPE_FOLDER)) {
+ result.put("result", true);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+
+ if (nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_NON_VERSE)
+ && !nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_VERSE)
+ && !nodeService.hasAspect(nodeRef, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)
+ && workflowService.getWorkflowsForContent(nodeRef, true).size() == 0) {
+ result.put("result", true);
+ res.setStatus(Status.STATUS_OK);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ return;
+ }
+ } catch (Exception e) {
+ res.setStatus(Status.STATUS_INTERNAL_SERVER_ERROR);
+ LOG.error("Une erreur s'est produite au cours de la récupération du nodeRef", e);
+ }
+
+ result.put("result", false);
+ res.getWriter().write(JSONObject.toJSONString(result));
+ }
+
+ //Setters pour spring
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setWorkflowService(WorkflowService workflowService) {
+ this.workflowService = workflowService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.webscript;
+
+import java.io.IOException;
+
+import org.alfresco.service.cmr.action.Action;
+import org.alfresco.service.cmr.action.ActionService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.workflow.WorkflowService;
+import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+
+/**
+ *
+ * Webscript permettant de lancer l'action d'élimination
+ *
+ * @Class : LaunchEliminationAction.java
+ * @Package : eu.akka.saem.alfresco.webscript
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: LaunchEliminationAction.java $
+ *
+ */
+public class LaunchEliminationAction extends AbstractWebScript{
+
+ public static final String ACTION_NAME = "asalae-elimination";
+ private ActionService actionService;
+ private NodeService nodeService;
+ private WorkflowService workflowService;
+
+ /**
+ * @param req arguments passés via l'URL lors de la requête, ici un seul : le noderef de l'archive sur laquelle on lance l'élimination (qui a déjà été versée, dont la DUA est expirée et le sort final est à détruire)
+ * @param rep réponse envoyée, vide dans ce cas puisqu'on ne fait qu'effectuer un traitement
+ */
+ @Override
+ public void execute(WebScriptRequest req, WebScriptResponse rep) throws IOException {
+
+ //Recuperation du noderef sur lequel on lance l'action
+ String nodeRefParameter = req.getParameter("noderef");
+ NodeRef nodeRefToEliminate = new NodeRef(nodeRefParameter);
+
+
+ synchronized (nodeRefToEliminate) {
+
+ if (nodeService.hasAspect(nodeRefToEliminate, SAEMModelConstants.ASPECT_ELIMINABLE)
+ && nodeService.hasAspect(nodeRefToEliminate, SAEMModelConstants.ASPECT_ARCHIVABLE)
+ && workflowService.getWorkflowsForContent(nodeRefToEliminate, true).size() == 0) {
+ //Récupération et lancement de l'action d'élimination
+ Action eliminationAction = actionService.createAction(this.ACTION_NAME);
+ actionService.executeAction(eliminationAction, nodeRefToEliminate);
+ }
+
+
+ }
+
+ }
+
+ public void setActionService(ActionService actionService) {
+ this.actionService = actionService;
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setWorkflowService(WorkflowService workflowService) {
+ this.workflowService = workflowService;
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow;
+
+import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
+import org.activiti.engine.impl.context.Context;
+import org.alfresco.repo.workflow.activiti.ActivitiConstants;
+import org.alfresco.service.ServiceRegistry;
+
+/**
+ *
+ * Utilitaire de récupération des BEANS
+ *
+ * @Class : SAEMWorkflowTask.java
+ * @Package : eu.akka.saem.alfresco.workflow
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAEMWorkflowTask.java $
+ *
+ */
+public abstract class SAEMWorkflowTask {
+
+ /* taken from ActivitiScriptBase.java */
+ protected ServiceRegistry getServiceRegistry() {
+ ProcessEngineConfigurationImpl config = Context.getProcessEngineConfiguration();
+ if (config != null) {
+ // Fetch the registry that is injected in the activiti spring-configuration
+ ServiceRegistry registry = (ServiceRegistry) config.getBeans().get(ActivitiConstants.SERVICE_REGISTRY_BEAN_KEY);
+ if (registry == null) {
+ throw new RuntimeException(
+ "Service-registry not present in ProcessEngineConfiguration beans, expected ServiceRegistry with key" +
+ ActivitiConstants.SERVICE_REGISTRY_BEAN_KEY);
+ }
+ return registry;
+ }
+ throw new IllegalStateException("No ProcessEngineCOnfiguration found in active context");
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.repo.notification.EMailNotificationProvider;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.notification.NotificationContext;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.web.bean.repository.Repository;
+
+/**
+ *
+ * Classe utilitaire contenant une méthode d'envoi de mail
+ *
+ * @Class : SAEMWorkflowUtils.java
+ * @Package : eu.akka.saem.alfresco.workflow
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAEMWorkflowUtils.java $
+ *
+ */
+public class SAEMWorkflowUtils {
+
+ public static void sendMail(ServiceRegistry services, String workflowId, String workflowDescription,
+ String archiveName, NodeRef workflowPackage, String initiator, String siteName, String taskId,
+ boolean workflowTerminated, String workflowName, boolean svValidation) throws Exception {
+
+ SearchService searchService = services.getSearchService();
+ NotificationContext notificationContext = new NotificationContext();
+
+ String subject = "";
+ // Determine the subject of the notification
+ if (workflowName.equals("Elimination"))
+ subject = workflowTerminated ?
+ "Elimination de l'archive \"" + archiveName + "\" validée par le service d'archive" :
+ "Elimination de l'archive \"" + archiveName + "\" refusée par le service d'archive";
+ else if (workflowName.equals("Versement"))
+ subject = workflowTerminated ?
+ "Versement de l'archive \"" + archiveName + "\" validé par le service d'archive" :
+ "Versement de l'archive \"" + archiveName + "\" refusé par le service d'archive";
+
+ // Récupération du template d'email
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\"/app:company_home/app:dictionary/app:email_templates/cm:saem_email_templates/cm:saemwf-email-" + workflowName.toLowerCase() +".html.ftl\"");
+ ResultSet rs = searchService.query(sp);
+ if (rs.length() == 0){
+ throw new Exception("Impossible de récupérer le template d'email");
+ }
+
+ NodeRef emailTemplate = rs.getNodeRefs().get(0);
+
+ notificationContext.setBodyTemplate(services.getFileFolderService()
+ .getLocalizedSibling(emailTemplate));
+
+ // Build the template args
+ Map<String, Serializable> templateArgs = new HashMap<String, Serializable>(7);
+ templateArgs.put("workflowTerminated", workflowTerminated);
+ templateArgs.put("archiveName", archiveName);
+ templateArgs.put("workflowId", workflowId);
+ templateArgs.put("workflowDescription", workflowDescription);
+ templateArgs.put("siteName", siteName);
+ templateArgs.put("taskId", taskId);
+ templateArgs.put("svValidation", svValidation);
+
+ if (workflowName.equals("Versement")){
+ if (workflowPackage != null) {
+ // Add details of associated content
+ List<ChildAssociationRef> assocs = services.getNodeService().getChildAssocs(workflowPackage);
+ NodeRef[] docs = new NodeRef[assocs.size()];
+ if (assocs.size() != 0) {
+ int index = 0;
+ for (ChildAssociationRef assoc : assocs) {
+ docs[index] = assoc.getChildRef();
+ index++;
+ }
+ templateArgs.put("workflowDocuments", docs);
+ }
+ }
+ }
+ else{
+ if (workflowPackage != null) {
+ NodeRef[] docs = new NodeRef[1];
+ docs[0] = workflowPackage;
+ templateArgs.put("workflowDocuments", docs);
+ }
+ }
+ // Set the subject
+ notificationContext.setSubject(subject);
+
+ // Set the template args
+ notificationContext.setTemplateArgs(templateArgs);
+
+ // Set the notification recipient
+ notificationContext.addTo(initiator);
+
+ // Indicate that we want to execute the notification asynchronously
+ notificationContext.setAsyncNotification(true);
+
+ // Send email notification
+ services.getNotificationService().sendNotification(EMailNotificationProvider.NAME,
+ notificationContext);
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+
+/**
+ *
+ *
+ * @Class : SAValidation.java
+ * @Package : eu.akka.saem.alfresco.workflow
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SAValidation.java $
+ *
+ */
+public class SAValidation extends SAEMWorkflowTask implements TaskListener {
+
+ @Override
+ public void notify(DelegateTask task) {
+ if (task.getEventName().equals(EVENTNAME_COMPLETE)) {
+ if (((String) (task.getVariableLocal("saemwf_SAValidationApproveRejectOutcome")))
+ .equals("Accepter")) {
+ task.setVariable("saemwf_SAValidation", true);
+ }
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.workflow;
+
+import java.util.List;
+import java.util.Set;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.activiti.engine.task.IdentityLink;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.AssociationRef;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+
+/**
+ *
+ * @Class : SVCandidateGroupsSetter.java
+ * @Package : eu.akka.saem.alfresco.workflow
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SVCandidateGroupsSetter.java $
+ *
+ */
+public class SVCandidateGroupsSetter extends SAEMWorkflowTask implements TaskListener {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+
+ @Override
+ public void notify(DelegateTask task) {
+ if (task.getEventName().equals(EVENTNAME_CREATE)) {
+ // getting folder selected by the initiator of the workflow
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) task.getExecution().getVariable(
+ "bpm_package");
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ NodeRef profilableFolder = AuthenticationUtil
+ .runAsSystem(new RunAsWork<NodeRef>() {
+
+ @Override
+ public NodeRef doWork() throws Exception {
+ List<ChildAssociationRef> children = getServiceRegistry().getNodeService()
+ .getChildAssocs(bpmPackage);
+ NodeRef document = children.get(0).getChildRef();
+
+ // finding the folder with profilable aspect
+ while (!nodeService.hasAspect(document, SAEMModelConstants.ASPECT_PROFILABLE)) {
+ document = nodeService.getPrimaryParent(document).getParentRef();
+ }
+
+ return document;
+ }
+ });
+
+ // deleting current candidate groups
+ Set<IdentityLink> candidates = task.getCandidates();
+ for (IdentityLink candidate : candidates) {
+ task.deleteCandidateGroup(candidate.getGroupId());
+ }
+
+ // set the effective candidate groups to the groups associated to
+ // the profilable folder
+ List<AssociationRef> associationTargets = nodeService.getTargetAssocs(profilableFolder,
+ SAEMModelConstants.PROP_SV_CANDIDATE_GROUPS);
+ for (AssociationRef association : associationTargets) {
+ task.addCandidateGroup((String) nodeService.getProperty(association.getTargetRef(),
+ ContentModel.PROP_AUTHORITY_NAME));
+ }
+ }
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow;
+
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.site.SiteService;
+import org.alfresco.service.cmr.workflow.WorkflowInstance;
+import org.alfresco.service.cmr.workflow.WorkflowService;
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * Tache d'envoi de mail
+ *
+ * @Class : SendMail.java
+ * @Package : eu.akka.saem.alfresco.workflow
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SendMail.java $
+ *
+ */
+public class SendMail extends SAEMWorkflowTask implements TaskListener {
+
+ private static Logger LOG = Logger.getLogger(SendMail.class);
+
+ ServiceRegistry serviceRegistry = getServiceRegistry();
+ NodeService nodeService = serviceRegistry.getNodeService();
+ SiteService siteService = serviceRegistry.getSiteService();
+
+ @Override
+ public void notify(DelegateTask task) {
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (task.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+
+ String workflowName = null;
+ String archiveName;
+ String siteName;
+ boolean workflowTerminated;
+ boolean svValidation = false;
+
+ WorkflowService workflowService = serviceRegistry.getWorkflowService();
+ WorkflowInstance workflowInstance = workflowService.getWorkflowById((String) task
+ .getVariable("workflowinstanceid"));
+ NodeRef initiator = workflowInstance.getInitiator();
+ String initiatorUserName = (String) nodeService.getProperty(initiator, ContentModel.PROP_USERNAME);
+
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef archive = children.get(0).getChildRef();
+
+ siteName = AuthenticationUtil.runAsSystem(new RunAsWork<String>() {
+
+ @Override
+ public String doWork() throws Exception {
+ return siteService.getSite(archive).getShortName();
+ }
+ });
+ archiveName = (String) nodeService.getProperty(archive, ContentModel.PROP_NAME);
+ workflowTerminated = task.getTaskDefinitionKey().equals("svCorrection") ? false : true;
+
+ if (task.getVariable("bpm_workflowDescription").toString().contains("Versement"))
+ workflowName = "Versement";
+ else if (task.getVariable("bpm_workflowDescription").toString().contains("Elimination")){
+ workflowName = "Elimination";
+ svValidation = task.getVariableLocal("saemwf_SAValidationApproveRejectOutcome").equals("Accepter") ? true : false;
+ }
+
+ try {
+ SAEMWorkflowUtils
+ .sendMail(serviceRegistry, (String) task.getVariable("workflowinstanceid"),
+ workflowInstance.getDefinition().getDescription(), archiveName, bpmPackage,
+ initiatorUserName, siteName, "activiti$" + task.getId(), workflowTerminated,
+ workflowName, svValidation);
+ } catch (Exception e) {
+ LOG.error("Un mail de notification de workflow n'a pas pu être envoyé", e);
+ }
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.eliminitation;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.apache.axis.encoding.Base64;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMBeanContants;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestType;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveObjectType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.OrganizationType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * Tache de destruction de l'archive du workflow d'elimination
+ *
+ * @Class : ArchiveDestruction.java
+ * @Package : eu.akka.saem.alfresco.workflow.eliminitation
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: ArchiveDestruction.java $
+ *
+ */
+public class ArchiveDestruction extends SAEMWorkflowTask implements JavaDelegate {
+
+ private static final Log LOG = LogFactory.getLog(ArchiveDestruction.class);
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final ContentService contentService = serviceRegistry.getContentService();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final ProfilSEDAUtils profilSEDAUtils = (ProfilSEDAUtils) serviceRegistry.getService(SAEMBeanContants.PROFIL_SEDA_UTILS);
+ final PropertyReader propertyReader = (PropertyReader) serviceRegistry.getService(SAEMBeanContants.PROPERTY_READER);
+
+ @Override
+ public void execute(DelegateExecution exec) throws Exception {
+ try {
+
+ // Récupération des identifiants de connexion à asalae
+ String asalaeLogin = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ WebServicePortType test = ssl.getWebServicePort(new URL(propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_URL) + "/webservices/service"));
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ //recuperation de l'archive (ou sous archive a eliminer)
+ NodeRef archiveFolderNodeRef = children.get(0).getChildRef();
+ // creation d'une copie temporaire afin de recuperer -dans le cas ou on elimine un sous-objet d'archive- les informations presentes a la racine de l'archive
+ NodeRef tmpArchiveFolder = archiveFolderNodeRef;
+ ArchiveTransferType archiveSedaObject;
+
+ List<ArchiveType> archives = new ArrayList<ArchiveType>();
+
+ ArchiveType archive = new ArchiveType();
+ archive.setArchivalAgencyArchiveIdentifier(new ArchivesIDType());
+
+ // Récupération du bordereau de versement
+ if (nodeService.hasAspect(tmpArchiveFolder, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)) {
+ ArchiveObjectType aot = new ArchiveObjectType();
+ aot.setArchivalAgencyObjectIdentifier(new ArchivesIDType());
+ aot.getArchivalAgencyObjectIdentifier().setValue((String) nodeService.getProperty(tmpArchiveFolder,
+ SAEMModelConstants.PROP_SEDA_SOUS_OBJET_ARCHIVE_ARCHIVAL_AGENCY_OBJECT_IDENTIFIER));
+ archive.addContains(aot);
+ } else {
+ archive.getArchivalAgencyArchiveIdentifier().setValue(
+ (String) nodeService.getProperty(tmpArchiveFolder,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER));
+ }
+
+ archives.add(archive);
+
+ while (tmpArchiveFolder != null
+ && (!nodeService.hasAspect(tmpArchiveFolder, SAEMModelConstants.ASPECT_ARCHIVABLE)
+ || nodeService.hasAspect(tmpArchiveFolder, SAEMModelConstants.ASPECT_SOUS_OBJET_ARCHIVE)))
+ tmpArchiveFolder = nodeService.getPrimaryParent(tmpArchiveFolder).getParentRef();
+
+ archiveSedaObject = (ArchiveTransferType) profilSEDAUtils.getSedaObject(tmpArchiveFolder,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+ archiveSedaObject = fillSedaBlankFields(archiveSedaObject);
+
+ String dri = (String) nodeService.getProperty(archiveFolderNodeRef, SAEMModelConstants.PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT);
+
+ ArchiveDestructionRequestType adrt = (ArchiveDestructionRequestType) new ArchiveDestructionRequestType();
+ adrt.setDestructionRequestIdentifier(new ArchivesIDType());
+ adrt.getDestructionRequestIdentifier().setValue(dri);
+ adrt.setArchivalAgency(new OrganizationType());
+ adrt.getArchivalAgency().setIdentification(new ArchivesIDType());
+ adrt.getArchivalAgency().getIdentification()
+ .setValue(archiveSedaObject.getArchivalAgency().getIdentification().getValue());
+
+ if (exec.getVariable("bpm_comment") != null)
+ adrt.setComment(exec.getVariable("bpm_comment").toString());
+ else
+ adrt.setComment("");
+
+ adrt.setOriginatingAgency(new OrganizationType());
+ adrt.getOriginatingAgency().setIdentification(new ArchivesIDType());
+ adrt.getOriginatingAgency()
+ .getIdentification()
+ .setValue(
+ archiveSedaObject.getContains().get(0).getContentDescription()
+ .getOriginatingAgency().get(0).getIdentification().getValue());
+
+ adrt.setArchive(archives);
+
+ if (!test.wsElimination("bordereau.xml", Base64.encode(SEDAWriter.transformSEDAObjectToXML(adrt).getBytes("UTF8")).getBytes(), asalaeLogin, asalaePassword).equals("0"))
+ LOG.error("Processus d'elimination de l'archive avorte");
+ else {
+ nodeService.removeAspect(archiveFolderNodeRef, SAEMModelConstants.ASPECT_ELIMINABLE);
+ nodeService.removeAspect(archiveFolderNodeRef, SAEMModelConstants.ASPECT_RESTITUABLE);
+ }
+
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Cette méthode permet de remplir les champ générés automatiquement par
+ * Asalae
+ *
+ * @param archiveSedaObject
+ * @return
+ */
+ private ArchiveTransferType fillSedaBlankFields(ArchiveTransferType archiveSedaObject) {
+
+ // Insertion de la date du transfert
+ archiveSedaObject.getDate().setDate(new Date());
+
+ return archiveSedaObject;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.eliminitation;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.PermissionService;
+import org.alfresco.service.namespace.QName;
+
+import eu.akka.saem.alfresco.constants.SAEMBeanContants;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+
+/**
+ *
+ * Tache de validation du workflow d'elimination
+ *
+ * @Class : SVValidation.java
+ * @Package : eu.akka.saem.alfresco.workflow.eliminitation
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SVValidation.java $
+ *
+ */
+public class SVValidation extends SAEMWorkflowTask implements TaskListener {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final PermissionService permissionService = serviceRegistry.getPermissionService();
+ final PropertyReader propertyReader = (PropertyReader) serviceRegistry
+ .getService(SAEMBeanContants.PROPERTY_READER);
+
+ @Override
+ public void notify(DelegateTask task) {
+ if (task.getEventName().equals(EVENTNAME_COMPLETE)) {
+ DelegateExecution exec = task.getExecution();
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef archive = children.get(0).getChildRef();
+
+ Map<QName, Serializable> aspectProperties = new HashMap<>();
+
+ if (((String) (task.getVariableLocal("saemwf_SVValidationApproveRejectOutcome")))
+ .equals("Accepter")) {
+ aspectProperties.put(SAEMModelConstants.PROP_STATE, "accept");
+ }
+ else {
+ aspectProperties.put(SAEMModelConstants.PROP_STATE, "reject");
+ }
+ nodeService.addAspect(archive, SAEMModelConstants.ASPECT_ELIMINATION_STATE, aspectProperties);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+package eu.akka.saem.alfresco.workflow.eliminitation;
+
+import java.io.ByteArrayInputStream;
+import java.net.URL;
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.PermissionService;
+import org.apache.axis.encoding.Base64;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMBeanContants;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveDestructionRequestType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * Tache de demarage du workflow d'elimination
+ *
+ * @Class : Start.java
+ * @Package : eu.akka.saem.alfresco.workflow.eliminitation
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: Start.java $
+ *
+ */
+public class Start extends SAEMWorkflowTask implements TaskListener {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final PermissionService permissionService = serviceRegistry.getPermissionService();
+ final PropertyReader propertyReader = (PropertyReader) serviceRegistry
+ .getService(SAEMBeanContants.PROPERTY_READER);
+
+ private static Logger LOG = Logger.getLogger(Start.class);
+
+ @Override
+ public void notify(DelegateTask task) {
+ DelegateExecution exec = task.getExecution();
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef archive = children.get(0).getChildRef();
+
+ ArchiveDestructionRequestType adrt = new ArchiveDestructionRequestType();
+ adrt.setDestructionRequestIdentifier(new ArchivesIDType());
+ String bordereau = SEDAWriter.transformSEDAObjectToXML(adrt);
+
+ try {
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ WebServicePortType test = ssl.getWebServicePort(new URL(propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_URL) + "/webservices/service"));
+ // Récupération des identifiants de connexion à asalae
+ String asalaeLogin = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+ String bordereauSEDA = new String(Base64.decode(new String(test.wsCompleterBordereau(Base64
+ .encode(bordereau.getBytes("UTF8")).getBytes(), asalaeLogin, asalaePassword))), "UTF8");
+ ArchiveDestructionRequestType adrtresult = (ArchiveDestructionRequestType) XMLLoader
+ .SEDALoader(new ByteArrayInputStream(bordereauSEDA.getBytes()));
+
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_ELIMINATION_ACKNOWLEDGMENT,
+ adrtresult.getDestructionRequestIdentifier().getValue());
+
+ } catch (Exception ex) {
+ LOG.error(ex);
+ }
+
+ exec.setVariable("bpm_workflowDescription",
+ "Elimination - " + (String) nodeService.getProperty(archive, ContentModel.PROP_NAME));
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.restitution;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Date;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.rpc.ServiceException;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.dictionary.InvalidAspectException;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.InvalidNodeRefException;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.apache.axis.encoding.Base64;
+import org.apache.log4j.Logger;
+import org.xml.sax.SAXException;
+
+import eu.akka.saem.alfresco.connector.asalae.Exceptions.AsalaeConnectorException;
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMArchiveStates;
+import eu.akka.saem.alfresco.constants.SAEMBeanContants;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.seda.loader.XMLLoader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveRestitutionRequestType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchiveType;
+import eu.akka.saem.alfresco.seda.v02.complexType.ArchivesIDType;
+import eu.akka.saem.alfresco.seda.v02.complexType.DateTimeType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ * Tache d'envoi du bordereau de demande de restitution à Asalae
+ *
+ * @Class : AsalaeBordereauSender.java
+ * @Package : eu.akka.saem.alfresco.workflow.restitution
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AsalaeBordereauSender.java $
+ *
+ */
+public class AsalaeBordereauSender extends SAEMWorkflowTask implements TaskListener {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final PropertyReader propertyReader = (PropertyReader) serviceRegistry.getService(SAEMBeanContants.PROPERTY_READER);
+
+ private static Logger LOGGER = Logger.getLogger(AsalaeBordereauSender.class);
+
+ NodeRef folderRef2 = null;
+ NodeRef createdFile = null;
+ Boolean isArchiveDefinitive = false;
+
+ @Override
+ public void notify(DelegateTask exec) {
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+
+ List<ChildAssociationRef> children = AuthenticationUtil.runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef archive = children.get(0).getChildRef();
+ // Determine si l'archive est en asalae intermediaire ou définitif
+ if (nodeService.getProperty(archive, SAEMModelConstants.PROP_ARCHIVE_STATE_PROP).equals(
+ SAEMArchiveStates.DEFINITIF)) {
+ LOGGER.info("Archive définitive" + isArchiveDefinitive.toString());
+ isArchiveDefinitive = true;
+ }
+
+ // Création de l'archivetype avec l'identifier
+ ArchiveType at = new ArchiveType();
+ String aaaIdentifier = (String) nodeService.getProperty(archive,
+ SAEMModelConstants.PROP_SEDA_ARCHIVE_ARCHIVAL_AGENCY_ARCHIVE_IDENTIFIER);
+ ArchivesIDType ait = new ArchivesIDType();
+ ait.setValue(aaaIdentifier);
+ at.setArchivalAgencyArchiveIdentifier(ait);
+
+ // Creation de l'objet SEDA
+ ArchiveRestitutionRequestType arrt = new ArchiveRestitutionRequestType();
+ arrt.setRestitutionRequestIdentifier(new ArchivesIDType());
+ arrt.addArchive(at);
+ arrt.setComment(exec.getVariable("bpm_comment") != null ? (String) exec.getVariable("bpm_comment") : " ");
+ DateTimeType date = new DateTimeType();
+ date.setDate(new Date());
+ arrt.setDate(date);
+
+ // ObjetSEDA vers string pour transfer vers asalae
+ String bordereau = SEDAWriter.transformSEDAObjectToXML(arrt);
+
+ try {
+
+ // Connexion à Asalae
+ ServerServiceLocator ssl = new ServerServiceLocator();
+
+ LOGGER.info("Valeur isArchiveDefinitive: " + isArchiveDefinitive);
+
+ WebServicePortType test = ssl.getWebServicePort(new URL(propertyReader
+ .getProperty(isArchiveDefinitive ? SAEMPropertiesConstants.ASALAE_DEF_URL
+ : SAEMPropertiesConstants.ASALAE_INT_URL)
+ + "/webservices/service"));
+
+ if (test == null) {
+ LOGGER.error("Impossible de se connecter à Asalae");
+ throw new AsalaeConnectorException("Impossible de se connecter à Asalae");
+ }
+
+ // Completion du bordereau par webservice asalae
+ String asalaeLogin = propertyReader
+ .getProperty(isArchiveDefinitive ? SAEMPropertiesConstants.ASALAE_DEF_LOGIN
+ : SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader
+ .getProperty(isArchiveDefinitive ? SAEMPropertiesConstants.ASALAE_DEF_PASSWORD
+ : SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+ LOGGER.info("Asalae login: " + asalaeLogin);
+ LOGGER.info("Asalae password: " + asalaePassword);
+
+ String bordereauSEDA = new String(Base64.decode(new String(test.wsCompleterBordereau(
+ Base64.encode(bordereau.getBytes("UTF8")).getBytes(), asalaeLogin, asalaePassword))), "UTF8");
+
+ ArchiveRestitutionRequestType arrtresult = (ArchiveRestitutionRequestType) XMLLoader
+ .SEDALoader(new ByteArrayInputStream(bordereauSEDA.getBytes()));
+
+ // Mise en place de l'identifiant de restitution sur l'archive
+ nodeService.setProperty(archive, SAEMModelConstants.PROP_SEDA_RESTITUTION_ACKNOWLEDGMENT, arrtresult
+ .getRestitutionRequestIdentifier().getValue());
+
+ exec.setVariable("bpm_workflowDescription",
+ "Restitution - " + (String) nodeService.getProperty(archive, ContentModel.PROP_NAME));
+
+ // Envoi du bordereau de restitution
+ if (test.wsRestitution("bordereau.xml",
+ Base64.encode(SEDAWriter.transformSEDAObjectToXML(arrtresult).getBytes("UTF8")).getBytes(), null, null,
+ null, asalaeLogin, asalaePassword).equals("0")) {
+ nodeService.removeAspect(archive, SAEMModelConstants.ASPECT_RESTITUABLE);
+ } else {
+ LOGGER.error("Processus de restitution de l'archive avorte");
+ }
+
+ } catch (ServiceException | InvalidAspectException | InvalidNodeRefException | ClassNotFoundException | InstantiationException | IllegalAccessException | SecurityException | NoSuchMethodException | ParserConfigurationException | SAXException | IOException e) {
+ LOGGER.error("Erreur lors du traitement de l'envoi du bordereau de restitution", e);
+ }
+
+ }
+
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.versement;
+
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.PermissionService;
+
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * //TODO : To complete
+ *
+ * @Class : AllowPermissionSV.java
+ * @Package : eu.akka.saem.alfresco.workflow.versement
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AllowPermissionSV.java $
+ *
+ */
+public class AllowPermissionSV extends SAEMWorkflowTask implements JavaDelegate {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final PermissionService permissionService = serviceRegistry.getPermissionService();
+
+ @Override
+ public void execute(DelegateExecution exec) throws Exception {
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef document = children.get(0).getChildRef();
+
+ AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
+
+ @Override
+ public Void doWork() throws Exception {
+// permissionService.setInheritParentPermissions(document, true);
+// List<AssociationRef> associationTargets = nodeService.getTargetAssocs(document,
+// SAEMModelConstants.PROP_SV_CANDIDATE_GROUPS);
+// for (AssociationRef association : associationTargets) {
+//
+// permissionService.clearPermission(document, (String) nodeService.getProperty(
+// association.getTargetRef(), ContentModel.PROP_NAME));
+// permissionService.setPermission(document, (String) nodeService.getProperty(
+// association.getTargetRef(), ContentModel.PROP_NAME), "Collaborator", true);
+// }
+ return null;
+ }
+ });
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.versement;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.URL;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.rpc.ServiceException;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.content.MimetypeMap;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.model.FileFolderService;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.ContentData;
+import org.alfresco.service.cmr.repository.ContentService;
+import org.alfresco.service.cmr.repository.ContentWriter;
+import org.alfresco.service.cmr.repository.CopyService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.search.ResultSet;
+import org.alfresco.service.cmr.search.SearchParameters;
+import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.thumbnail.ThumbnailService;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.util.FileNameValidator;
+import org.alfresco.web.bean.repository.Repository;
+import org.apache.axis.encoding.Base64;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.log4j.Logger;
+
+import eu.akka.saem.alfresco.connector.asalae.util.AsalaeUtils;
+import eu.akka.saem.alfresco.connector.asalae.ws.ServerServiceLocator;
+import eu.akka.saem.alfresco.connector.asalae.ws.WebServicePortType;
+import eu.akka.saem.alfresco.constants.SAEMBeanContants;
+import eu.akka.saem.alfresco.constants.SAEMModelConstants;
+import eu.akka.saem.alfresco.constants.SAEMPropertiesConstants;
+import eu.akka.saem.alfresco.helper.PropertyReader;
+import eu.akka.saem.alfresco.seda.v02.ArchiveTransferType;
+import eu.akka.saem.alfresco.seda.writer.SEDAWriter;
+import eu.akka.saem.alfresco.utils.ProfilSEDAUtils;
+import eu.akka.saem.alfresco.utils.ZipUtils;
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * Tache de copie du noderef d'Alfresco vers Asalae
+ *
+ * @Class : AsalaeConnexion.java
+ * @Package : eu.akka.saem.alfresco.workflow.versement
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: AsalaeConnexion.java $
+ *
+ */
+public class AsalaeConnexion extends SAEMWorkflowTask implements JavaDelegate {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final SearchService searchService = serviceRegistry.getSearchService();
+ final NamespaceService namespaceService = serviceRegistry.getNamespaceService();
+ final ContentService contentService = serviceRegistry.getContentService();
+ ThumbnailService thumbnailService = serviceRegistry.getThumbnailService();
+ final ProfilSEDAUtils profilSEDAUtils = (ProfilSEDAUtils) serviceRegistry
+ .getService(SAEMBeanContants.PROFIL_SEDA_UTILS);
+ final PropertyReader propertyReader = (PropertyReader) serviceRegistry
+ .getService(SAEMBeanContants.PROPERTY_READER);
+ final AsalaeUtils asalaeUtils = (AsalaeUtils) serviceRegistry.getService(SAEMBeanContants.ASALAE_UTILS);
+ final ZipUtils zipUtils = (ZipUtils) serviceRegistry.getService(SAEMBeanContants.ZIP_UTILS);
+ final FileFolderService fileFolderService = serviceRegistry.getFileFolderService();
+ final CopyService copyService = serviceRegistry.getCopyService();
+
+ private static Logger LOG = Logger.getLogger(AsalaeConnexion.class);
+
+ NodeRef folderRef2 = null;
+ NodeRef createdFile = null;
+ NodeRef createdFile2 = null;
+
+ @Override
+ public void execute(DelegateExecution exec) throws Exception {
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef archiveFolderNodeRef = children.get(0).getChildRef();
+
+ // Récupération du bordereau de versement
+ ArchiveTransferType archiveSedaObject = (ArchiveTransferType) profilSEDAUtils.getSedaObject(
+ archiveFolderNodeRef, SAEMModelConstants.PROP_SEDA_ARCHIVE_XML_FULL);
+
+ archiveSedaObject = fillSedaBlankFields(archiveSedaObject);
+
+ transfertToAsalae(archiveSedaObject, archiveFolderNodeRef);
+
+ }
+
+ private void transfertToAsalae(ArchiveTransferType archiveSedaObject, final NodeRef archiveFolderNodeRef)
+ throws ServiceException, IOException {
+ ServerServiceLocator ssl = new ServerServiceLocator();
+ WebServicePortType test = ssl.getWebServicePort(new URL(propertyReader
+ .getProperty(SAEMPropertiesConstants.ASALAE_INT_URL) + "/webservices/service"));
+
+ // Transformation du SEDA en string
+ String bordereau = SEDAWriter.transformSEDAObjectToXML(archiveSedaObject);
+
+ String archiveName = (String) nodeService.getProperty(archiveFolderNodeRef, ContentModel.PROP_NAME);
+ String zipName = FileNameValidator.getValidFileName(FilenameUtils.normalizeNoEndSeparator(archiveName
+ + ".zip"));
+
+ // Récupération des identifiants de connexion à asalae
+ String asalaeLogin = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_LOGIN);
+ String asalaePassword = propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_PASSWORD);
+
+ // Récupération de la liste de tous les documents à transferer
+ SearchParameters sp = new SearchParameters();
+ sp.addStore(Repository.getStoreRef());
+ sp.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp.setQuery("PATH:\"" + nodeService.getPath(archiveFolderNodeRef).toPrefixString(namespaceService)
+ + "//*\"" + " AND ASPECT:\"saem:document_archive\"");
+ ResultSet rs = searchService.query(sp);
+ List<NodeRef> nodes = rs.getNodeRefs();
+
+
+ boolean bigFile = false;
+ for (NodeRef node : nodes){
+ ContentData content = (ContentData) nodeService.getProperty(node, ContentModel.PROP_CONTENT);
+ bigFile = content != null ? (int)content.getSize() > Integer.valueOf(propertyReader.getProperty(SAEMPropertiesConstants.SIZE_BIG_FILE)) : false;
+ if(bigFile)
+ break;
+ }
+
+ if(bigFile){
+
+ final String newName = (String) nodeService.getProperty(archiveFolderNodeRef, ContentModel.PROP_NAME);
+
+ //Création d'une sauvegarde en cas de coupure lors du transfert
+ try {
+
+ //récupération du dossier ou créer la copie
+ SearchParameters sp2 = new SearchParameters();
+ sp2.addStore(Repository.getStoreRef());
+ sp2.setLanguage(SearchService.LANGUAGE_LUCENE);
+ sp2.setQuery("PATH:\"/app:company_home/app:dictionary\"");
+ ResultSet rs2 = searchService.query(sp2);
+ final List<NodeRef> nodeRefWhereCopy = rs2.getNodeRefs();
+
+
+ //créer la copie
+ AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
+ @Override
+ public Void doWork() throws Exception {
+ NodeRef folderRef = fileFolderService.create(nodeRefWhereCopy.get(0), "Copy", ContentModel.TYPE_FOLDER).getNodeRef();
+ folderRef2 = fileFolderService.create(folderRef, newName, ContentModel.TYPE_FOLDER).getNodeRef();
+ copyService.copy(archiveFolderNodeRef, folderRef2);
+ return null;
+ }
+ });
+
+ //créer le bordereau
+ final Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
+ props.put(ContentModel.PROP_NAME, "bordereau.xml");
+
+ AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
+ @Override
+ public Void doWork() throws Exception {
+ createdFile = nodeService.createNode(folderRef2, ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "bordereau.xml"),
+ ContentModel.TYPE_CONTENT, props).getChildRef();
+ return null;
+ }
+ });
+
+ ContentWriter contentWriter = contentService.getWriter(createdFile,
+ ContentModel.PROP_CONTENT, true);
+ contentWriter.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
+ contentWriter.setEncoding("UTF-8");
+ contentWriter.putContent(SEDAWriter.cleanEmptyChild(bordereau));
+
+
+ final Map<QName, Serializable> props2 = new HashMap<QName, Serializable>(1);
+ props2.put(ContentModel.PROP_NAME, "bigFile.conf");
+
+ AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
+ @Override
+ public Void doWork() throws Exception {
+ createdFile2 = nodeService.createNode(folderRef2, ContentModel.ASSOC_CONTAINS,
+ QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "bigFile.conf"),
+ ContentModel.TYPE_CONTENT, props2).getChildRef();
+ return null;
+ }
+ });
+ ContentWriter contentWriter2 = contentService.getWriter(createdFile2,
+ ContentModel.PROP_CONTENT, true);
+ contentWriter2.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
+ contentWriter2.setEncoding("UTF-8");
+ contentWriter2.putContent(propertyReader.getProperty(SAEMPropertiesConstants.ASALAE_INT_URL)+"####"+asalaeLogin+"####"+asalaePassword);
+
+
+ // Maj des aspects pour signifier que l'archive a bien ete versee (mais pas encore acceptée)
+ nodeService.removeAspect(archiveFolderNodeRef, SAEMModelConstants.ASPECT_NON_VERSE);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ else{
+
+ // Création du zip
+ byte[] zippedDocument = zipUtils.createZipTemp(nodes);
+
+ // Maj des aspects pour signifier que l'archive a bien ete versee (mais pas encore acceptée)
+ nodeService.removeAspect(archiveFolderNodeRef, SAEMModelConstants.ASPECT_NON_VERSE);
+
+ // Web service depot
+ String returnValue = test.wsDepot("bordereau.xml", Base64.encode(SEDAWriter.cleanEmptyChild(bordereau).getBytes("UTF8"))
+ .getBytes(), zipName, Base64.encode(zippedDocument).getBytes(), "ZIP", asalaeLogin,
+ asalaePassword);
+
+ asalaeUtils.handleErrorsWsGDepot(returnValue);
+
+ }
+
+ }
+
+ /**
+ * Cette méthode permet de remplir les champ générés automatiquement par
+ * Asalae
+ *
+ * @param archiveSedaObject
+ * @return
+ */
+ private ArchiveTransferType fillSedaBlankFields(ArchiveTransferType archiveSedaObject) {
+
+ // Insertion de la date du transfert
+ archiveSedaObject.getDate().setDate(new Date());
+ return archiveSedaObject;
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.versement;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.apache.commons.lang.StringUtils;
+
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * Classe permettant d'attribuer des commentaires aux différentes étapes
+ * du workflow de versement
+ *
+ * @Class : SetCommentaries.java
+ * @Package : eu.akka.saem.alfresco.workflow.versement
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SetCommentaries.java $
+ *
+ */
+public class SetCommentaries extends SAEMWorkflowTask implements TaskListener {
+
+ @Override
+ public void notify(DelegateTask task) {
+
+ if (task.getEventName().equals(EVENTNAME_COMPLETE)) {
+ if (StringUtils.isNotBlank((String) task.getVariable("bpm_comment")))
+ {
+ task.setVariable("saemwf_comment", task.getVariable("bpm_comment"));
+ }
+ }
+ if (task.getEventName().equals(EVENTNAME_CREATE)) {
+ if (StringUtils.isNotBlank((String) task.getVariable("bpm_comment")))
+ {
+ task.setVariable("saemwf_comment", task.getVariable("bpm_comment"));
+ task.setVariable("bpm_comment", "");
+ }
+ }
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.versement;
+
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.PermissionService;
+
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * Tache de démarrage du workflow de versement
+ *
+ * @Class : Start.java
+ * @Package : eu.akka.saem.alfresco.workflow.versement
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: Start.java $
+ *
+ */
+public class Start extends SAEMWorkflowTask implements JavaDelegate {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final PermissionService permissionService = serviceRegistry.getPermissionService();
+
+ @Override
+ public void execute(DelegateExecution exec) throws Exception {
+ exec.setVariable("saemwf_SAValidation", false);
+ exec.setVariable("saemwf_comment", "");
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ String docName = AuthenticationUtil
+ .runAsSystem(new RunAsWork<String>() {
+
+ @Override
+ public String doWork() throws Exception {
+ List<ChildAssociationRef> children = nodeService.getChildAssocs(bpmPackage);
+ NodeRef document = children.get(0).getChildRef();
+ return (String) nodeService.getProperty(document, ContentModel.PROP_NAME);
+ }
+ });
+
+
+ exec.setVariable("bpm_workflowDescription", "Versement - " + docName);
+
+
+ // String xmlArchive = (String) nodeService.getProperty(document,
+ // SAEMModelConstants.PROP_SEDA_ARCHIVE_XML);
+ // nodeService.getProperties(document)
+ // Object SEDAObject = null;
+ //
+ // DocumentBuilderFactory factory =
+ // DocumentBuilderFactory.newInstance();
+ // factory.setNamespaceAware(true);
+ // try {
+ // DocumentBuilder builder = factory.newDocumentBuilder();
+ // Document doc = builder.parse(new InputSource(new
+ // StringReader(xmlArchive)));
+ // doc.getDocumentElement().setAttribute("xmlns", "v0.2");
+ // SEDAObject = XMLLoader.SEDALoader(doc);
+ // } catch (ClassNotFoundException | InstantiationException |
+ // IllegalAccessException | SecurityException
+ // | NoSuchMethodException | ParserConfigurationException | SAXException
+ // | IOException e) {
+ // e.printStackTrace();
+ // }
+
+ }
+}
--- /dev/null
+package eu.akka.saem.alfresco.workflow.versement;
+
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.model.ContentModel;
+import org.alfresco.repo.security.authentication.AuthenticationUtil;
+import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
+import org.alfresco.repo.workflow.activiti.ActivitiScriptNode;
+import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.cmr.security.OwnableService;
+import org.alfresco.service.cmr.security.PermissionService;
+
+import eu.akka.saem.alfresco.workflow.SAEMWorkflowTask;
+
+/**
+ *
+ * //TODO : To complete
+ *
+ * @Class : SuppressPermissionSV.java
+ * @Package : eu.akka.saem.alfresco.workflow.versement
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: SuppressPermissionSV.java $
+ *
+ */
+public class SuppressPermissionSV extends SAEMWorkflowTask implements JavaDelegate {
+
+ final ServiceRegistry serviceRegistry = getServiceRegistry();
+ final NodeService nodeService = serviceRegistry.getNodeService();
+ final PermissionService permissionService = serviceRegistry.getPermissionService();
+ final OwnableService ownableService = serviceRegistry.getOwnableService();
+
+ @Override
+ public void execute(DelegateExecution exec) throws Exception {
+
+ ActivitiScriptNode scriptNode = (ActivitiScriptNode) (exec.getVariable("bpm_package"));
+ final NodeRef bpmPackage = scriptNode.getNodeRef();
+ List<ChildAssociationRef> children = AuthenticationUtil
+ .runAsSystem(new RunAsWork<List<ChildAssociationRef>>() {
+
+ @Override
+ public List<ChildAssociationRef> doWork() throws Exception {
+ return nodeService.getChildAssocs(bpmPackage);
+ }
+ });
+
+ final NodeRef document = children.get(0).getChildRef();
+
+ AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
+
+ @Override
+ public Void doWork() throws Exception {
+// manageOwnerRecursif(document);
+
+// permissionService.setInheritParentPermissions(document, false);
+// List<AssociationRef> associationTargets = nodeService.getTargetAssocs(document,
+// SAEMModelConstants.PROP_SV_CANDIDATE_GROUPS);
+// for (AssociationRef association : associationTargets) {
+
+// permissionService.clearPermission(document, (String) nodeService.getProperty(association.getTargetRef(), ContentModel.PROP_NAME));
+// permissionService.setPermission(document, (String) nodeService.getProperty(association.getTargetRef(), ContentModel.PROP_NAME),
+// "Consumer", true);
+//
+// }
+
+// permissionService.setPermission(document, permissionService.CONTRIBUTOR, permissionService.getAllPermission(), false);
+// permissionService.setPermission(document, permissionService.CONSUMER, permissionService.getAllPermission(), false);
+// permissionService.setPermission(document, "collaborator", permissionService.getAllPermission(), false);
+// permissionService.setPermission(document, permissionService.CONTRIBUTOR, permissionService.READ, true);
+// permissionService.setPermission(document, permissionService.CONSUMER, permissionService.READ, true);
+// permissionService.setPermission(document, "collaborator", permissionService.READ, true);
+ return null;
+ }
+
+ private void manageOwnerRecursif(NodeRef document) {
+ ownableService.setOwner(document, null);
+ for(ChildAssociationRef childassoc : nodeService.getChildAssocs(document)){
+ if(childassoc.getTypeQName().equals(ContentModel.ASSOC_CONTAINS)){
+ manageOwnerRecursif(childassoc.getChildRef());
+ }
+ }
+ }
+ });
+ }
+}
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisService,
+ java.util.Collection,
+ java.util.HashMap,
+ java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Turn On Service</h1>
+<form method="get" name="serviceActivate" action="axis2-admin/activateService">
+ <table width="100%" border="0">
+<tr>
+ <td colspan="2" >
+ <p>The services that are inactive are listed below. Although you can activate the services from this page, once system is restarted the services will be inactive again</p>
+ </td>
+ </tr>
+ <tr>
+ <%
+HashMap services = (HashMap)request.getSession().getAttribute(Constants.SERVICE_MAP);
+Collection col = services.values();
+String html = "";
+int count = 0;
+
+for (Iterator iterator = col.iterator(); iterator.hasNext();) {
+ AxisService axisServices = (AxisService) iterator.next();
+ if(!axisServices.isActive()){
+ count++;
+ html += "<option value='" + axisServices.getName() + "'>";
+ html += axisServices.getName() + "</option>";
+ }
+}
+request.getSession().setAttribute(Constants.SERVICE_MAP,null);
+if (count > 0) {
+%>
+
+ <td width="20%"> Select Service : </td>
+ <td width="80%">
+ <select name="axisService" class="selectBoxes">
+ <%=html%>
+ </select>
+ </tr>
+ <tr>
+ <td width="20%">Activate Service </td>
+ <td width="80%"><input type="checkbox" name="turnon">
+ </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td>
+ <input name="submit" type="submit" value=" Activate " >
+ <input name="reset" type="reset" value=" Clear " >
+ </td>
+<%
+} else {
+ %>
+ <td colspan="2">No inactive services present.</td>
+ <%
+}
+%>
+ </tr>
+
+</table>
+</form>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule,
+ org.apache.axis2.description.AxisServiceGroup,
+ java.util.Collection" %>
+<%@ page import="java.util.HashMap"%>
+<%@ page import="java.util.Iterator"%>
+<%@ page import="org.apache.axis2.util.Utils" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<%
+ String status = (String)request.getSession().getAttribute(Constants.ENGAGE_STATUS);
+ HashMap moduels = (HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
+ request.getSession().setAttribute(Constants.MODULE_MAP,null);
+ Collection moduleCol = moduels.values();
+ Iterator servicesGroups = (Iterator)request.getSession().getAttribute(Constants.SERVICE_GROUP_MAP);
+ request.getSession().setAttribute(Constants.SERVICE_GROUP_MAP,null);
+%>
+<h1>Engage Module for a Service Group</h1>
+<p>To engage a module for a set of services grouped as an axis service group,</p>
+
+ <ol>
+ <li>select the module you want to engage </li>
+ <li>select the axis service group you like the module to be engaged.</li>
+ <li>click "Engage".</li>
+ </ol>
+
+
+<%
+ if (!moduleCol.iterator().hasNext()) {%>
+ <p>No modules are present to be engaged.</p>
+ <%} else {
+ if (!servicesGroups.hasNext()) {%>
+ <p>No Axis service groups are present to be engaged.</p>
+ <%} else {
+%>
+<form method="get" name="selectModuleForm" action="axis2-admin/engageToServiceGroup">
+ <table border="0" width="100%" cellspacing="1" cellpadding="1">
+ <tr>
+ <td>Select a Module :</td>
+ </tr>
+ <tr>
+ <td>
+ <select name="modules">
+ <%
+ for (Iterator iterator = moduleCol.iterator(); iterator.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iterator.next();
+ String modulename = axisOperation.getName();
+ %> <option align="left" value="<%=modulename%>"><%=modulename%></option>
+ <%
+ }
+ %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>Select a Service Group :</td>
+ </tr>
+ <tr>
+ <td>
+ <select name="axisService">
+ <%
+
+ while(servicesGroups.hasNext()){
+ AxisServiceGroup axisServiceGroup = (AxisServiceGroup) servicesGroups.next();
+ String serviceName = axisServiceGroup.getServiceGroupName();
+ %> <option align="left" value="<%=serviceName%>"><%=serviceName%></option>
+ <%
+ }
+
+ %>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="submit" type="submit" value=" Engage " >
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <textarea cols="50" <%
+ if(status == null){
+ %>
+ style="display:none"
+ <%
+ } %>
+ ><%=Utils.sanitizeWebOutput(status)%></textarea>
+ </td>
+ </tr>
+ </table>
+</form>
+<%
+ }
+ }
+%>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
+
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<html>
+ <head><title>Error In Admin Application</title></head>
+ <body>
+ <table width="100%">
+ <tr>
+ <td align="left"><img src="../images/asf-logo.gif"/></td>
+ <td align="right"><img src="../images/axis_l.jpg"/></td>
+ </tr>
+</table>
+<table width="100%">
+ <tr>
+ <td align="center">Failure in Authentication! Please check your username and password</td>
+
+ </tr>
+ <tr> <td align="center"><a href="/axis2/Login.jsp">back</a></td></tr>
+</table>
+
+<hr/>
+<table width="100%">
+ <tr>
+ <td align="center">All rights reserved by Apache Software Foundation</td>
+ </tr>
+</table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<html>
+ <head><title>Error In Admin Application</title></head>
+ <body>
+ <table width="100%">
+ <tr>
+ <td align="left"><img src="../images/asf-logo.gif"/></td>
+ <td align="right"><img src="../images/axis_l.jpg"/></td>
+ </tr>
+</table>
+<table width="100%">
+ <tr>
+ <td align="center">Server Encountered an Error!</td>
+
+ </tr>
+ <tr> <td align="center"><a href="/">home</a></td></tr>
+</table>
+
+<hr/>
+<table width="100%">
+ <tr>
+ <td align="center">All rights reserved by Apache Software Foundation</td>
+ </tr>
+</table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=iso-8859-1" language="java" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <jsp:include page="../include/httpbase.jsp"/>
+ <title>Axis2 :: Resource not found!</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css"/>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+ </head>
+
+ <body>
+ <table width="100%">
+ <tr>
+ <td align="left"><img src="axis2-web/images/asf-logo.gif" alt=""/></td>
+ <td align="right"><img src="axis2-web/images/axis_l.jpg" alt=""/></td>
+ </tr>
+ </table>
+ <table width="100%">
+ <tr>
+ <td>
+ <h1>Requested resource not found!</h1>
+ <br/>
+ <br/>
+ <br/>
+ <br/>
+ </td>
+ </tr>
+ <tr><td align="center"><a href="axis2-web/index.jsp">home</a></td></tr>
+ </table>
+ <table width="100%">
+ <tr><td>
+ <table width="950px">
+ <tr><td><hr size="1" noshade=""/></td></tr>
+ <tr>
+ <td align="center">Copyright © 1999-2006, The Apache Software Foundation<br/>Licensed under the <a
+ href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</td>
+ </tr>
+ </table>
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=iso-8859-1" language="java" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <jsp:include page="../include/httpbase.jsp"/>
+ <title>Axis2 :: Internal server error</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css"/>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+ </head>
+
+ <body>
+ <table width="100%">
+ <tr>
+ <td align="left"><img src="axis2-web/images/asf-logo.gif" alt=""/></td>
+ <td align="right"><img src="axis2-web/images/axis_l.jpg" alt=""/></td>
+ </tr>
+ </table>
+ <table width="100%">
+ <tr>
+ <td>
+ <h1>Internal server error</h1>
+ <br/>
+ <br/>
+ <br/>
+ <br/>
+ </td>
+ </tr>
+ <tr><td align="center"><a href="axis2-web/index.jsp">home</a></td></tr>
+ </table>
+ <hr/>
+ <table width="100%">
+ <tr><td>
+ <table width="950px">
+ <tr><td><hr size="1" noshade=""/></td></tr>
+ <tr>
+ <td align="center">Copyright © 1999-2006, The Apache Software Foundation<br/>Licensed under the <a
+ href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</td>
+ </tr>
+ </table>
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<html>
+<%@ page import="org.apache.axis2.AxisFault,
+ org.apache.axis2.Constants,
+ org.apache.axis2.addressing.EndpointReference,
+ org.apache.axis2.client.Options,
+ org.apache.axis2.client.ServiceClient,
+ org.apache.axis2.context.ConfigurationContext,
+ org.apache.axis2.context.ConfigurationContextFactory,
+ javax.xml.parsers.SAXParser,
+ javax.xml.parsers.SAXParserFactory,
+ java.io.IOException,
+ java.io.InputStream,
+ java.io.StringWriter,
+ org.apache.axiom.om.OMElement,
+ org.apache.axiom.om.OMFactory,
+ org.apache.axiom.om.OMNamespace,
+ org.apache.axiom.om.OMAbstractFactory,
+ javax.xml.stream.XMLOutputFactory,
+ javax.xml.stream.XMLStreamException"
+ session="false" %>
+<head>
+ <jsp:include page="include/httpbase.jsp"/>
+ <title>Axis2 Happiness Page</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<jsp:include page="include/header.inc"/>
+<jsp:include page="include/link-footer.jsp"/>
+<%IP = request.getRequestURL().toString();%>
+<%!
+ /*
+ * Happiness tests for axis2. These look at the classpath and warn if things
+ * are missing. Normally addng this much code in a JSP page is mad
+ * but here we want to validate JSP compilation too, and have a drop-in
+ * page for easy re-use
+ */
+ String IP;
+
+ /**
+ * Get a string providing install information.
+ * TODO: make this platform aware and give specific hints
+ */
+ public String getInstallHints(HttpServletRequest request) {
+
+ return "<B><I>Note:</I></B> On Tomcat 4.x and Java1.4, you may need to put libraries that contain "
+ + "java.* or javax.* packages into CATALINA_HOME/common/lib"
+ + "<br>jaxrpc.jar and saaj.jar are two such libraries.";
+ }
+
+ /**
+ * test for a class existing
+ * @param classname
+ * @return class iff present
+ */
+ Class classExists(String classname) {
+ try {
+ return Class.forName(classname);
+ } catch (ClassNotFoundException e) {
+ return null;
+ }
+ }
+
+ /**
+ * test for resource on the classpath
+ * @param resource
+ * @return true iff present
+ */
+ boolean resourceExists(String resource) {
+ boolean found;
+ InputStream instream = this.getClass().getResourceAsStream(resource);
+ found = instream != null;
+ if (instream != null) {
+ try {
+ instream.close();
+ } catch (IOException e) {
+ }
+ }
+ return found;
+ }
+
+ /**
+ * probe for a class, print an error message is missing
+ * @param out stream to print stuff
+ * @param category text like "warning" or "error"
+ * @param classname class to look for
+ * @param jarFile where this class comes from
+ * @param errorText extra error text
+ * @param homePage where to d/l the library
+ * @return the number of missing classes
+ * @throws IOException
+ */
+ int probeClass(JspWriter out,
+ String category,
+ String classname,
+ String jarFile,
+ String axisOperation,
+ String errorText,
+ String homePage) throws IOException {
+ try {
+ Class clazz = classExists(classname);
+ if (clazz == null) {
+ String url = "";
+ if (homePage != null) {
+ url = "<br> See <a href=" + homePage + ">" + homePage + "</a>";
+ }
+ out.write("<p>" + category + ": could not find class " + classname
+ + " from file <b>" + jarFile
+ + "</b><br> " + errorText
+ + url
+ + "<p>");
+ return 1;
+ } else {
+ String location = getLocation(out, clazz);
+ if (location == null) {
+ out.write("Found " + axisOperation + " (" + classname + ")<br/>");
+ } else {
+ out.write("Found " + axisOperation + " (" + classname + ") <br/> at " + location + "<br/>");
+ }
+ return 0;
+ }
+ } catch (NoClassDefFoundError ncdfe) {
+ String url = "";
+ if (homePage != null) {
+ url = "<br> See <a href=" + homePage + ">" + homePage + "</a>";
+ }
+ out.write("<p>" + category + ": could not find a dependency"
+ + " of class " + classname
+ + " from file <b>" + jarFile
+ + "</b><br> " + errorText
+ + url
+ + "<br>The root cause was: " + ncdfe.getMessage()
+ + "<br>This can happen e.g. if " + classname + " is in"
+ + " the 'common' classpath, but a dependency like "
+ + " activation.jar is only in the webapp classpath."
+ + "<p>");
+ return 1;
+ }
+ }
+
+ /**
+ * get the location of a class
+ * @param out
+ * @param clazz
+ * @return the jar file or path where a class was found
+ */
+
+ String getLocation(JspWriter out,
+ Class clazz) {
+ try {
+ java.net.URL url = clazz.getProtectionDomain().getCodeSource().getLocation();
+ String location = url.toString();
+ if (location.startsWith("jar")) {
+ url = ((java.net.JarURLConnection) url.openConnection()).getJarFileURL();
+ location = url.toString();
+ }
+
+ if (location.startsWith("file")) {
+ java.io.File file = new java.io.File(url.getFile());
+ return file.getAbsolutePath();
+ } else {
+ return url.toString();
+ }
+ } catch (Throwable t) {
+ }
+ return "an unknown location";
+ }
+
+ /**
+ * a class we need if a class is missing
+ * @param out stream to print stuff
+ * @param classname class to look for
+ * @param jarFile where this class comes from
+ * @param errorText extra error text
+ * @param homePage where to d/l the library
+ * @throws IOException when needed
+ * @return the number of missing libraries (0 or 1)
+ */
+ int needClass(JspWriter out,
+ String classname,
+ String jarFile,
+ String axisOperation,
+ String errorText,
+ String homePage) throws IOException {
+ return probeClass(out,
+ "<b>Error</b>",
+ classname,
+ jarFile,
+ axisOperation,
+ errorText,
+ homePage);
+ }
+
+ /**
+ * print warning message if a class is missing
+ * @param out stream to print stuff
+ * @param classname class to look for
+ * @param jarFile where this class comes from
+ * @param errorText extra error text
+ * @param homePage where to d/l the library
+ * @throws IOException when needed
+ * @return the number of missing libraries (0 or 1)
+ */
+ int wantClass(JspWriter out,
+ String classname,
+ String jarFile,
+ String axisOperation,
+ String errorText,
+ String homePage) throws IOException {
+ return probeClass(out,
+ "<b>Warning</b>",
+ classname,
+ jarFile,
+ axisOperation,
+ errorText,
+ homePage);
+ }
+
+ /**
+ * probe for a resource existing,
+ * @param out
+ * @param resource
+ * @param errorText
+ * @throws Exception
+ */
+ int wantResource(JspWriter out,
+ String resource,
+ String errorText) throws Exception {
+ if (!resourceExists(resource)) {
+ out.write("<p><b>Warning</b>: could not find resource " + resource
+ + "<br>"
+ + errorText);
+ return 0;
+ } else {
+ out.write("found " + resource + "<br>");
+ return 1;
+ }
+ }
+
+
+ /**
+ * get servlet version string
+ *
+ */
+
+ public String getServletVersion() {
+ ServletContext context = getServletConfig().getServletContext();
+ int major = context.getMajorVersion();
+ int minor = context.getMinorVersion();
+ return Integer.toString(major) + '.' + Integer.toString(minor);
+ }
+
+
+ /**
+ * what parser are we using.
+ * @return the classname of the parser
+ */
+ private String getParserName() {
+ SAXParser saxParser = getSAXParser();
+ if (saxParser == null) {
+ return "Could not create an XML Parser";
+ }
+
+ // check to what is in the classname
+ return saxParser.getClass().getName();
+ }
+
+ /**
+ * Create a JAXP SAXParser
+ * @return parser or null for trouble
+ */
+ private SAXParser getSAXParser() {
+ SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+ if (saxParserFactory == null) {
+ return null;
+ }
+ SAXParser saxParser = null;
+ try {
+ saxParser = saxParserFactory.newSAXParser();
+ } catch (Exception e) {
+ }
+ return saxParser;
+ }
+
+ /**
+ * get the location of the parser
+ * @return path or null for trouble in tracking it down
+ */
+
+ private String getParserLocation(JspWriter out) {
+ SAXParser saxParser = getSAXParser();
+ if (saxParser == null) {
+ return null;
+ }
+ return getLocation(out, saxParser.getClass());
+ }
+
+ private String value;
+
+ private OMElement createEnvelope() {
+ OMFactory fac = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = fac.createOMNamespace("http://axisversion.sample", "ns1");
+ OMElement method = fac.createOMElement("getVersion", omNs);
+ OMElement value = fac.createOMElement("myValue", omNs);
+ method.addChild(value);
+ return method;
+ }
+
+ public boolean invokeTheService() {
+ try {
+ // since this one is an internal request we do not use public frontendHostUrl
+ // for it
+ int lastindex = IP.lastIndexOf('/');
+ IP = IP.substring(0, lastindex);
+ ///axis2/axis2-web/services/version
+ IP = IP.replaceAll("axis2-web", "");
+
+ OMElement payload = createEnvelope();
+ ConfigurationContext configctx =
+ ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
+ ServiceClient client = new ServiceClient(configctx, null);
+ EndpointReference targetEPR = new EndpointReference(IP + configctx.getServicePath() + "/Version");
+ Options options = new Options();
+ client.setOptions(options);
+ options.setTo(targetEPR);
+ options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+ OMElement result = client.sendReceive(payload);
+ StringWriter writer = new StringWriter();
+ result.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(writer));
+ writer.flush();
+ value = writer.toString();
+ return true;
+ } catch (AxisFault axisFault) {
+ System.out.println(value);
+ return false;
+ } catch (XMLStreamException e) {
+ value = e.getMessage();
+ return false;
+ }
+ }
+
+ public String getFormatedSystemProperty(String systemProperty){
+ if (systemProperty == null)
+ return "";
+ return systemProperty.replaceAll(":", ": ");
+ }
+%>
+
+<h1>Axis2 Happiness Page</h1>
+
+<h2>Examining webapp configuration</h2>
+
+<blockquote>
+
+<h4>Essential Components</h4>
+
+<%
+ int needed = 0,wanted = 0;
+
+ /**
+ * the essentials, without these Axis is not going to work
+ */
+ needed = needClass(out, "org.apache.axis2.transport.http.AxisServlet",
+ "axis2-1.0.jar",
+ "Apache-Axis",
+ "Axis2 will not work",
+ "http://xml.apache.org/axis2/");
+ needed += needClass(out, "org.apache.commons.logging.Log",
+ "commons-logging.jar",
+ "Jakarta-Commons Logging",
+ "Axis2 will not work",
+ "http://jakarta.apache.org/commons/logging.html");
+ needed += needClass(out, "javax.xml.stream.XMLStreamReader",
+ "stax-api-1.0.1.jar",
+ "Streaming API for XML",
+ "Axis2 will not work",
+ "http://dist.codehaus.org/stax/jars/");
+ needed += needClass(out, "org.codehaus.stax2.XMLStreamWriter2",
+ "wstx-asl-3.0.1.jar",
+ "Streaming API for XML implementation",
+ "Axis2 will not work",
+ "http://dist.codehaus.org/stax/jars/");
+
+%>
+<%
+ /*
+ * resources on the classpath path
+ */
+ /* broken; this is a file, not a resource
+ wantResource(out,"/server-config.wsdd",
+ "There is no server configuration file;"
+ +"run AdminClient to create one");
+ */
+ /* add more libraries here */
+
+ //is everything we need here
+ if (needed == 0) {
+ //yes, be happy
+ out.write("<p><font color='green'><strong>The core axis2 libraries are present.</strong></font></p>");
+ } else {
+ //no, be very unhappy
+ response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ out.write("<font color='red'><i>"
+ + needed
+ + " core axis2 librar"
+ + (needed == 1 ? "y is" : "ies are")
+ + " missing</i></font>");
+ }
+ //now look at wanted stuff
+%>
+<p>
+ <B><I>Note:</I></B> Even if everything this page probes for is present,
+ there is no guarantee your Axis Service will work, because there are many configuration options
+ that we do not check for. These tests are <i>necessary</i> but not <i>sufficient</i>
+</p>
+</blockquote>
+<h2>Examining Version Service</h2>
+<%
+ boolean serviceStatus = invokeTheService();
+ if (serviceStatus) {
+%>
+<blockquote>
+ <font color="green"><strong>
+ Found Axis2 default Version service and Axis2 is working
+ properly.</strong></font>
+ <p>Now you can drop a service archive in axis2/WEB-INF/services.
+ Following output was produced while invoking Axis2 version service
+ </p>
+ <p><%= value%></p>
+</blockquote>
+
+<%
+} else {
+%>
+<p>
+ <font color="brown"> There was a problem in Axis2 version service , may be
+ the service not available or some thing has gone wrong. But this does
+ not mean system is not working !
+ Try to upload some other service and check to see whether it is
+ working.
+ <br>
+ </font>
+</p>
+
+<%
+ }
+%>
+<h2>Examining Application Server</h2>
+<blockquote>
+<table>
+ <tr><td>Servlet version</td><td><%=getServletVersion()%></td></tr>
+ <tr><td>Platform</td>
+ <td><%=getServletConfig().getServletContext().getServerInfo()%></td>
+ </tr>
+</table>
+</blockquote>
+<h2>Examining System Properties</h2>
+<%
+ /**
+ * Dump the system properties
+ */
+ java.util.Enumeration e = null;
+ try {
+ e = System.getProperties().propertyNames();
+ } catch (SecurityException se) {
+ }
+ if (e != null) {
+ out.write("<pre>");
+ out.write("<table cellpadding='5px' cellspacing='0px' style='border: .5px blue solid;'>");
+ for (; e.hasMoreElements();) {
+ out.write("<tr>");
+ String key = (String) e.nextElement();
+ out.write("<th style='border: .5px #A3BBFF solid;'>" + key + "</th>");
+ out.write("<td style='border: .5px #A3BBFF solid;'>" + getFormatedSystemProperty(System.getProperty(key)) + " </td>");
+ out.write("<tr>");
+ }
+ out.write("</table>");
+ out.write("</pre><p>");
+ } else {
+ out.write("System properties are not accessible<p>");
+ }
+%>
+
+<jsp:include page="include/footer.inc"/>
+</body>
+</html>
+
+
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisService,
+ java.util.Collection,
+ java.util.HashMap,
+ java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Deactivate Service</h1>
+<form method="get" name="serviceInActivate" action="axis2-admin/deactivateService">
+ <table width="100%" border="0">
+<tr>
+ <td colspan="2" >
+ <p>Only the services that are active are listed below. Note that although you can activate a service from this page, once system is restarted the service will be active again</p>
+ </td>
+ </tr>
+ <tr>
+<%
+HashMap services = (HashMap)request.getSession().getAttribute(Constants.SERVICE_MAP);
+Collection col = services.values();
+String html = "";
+int count = 0;
+
+for (Iterator iterator = col.iterator(); iterator.hasNext();) {
+ AxisService axisServices = (AxisService) iterator.next();
+ if(axisServices.isActive()){
+ count++;
+ html += "<option value='" + axisServices.getName() + "'>";
+ html += axisServices.getName() + "</option>";
+ }
+}
+request.getSession().setAttribute(Constants.SERVICE_MAP,null);
+if (count > 0) {
+%>
+
+ <td width="20%"> Select Service : </td>
+ <td width="80%">
+ <select name="axisService" class="selectBoxes">
+<%=html%>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td width="20%">Deactivate Service </td>
+ <td width="80%"><input type="checkbox" name="turnoff">
+ </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td>
+ <input name="submit" type="submit" value=" Deactivate " >
+ <input name="reset" type="reset" value=" Clear " >
+ </td>
+<%
+} else {
+ %>
+ <td colspan="2">No active services present.</td>
+ <%
+}
+%>
+ </tr>
+
+</table>
+</form>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants" %>
+<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
+<%@ page import="org.apache.axis2.context.ServiceContext" %>
+<%@ page import="org.apache.axis2.context.ServiceGroupContext" %>
+<%@ page import="org.apache.axis2.deployment.util.PhasesInfo" %>
+<%@ page import="org.apache.axis2.description.AxisModule" %>
+<%@ page import="org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.AxisServiceGroup" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.engine.AxisConfiguration" %>
+<%@ page import="org.apache.axis2.engine.Handler" %>
+<%@ page import="org.apache.axis2.engine.Phase" %>
+<%@ page import="org.apache.axis2.util.JavaUtils" %>
+<%@ page import="java.util.ArrayList" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.Enumeration" %>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Hashtable" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<table width="100%" style="border-right:1px solid #CCCCCC;">
+ <tr>
+ <td colspan="2" >
+ <b>Tools </b>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/upload">Upload Service</a>
+ </td>
+ </tr>
+<tr>
+ <td colspan="2" >
+ <b><nobr>System Components </nobr></b>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td >
+ <a href="axis2-admin/listService">Available Services</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td >
+ <a href="axis2-admin/listServiceGroups">Available Service Groups</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td >
+ <a href="axis2-admin/listModules">Available Modules</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/globalModules">Globally Engaged Modules</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td >
+ <a href="axis2-admin/listPhases">Available Phases</a>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" >
+ <b>Execution Chains</b>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/viewGlobalHandlers">Global Chains</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/selectService">Operation Specific Chains</a>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" >
+ <b>Engage Module</b>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/engagingglobally">For all Services</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/engageToServiceGroup">For a Service Group</a>
+ </td>
+ </tr>
+
+
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/engageToService">For a Service</a>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/listOperation">For an Operation</a>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2" >
+ <b>Services</b>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/deactivateService">Deactivate Service</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/activateService">Activate Service</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/selectServiceParaEdit">Edit Parameters</a>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" >
+ <b>Contexts</b>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ </td>
+ <td>
+ <a href="axis2-admin/listContexts">View Hierarchy</a>
+ </td>
+ </tr>
+</table>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants" %>
+<%@ page import="org.apache.axis2.description.AxisModule" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.AxisServiceGroup" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"/>
+<h1>Available Service Groups</h1>
+<%
+ Iterator axisServiceGroupIter = (Iterator) request.getSession().getAttribute(
+ Constants.SERVICE_GROUP_MAP);
+ request.getSession().setAttribute(Constants.SERVICE_GROUP_MAP,null);
+ while (axisServiceGroupIter.hasNext()) {
+ AxisServiceGroup axisServiceGroup = (AxisServiceGroup) axisServiceGroupIter.next();
+ String groupName = axisServiceGroup.getServiceGroupName();
+ Collection modules = axisServiceGroup.getEngagedModules();
+ Iterator axisServiceIter = axisServiceGroup.getServices();
+%>
+<h2><%=groupName%></h2><ul>
+ <%
+ while (axisServiceIter.hasNext()){
+ AxisService axisService = (AxisService) axisServiceIter.next();
+ String serviceName = axisService.getName();
+ %>
+ <li><font color="blue"><a href="axis2-admin/ListSingleService?serviceName=<%=serviceName%>">
+ <%=serviceName%></a></font></li>
+ <%
+ }
+ %>
+</ul>
+<%
+ if (modules.size() > 0) {
+%>
+<I>Engaged modules</I><ul>
+ <%
+ for (Iterator iterator = modules.iterator(); iterator.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iterator.next();
+ String modulDesc = axisOperation.getName();
+ %>
+ <li><%=modulDesc%></li>
+ <%
+ }
+ %></ul><%
+ }
+ }
+%>
+<jsp:include page="include/adminfooter.inc"/>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+ <head>
+ <jsp:include page="include/httpbase.jsp"/>
+ <title>Login to Axis2 :: Administration page</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css">
+ </head>
+
+ <body onload="javascript:document.LoginForm.userName.focus();">
+ <jsp:include page="include/header.inc"/>
+ <jsp:include page="include/link-footer.jsp"/>
+ <table class="FULL_BLANK">
+ <tr>
+ <td valign="top">
+ <h2>Welcome :</h2>
+ <p>Welcome to the Axis2 administration console. From inside the Axis2 administration console you can :</p>
+ <ul style="list-style: none;" class="loginUL">
+ <li>Check on the health of your Axis2 deployment.</li>
+ <li>Change any parameters at run time.</li>
+ <li>Upload new services into Axis2 [Service hot-deployment].</li>
+ </ul>
+ <font color="orange">Warning: Please note that configuration changes done through the administration console
+ will be lost when the server is restarted.</font>
+ </td>
+ <td valign="top" align="left">
+ <form method="post" name="LoginForm" action="axis2-admin/login">
+ <table class="LOG_IN_FORM">
+ <tr>
+ <td align="center" colspan="2" bgcolor="#b0b0b0" color="#FFFFFF"><font color="#FFFFFF">Login</font></td>
+ </tr>
+ <tr>
+ <td align="center" colspan="2"> </td>
+ </tr>
+ <tr>
+ <td align="right">Username:</td>
+ <td><input align="left" type="text" name="userName" tabindex="1">
+ </td>
+ </tr>
+ <tr>
+ <td align="right">Password : </td>
+ <td><input align="left" type="password" name="password" tabindex="2">
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <br>
+ </td>
+ </tr>
+ <tr>
+ <td align="center" colspan="2">
+ <input name="cancel" type="reset" value=" Clear ">
+ <input name="submit" type="submit" value=" Login ">
+ </td>
+ </tr>
+ <tr>
+ <td align="center" colspan="2">
+ <font color="red"> <% if (request.getAttribute("errorMessage") != null) {%><%= request.getAttribute("errorMessage")%><% } %> </font>
+ </td>
+ </tr>
+ </table>
+ </form>
+ <br/><br/><br/><br/><br/><br/>
+ </td>
+ </tr>
+ </table>
+ <p>Test</p>
+ <jsp:include page="include/footer.inc"/>
+ </body>
+</html>
+
+
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Axis2 Administration </title>
+ <style type="text/css">
+ </style></head>
+
+ <body>
+ </body>
+</html>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisService,
+ java.util.Collection,
+ java.util.HashMap,
+ java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+
+ <%
+ String action ="";
+ String buttonName="" ;
+ String status = (String)request.getSession().getAttribute(Constants.SELECT_SERVICE_TYPE);
+ String heading = "";
+ String disc = "";
+ if(status != null && status.equals("MODULE")) {
+ action = "listOperations";
+ buttonName = " View Operations";
+ heading = "Select a service to view operation specific chains";
+ disc = "Select an Axis service from the combo and click on the 'View Operations' button to view operation specific Chains.";
+ } else if(status != null && status.equals("VIEW")){
+ buttonName = " View ";
+ action = "viewServiceHandlers";
+ heading = "Select a service to view service handlers";
+ disc = "Select an Axis service from the combo and click on the 'View' button to view service handlers.";
+ } else if (status != null && status.equals("SERVICE_PARAMETER")){
+ buttonName = " Edit Parameters ";
+ action = "editServicePara"; // Constants.EDIR_SERVICE_PARA;
+ heading = "Select a Service to Edit Parameters";
+ disc = "Select an Axis service from the combo and click on the 'Edit Parameters' button to edit parameters.";
+ }
+ %>
+<h1><%=heading%></h1>
+<p><%=disc%></p>
+<form method="get" name="selectServiceForm" action="axis2-admin/<%=action%>">
+<table border="0" width="50%" cellspacing="1" cellpadding="1">
+ <tr>
+ <td width="35%">Select a Service :</td><td width="65%">
+ <select name="axisService">
+ <%
+ HashMap services = (HashMap)request.getSession().getAttribute(Constants.SERVICE_MAP);
+ Collection serviceCol = services.values();
+ for (Iterator iterator = serviceCol.iterator(); iterator.hasNext();) {
+ AxisService axisService = (AxisService)iterator.next();
+ String serviceName = axisService.getName();
+ %> <option align="left" value="<%=serviceName%>"><%=serviceName%></option>
+ <%
+ }
+ request.getSession().setAttribute(Constants.SERVICE_MAP,null);
+ %>
+ </td>
+ </tr>
+ <tr><td colspan="2"> </td></tr>
+ <tr><td> </td>
+ <td colspan="2" align="left">
+ <input name="submit" type="submit" value="<%=buttonName%>" >
+ </td>
+ </tr>
+ </table>
+ </form>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisOperation,
+ org.apache.axis2.description.AxisService,
+ org.apache.axis2.description.Parameter,
+ java.util.ArrayList,
+ java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Edit Service Parameters</h1>
+ <form method="get" name="editServicepara" action="axis2-admin/editServicepara">
+ <%
+ AxisService axisService = (AxisService)request.getSession().
+ getAttribute(Constants.SERVICE);
+ if(axisService != null ){
+ %> <table width="100%">
+
+ <tr>
+ <td colspan="2" ><b>
+ <%
+ String servicName = axisService.getName();
+ %>Service Parameters :: <%=servicName%>
+ </b></td>
+ </tr>
+ <tr>
+ <td colspan="2" ><input style="display:none" name="axisService" value="<%=servicName%>"></td>
+ </tr>
+ <%
+ ArrayList service_para = axisService.getParameters();
+ for (int i = 0; i < service_para.size(); i++) {
+ Parameter parameter = (Parameter) service_para.get(i);
+ if (parameter.getParameterType()==Parameter.OM_PARAMETER) {
+ continue;
+ }
+ %>
+ <tr>
+ <td><%=parameter.getName()%></td>
+ <td><input type="text" value="<%=parameter.getValue()%>"
+ name="<%=(servicName + "_" + parameter.getName())%>" size="50">
+ </td>
+ </tr>
+ <%
+ }
+ Iterator operations = axisService.getOperations();
+ if(operations.hasNext()){
+ %>
+ <tr>
+ <td> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td colspan="2" > <b>Operation Paramaters :: </b>
+ </td>
+ </tr>
+ <%
+ }
+
+ ArrayList op_paras ;
+ operations = axisService.getOperations();
+ while (operations.hasNext()) {
+ AxisOperation axisOperation = (AxisOperation) operations.next();
+ String operationName = axisOperation.getName().getLocalPart();
+ %>
+ <tr>
+ <td colspan="2" > </td>
+ </tr>
+ <tr>
+ <td colspan="2" ><b>Operation : <%=operationName%></b></td>
+ </tr>
+ <%
+ op_paras = axisOperation.getParameters();
+ for (int i = 0; i < op_paras.size(); i++) {
+ Parameter parameter = (Parameter) op_paras.get(i);
+ if (parameter.getParameterType()==Parameter.OM_PARAMETER) {
+ continue;
+ }
+ %>
+ <tr>
+ <td><%=parameter.getName()%></td>
+ <td><input type="text" value="<%=parameter.getValue()%>"
+ name="<%=(operationName + "_" + parameter.getName())%>" size="50">
+ </td>
+ </tr>
+ <%
+ }
+ }
+ %>
+ <tr>
+ <td> </td>
+ <td>
+ <input name="changePara" type="submit" value=" Change " >
+ </td>
+ </tr>
+ </table>
+ <%
+ } else {
+ %>
+ <p><%=request.getAttribute("status")%></p>
+ <%
+ }
+
+ %>
+ <form>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Untitled Document</title>
+ <style type="text/css">
+ </style></head>
+
+ <body>
+ <jsp:include page="include/adminheader.inc"/>
+ </body>
+</html>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants"%>
+<%@ page import="org.apache.axis2.context.ConfigurationContext"%>
+<%@ page import="org.apache.axis2.context.ServiceContext"%>
+<%@ page import="org.apache.axis2.context.ServiceGroupContext"%>
+<%@ page import="java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Running Context Hierarchy</h1>
+<%
+ ConfigurationContext configContext = (ConfigurationContext) request.getSession().getAttribute(
+ Constants.CONFIG_CONTEXT);
+
+ String[] serviceGroupIds = configContext.getServiceGroupContextIDs();
+ if (serviceGroupIds.length > 0) {
+%>
+<ul>
+ <%
+
+ for (int i = 0; i < serviceGroupIds.length; i++) {
+ String groupContextID = serviceGroupIds[i];
+ ServiceGroupContext groupContext = configContext.getServiceGroupContext(groupContextID);
+ %>
+ <li><%=groupContextID%><font color="blue"><a href="axis2-admin/viewServiceGroupConetxt?TYPE=VIEW&ID=<%=groupContextID%>">
+ View</a></font> <font color="red"><a href="axis2-admin/viewServiceGroupConetxt?TYPE=DELETE&ID=<%=groupContextID%>">
+ Remove</a> </font></li>
+ <%
+ Iterator serviceContextItr = groupContext.getServiceContexts();
+ %><ul><%
+ while (serviceContextItr.hasNext()) {
+ ServiceContext serviceContext = (ServiceContext)serviceContextItr.next();
+ String serviceConID = serviceContext.getAxisService().getName();
+ %>
+ <li><%=serviceConID%><font color="blue"><a href="axis2-admin/viewServiceContext?TYPE=VIEW&ID=<%=serviceConID%>&PID=<%=groupContextID%>">
+ View</a></font></li>
+ <%
+ }
+ %></ul><hr><%
+ }
+ %> </ul>
+ <%
+ } else {%>
+ <p>No running contexts were found on the system.</p>
+ <%}
+%>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.engine.AxisConfiguration,
+ org.apache.axis2.engine.Handler,
+ org.apache.axis2.engine.Phase,
+ java.util.List"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>View Global Execution Chains</h1>
+ <%
+ AxisConfiguration axisConfig = (AxisConfiguration)request.getSession().
+ getAttribute(Constants.GLOBAL_HANDLERS);
+ if(axisConfig != null ){
+ List handlers ;
+ List phases = axisConfig.getInFlowPhases();
+ %>
+ <h3> In Flow Up To and Including Dispatcher </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ phases = axisConfig.getInFaultFlowPhases();
+ %>
+ <h3> In Fault Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+
+ phases = axisConfig.getOutFlowPhases();
+ %>
+ <h3> Out Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ phases = axisConfig.getOutFaultFlowPhases();
+ %>
+ <h3> Out Fault Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+
+ }
+ %>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisOperation,
+ org.apache.axis2.description.AxisService,
+ org.apache.axis2.engine.Handler,
+ org.apache.axis2.engine.Phase,
+ java.util.ArrayList,
+ java.util.List,
+ java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>View Operation Specific Chains</h1>
+ <%
+ AxisService axisService = (AxisService)request.getSession().
+ getAttribute(Constants.SERVICE_HANDLERS);
+ if(axisService != null ){
+ List handlers ;
+ Iterator operations = axisService.getOperations();
+ while (operations.hasNext()) {
+ AxisOperation axisOperationon = (AxisOperation) operations.next();
+ %><h2>Operation Name : <%=axisOperationon.getName().getLocalPart()%></h2><%
+ ArrayList phases = axisOperationon.getRemainingPhasesInFlow();
+ %>
+ <h3> In Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ phases = axisOperationon.getPhasesInFaultFlow();
+ %>
+ <h3> In Fault Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+
+ phases = axisOperationon.getPhasesOutFlow();
+ %>
+ <h3> Out Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ phases = axisOperationon.getPhasesOutFaultFlow();
+ %>
+ <h3> Out Fault Flow </h3>
+ <ul>
+ <%
+ for (int i = 0; i < phases.size(); i++) {
+ Phase phase = (Phase) phases.get(i);
+ %>
+ <li>Phase Name : <%=phase.getPhaseName()%></li>
+ <ul>
+ <%
+ handlers = phase.getHandlers();
+ for (int j = 0; j < handlers.size(); j++) {
+ Handler handler = (Handler) handlers.get(j);
+ %>
+ <li>Handler Name : <%=handler.getHandlerDesc().getName()%></li>
+ <%
+ }
+ %>
+ </ul>
+ <%
+ }
+ %>
+ </ul>
+ <%
+
+ }
+ }
+
+ %>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Welcome to Axis2 Web Admin Module !!</h1>
+<p>You are now logged into the Axis2 administration console from inside
+the console you will be able to</p>
+ <ul>
+ <li>to check on the health of your Axis2 deployment.</li>
+ <li>to change any parameters at run time.</li>
+ <li>to upload new services into Axis2 [Service hot-deployment].</li>
+ </ul>
+
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+BODY {
+ background-color : "#FFFFFF";
+ leftmargin:"0";
+ topmargin:"0";
+ font-family:Arial;
+ font-size:11pt;
+}
+h1 { font-family: Arial; font-size: 16pt; font-weight: bold }
+h2 { font-family: Arial; font-size: 13pt; font-weight: bold; color: #5D0D7D }
+ul { font-family: Arial; font-size: 11pt }
+input { font-family: Arial; font-size: 8pt; font-weight: bold }
+td { font-family: Arial; font-size: 10pt }
+h3 { font-family: Arial; font-size: 12pt; font-weight:bold }
+TABLE.FULL_BLANK {
+ width : 100%;
+ height : 100%;
+ border : 0;
+ padding : 0;
+}
+
+TABLE.LOG_IN_FORM{
+ height: 200px%;
+ border:1px solid #000000;
+ width: 300px%;
+ cellspacing:1px;
+ cellpadding:1px;
+ background-color: #f7f7f7 ;
+}
+
+UL.loginUL LI{
+ padding: 10pt;
+}
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"/>
+<p><%=request.getSession().getAttribute("status")%></p>
+<p>Click <a href="services/listServices">here</a> to go to the service list page</p>
+<jsp:include page="include/adminfooter.inc" />
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"/>
+<%=request.getSession().getAttribute("status")%>
+<jsp:include page="include/adminfooter.inc" />
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule,
+ java.util.Collection,
+ java.util.HashMap,
+ java.util.Iterator" %>
+<%@ page import="org.apache.axis2.util.Utils" %>
+<html>
+<jsp:include page="include/adminheader.jsp"/>
+<%
+ String status = (String) request.getSession().getAttribute(Constants.ENGAGE_STATUS);
+%>
+<h1>Engage Module Globally</h1>
+
+<p>To engage a module on all services across the system, select a module from the combo box below
+ and click on the "Engage" button. Any module that needs to place handlers into the pre-dispatch
+ phase needs to be engaged globally.</p>
+
+<form method="get" name="selectModuleForm" action="axis2-admin/engagingglobally">
+ <table border="0" width="100%" cellspacing="1" cellpadding="1">
+ <tr>
+ <td width="15%">Select a Module :</td>
+ <td width="75%" align="left">
+ <select name="modules">
+ <%
+ HashMap modules = (HashMap) request.getSession().getAttribute(Constants.MODULE_MAP);
+ request.getSession().setAttribute(Constants.MODULE_MAP,null);
+ Collection moduleCol = modules.values();
+ for (Iterator iterator = moduleCol.iterator(); iterator.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iterator.next();
+ String modulename = axisOperation.getName();
+ %>
+ <option align="left" value="<%=modulename%>"><%=modulename%>
+ </option>
+ <%
+ }
+ %>
+ </select>
+ </td>
+ </tr>
+ <tr><td> </td>
+ <td>
+ <input name="submit" type="submit" value=" Engage ">
+ </td>
+ </tr>
+ </table>
+</form>
+<%
+ if (status != null) {
+%>
+<p style="color:blue"><%=Utils.sanitizeWebOutput(status)%></p>
+<%
+ } %>
+<jsp:include page="include/adminfooter.inc"/>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule,
+ org.apache.axis2.description.AxisOperation,
+ org.apache.axis2.util.Utils,
+ java.util.Collection,
+ java.util.HashMap,
+ java.util.Iterator"%>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<%
+ String status = (String)request.getSession().getAttribute(Constants.ENGAGE_STATUS);
+%>
+<h1>Engage Module for an Operation</h1>
+<p>To engage a module for an axis operation,</p>
+ <ol>
+ <li>select the module you want to engage </li>
+ <li>select the axis operation you like the module to be engaged.</li>
+ <li>click "Engage".</li>
+ </ol>
+
+<form method="get" name="selectModuleForm" action="axis2-admin/listOperations">
+<table border="0" width="100%" cellspacing="1" cellpadding="1">
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>Select a Module :</td>
+ </tr>
+ <tr>
+ <td>
+ <select name="modules">
+ <%
+ HashMap moduels = (HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
+ request.getSession().setAttribute(Constants.MODULE_MAP,null);
+ Collection moduleCol = moduels.values();
+ for (Iterator iterator = moduleCol.iterator(); iterator.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iterator.next();
+ String modulename = axisOperation.getName();
+ %> <option align="left" value="<%=modulename%>"><%=modulename%></option>
+ <%
+ }
+ %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>Select an Operation :</td>
+ </tr>
+ <tr>
+ <td>
+ <select name="axisOperation">
+ <%
+ Iterator operations = (Iterator)request.getSession().getAttribute(Constants.OPERATION_MAP);
+ while (operations.hasNext()) {
+ AxisOperation axisOperationtion = (AxisOperation)operations.next();
+ String opname = axisOperationtion.getName().getLocalPart();
+ %> <option align="left" value="<%=opname%>"><%=opname%></option>
+ <%
+ }
+ request.getSession().setAttribute(Constants.OPERATION_MAP,null);
+ %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="submit" type="submit" value=" Engage " >
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <textarea cols="50" <%
+ if(status == null){
+ %>
+ style="display:none"
+ <%
+ } %>
+ ><%=Utils.sanitizeWebOutput(status)%></textarea>
+ </td>
+ </tr>
+ </table>
+ </form>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule,
+ org.apache.axis2.description.AxisService,
+ java.util.Collection,
+ java.util.HashMap,
+ java.util.Iterator"
+ %>
+<%@ page import="org.apache.axis2.util.Utils" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<%
+ String status = (String) request.getSession().getAttribute(Constants.ENGAGE_STATUS);
+%>
+<h1>Engage Module for a Service</h1>
+
+<p>To engage a module for a axis service,</p>
+
+ <ol>
+ <li>select the module you want to engage</li>
+ <li>select the axis service you like the module to be engaged.</li>
+ <li>click "Engage".</li>
+ </ol>
+
+<form method="get" name="selectModuleForm" action="axis2-admin/engageToService">
+ <table border="0" width="100%" cellspacing="1" cellpadding="1">
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>Select a Module :</td>
+ </tr>
+ <tr>
+ <td>
+ <select name="modules">
+ <%
+
+ HashMap moduels = (HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
+ request.getSession().setAttribute(Constants.MODULE_MAP,null);
+ Collection moduleCol = moduels.values();
+ for (Iterator iterator = moduleCol.iterator(); iterator.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iterator.next();
+ String modulename = axisOperation.getName();
+
+ %>
+ <option align="left" value="<%=modulename%>"><%=modulename%>
+ </option>
+ <%
+
+ }
+
+ %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>Select a Service :</td>
+ </tr>
+ <tr>
+ <td>
+ <select name="axisService">
+ <%
+
+ HashMap services = (HashMap)request.getSession().getAttribute(Constants.SERVICE_MAP);
+ Collection serviceCol = services.values();
+ for (Iterator iterator = serviceCol.iterator(); iterator.hasNext();) {
+ AxisService axisService = (AxisService)iterator.next();
+ String serviceName = axisService.getName();
+
+ %>
+ <option align="left" value="<%=serviceName%>"><%=serviceName%>
+ </option>
+ <%
+
+ }
+ request.getSession().setAttribute(Constants.SERVICE_MAP,null);
+
+ %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="submit" type="submit" value=" Engage ">
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <textarea cols="50" <%
+ if (status == null) {
+ %>
+ style="display:none"
+ <%
+ } %>
+ ><%=Utils.sanitizeWebOutput(status)%>
+ </textarea>
+ </td>
+ </tr>
+ </table>
+</form>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
+
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@page isErrorPage="true" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+ <table>
+ <tr>
+ <td align="center">An error has occured!. Please check the details below</td>
+ </tr>
+ <tr>
+ <td align="center"><%=exception.getMessage()%></td>
+ </tr>
+ </table>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ java.util.Hashtable"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+ <%
+ Hashtable errornessModules =(Hashtable)request.getSession().getAttribute(Constants.ERROR_MODULE_MAP);
+ String moduleName = request.getParameter("moduleName");
+ %> <h3>The Module has deployment faults</h3><%
+ %><font color="red" ><%=(String)errornessModules.get(moduleName) %></font><%
+ %>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
\ No newline at end of file
--- /dev/null
+ <%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%> <%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule,
+ java.util.Collection,
+ java.util.Iterator"%>
+ <%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Globally Engaged Modules</h1>
+ <%
+ boolean foundModules = false;
+ boolean wroteUL = false;
+ String modulename = "";
+ Collection moduleCol = (Collection) request.getSession().getAttribute(Constants.MODULE_MAP);
+ request.getSession().setAttribute(Constants.MODULE_MAP, null);
+ if (moduleCol != null && moduleCol.size() > 0) {
+ for (Iterator iterator = moduleCol.iterator(); iterator.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iterator.next();
+ modulename = axisOperation.getName();
+ if (!wroteUL) {
+ wroteUL = true;
+ %>
+ <ul>
+<%
+ }
+ %><li><%=modulename%></li>
+ <br> <%
+ }
+ if (wroteUL){
+%>
+ </ul>
+<%
+ }
+ } else{
+ %>
+ <h2><font color="blue">There are no modules engaged globally</font></h2>
+ <%
+ }
+ %>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+</td></tr>
+</table>
+<jsp:include page="footer.inc"></jsp:include>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<table width="100%">
+ <tr>
+ <td align="left"><img src="axis2-web/images/asf-logo.gif"/><h1>Axis 2</h1></td>
+ <td align="right"><img src="axis2-web/images/axis.jpg"/></td>
+ </tr>
+ <tr>
+ <td>.</td>
+ <td align="right"><a href="logout" target="_parent" >Log out</a></td>
+ </tr>
+</table>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants" %>
+<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
+<%@ page import="org.apache.axis2.context.ServiceContext" %>
+<%@ page import="org.apache.axis2.context.ServiceGroupContext" %>
+<%@ page import="org.apache.axis2.deployment.util.PhasesInfo" %>
+<%@ page import="org.apache.axis2.description.AxisModule" %>
+<%@ page import="org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.AxisServiceGroup" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.engine.AxisConfiguration" %>
+<%@ page import="org.apache.axis2.engine.Handler" %>
+<%@ page import="org.apache.axis2.engine.Phase" %>
+<%@ page import="org.apache.axis2.util.JavaUtils" %>
+<%@ page import="java.util.ArrayList" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.Enumeration" %>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Hashtable" %>
+<%@ page import="java.util.Iterator" %>
+<%--
+~ Licensed to the Apache Software Foundation (ASF) under one
+~ or more contributor license agreements. See the NOTICE file
+~ distributed with this work for additional information
+~ regarding copyright ownership. The ASF licenses this file
+~ to you under the Apache License, Version 2.0 (the
+~ "License"); you may not use this file except in compliance
+~ with the License. You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing,
+~ software distributed under the License is distributed on an
+~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~ KIND, either express or implied. See the License for the
+~ specific language governing permissions and limitations
+~ under the License.
+--%>
+<%@ page contentType="text/html;charset=iso-8859-1" language="java" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <jsp:include page="../include/httpbase.jsp"/>
+ <title>Axis2 :: Administration Page</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css"/>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+ </head>
+
+ <body>
+ <jsp:include page="header.inc"/>
+ <table class="FULL_BLANK">
+ <tr>
+ <td valign="top" width="20%">
+ <jsp:include page="../LeftFrame.jsp"/>
+ </td>
+ <td valign="top" align="left" width="80%">
+ <table width="100%">
+ <tr>
+ <td align="right" colspan="2"><a href="#" onclick="javascript:history.back();">Back</a> | <a
+ href="axis2-admin/logout">Log out</a></td>
+ </tr>
+ </table>
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+</td>
+</tr>
+<tr height="20px">
+ <td>
+ <table width="100%">
+ <tr><td>
+ <table width="950px">
+ <tr><td><hr size="1" noshade="" /></td></tr>
+ <tr>
+ <td align="center">Copyright © 1999-2006, The Apache Software Foundation<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</td>
+ </tr>
+ </table>
+ </td>
+ <td> </td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<table class="FULL_BLANK"><tr height="100%"><td valign="top">
+<table width="100%">
+<tr><td>
+<table width="950px">
+ <tr>
+ <td align="left"><img src="axis2-web/images/asf-logo.gif"/></td>
+ <td align="right"><img src="axis2-web/images/axis_l.jpg"/></td>
+ </tr>
+</table>
+</td>
+<td> </td></tr></table>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants" %>
+<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.transport.http.AxisServlet" %>
+<%@ page import="org.apache.axis2.transport.TransportListener" %>
+<%!
+ private String frontendHostUrl;
+ private String hostname;
+
+ public void jspInit() {
+ ServletContext context = this.getServletConfig().getServletContext();
+ ConfigurationContext configctx = (ConfigurationContext) context.getAttribute(AxisServlet.CONFIGURATION_CONTEXT);
+ if (configctx != null) {
+ Parameter parameter = configctx.getAxisConfiguration().getParameter(Constants.HTTP_FRONTEND_HOST_URL);
+ if (parameter != null) {
+ frontendHostUrl = (String) parameter.getValue();
+ }
+ Parameter hostnameParam = configctx.getAxisConfiguration().getParameter(TransportListener.HOST_ADDRESS);
+ if (hostnameParam != null) {
+ hostname = (String) hostnameParam.getValue();
+ }
+ }
+ }
+
+ public String calculateHttpBase(HttpServletRequest aRequest) {
+ StringBuffer stringBuffer = new StringBuffer();
+ if (frontendHostUrl != null) {
+ stringBuffer.append(frontendHostUrl);
+ } else {
+ String scheme = aRequest.getScheme();
+ stringBuffer.append(scheme);
+ stringBuffer.append("://");
+ stringBuffer.append(hostname != null ? hostname : aRequest.getServerName());
+ if (("http".equalsIgnoreCase(scheme) && aRequest.getServerPort() != 80) || "https".equalsIgnoreCase(scheme) && aRequest.getServerPort() != 443) {
+ stringBuffer.append(":");
+ stringBuffer.append(aRequest.getServerPort());
+ }
+ // I think i saw web containers return null for root web context
+ if (aRequest.getContextPath() != null) {
+ stringBuffer.append(aRequest.getContextPath());
+ }
+ }
+ // append / char if needed
+ if (stringBuffer.charAt(stringBuffer.length() - 1) != '/') {
+ stringBuffer.append("/");
+ }
+ String curentUrl = stringBuffer.toString();
+ aRequest.setAttribute("frontendHostUrl", curentUrl);
+ return curentUrl;
+ }
+%>
+<base href="<%= calculateHttpBase(request)%>"/>
\ No newline at end of file
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<table width="100%">
+ <tr>
+ <td align="center"><a href="index.jsp">Back Home</a></td>
+ </tr>
+</table>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.AxisFault" %>
+<%@ page import="org.apache.axis2.Constants" %>
+<%@ page import="org.apache.axis2.addressing.EndpointReference" %>
+<%@ page import="org.apache.axis2.client.Options" %>
+<%@ page import="org.apache.axis2.client.ServiceClient" %>
+<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
+<%@ page import="org.apache.axis2.context.ConfigurationContextFactory" %>
+<%@ page import="org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.engine.AxisConfiguration" %>
+<%@ page import="org.apache.axis2.util.JavaUtils" %>
+<%@ page import="javax.xml.parsers.SAXParser" %>
+<%@ page import="javax.xml.parsers.SAXParserFactory" %>
+<%@ page import="java.io.IOException" %>
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.io.StringWriter" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.Enumeration" %>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Hashtable" %>
+<%@ page import="java.util.Iterator" %>
+<%--
+~ Licensed to the Apache Software Foundation (ASF) under one
+~ or more contributor license agreements. See the NOTICE file
+~ distributed with this work for additional information
+~ regarding copyright ownership. The ASF licenses this file
+~ to you under the Apache License, Version 2.0 (the
+~ "License"); you may not use this file except in compliance
+~ with the License. You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing,
+~ software distributed under the License is distributed on an
+~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~ KIND, either express or implied. See the License for the
+~ specific language governing permissions and limitations
+~ under the License.
+--%>
+<table width="100%">
+ <tr><td>
+ <table width="950px">
+ <tr>
+ <td align="right"><a href="axis2-web/index.jsp">Back Home</a> | <a href="#" onclick="javascript:window.location.reload(true);return false;">Refresh</a></td>
+ </tr>
+ </table>
+ </td>
+ <td> </td></tr>
+</table>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+ <head>
+ <jsp:include page="include/httpbase.jsp"/>
+ <title>Axis 2 - Home</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css"/>
+ </head>
+
+ <body>
+ <jsp:include page="include/header.inc" />
+ <br/>
+
+ <h1>Welcome!</h1>
+ Welcome to the new generation of Axis. If you can see this page you have
+ successfully deployed the Axis2 Web Application. However, to ensure that Axis2
+ is properly working, we encourage you to click on the validate link.
+ <br/>
+ <ul>
+ <li><a href="services/listServices">Services</a>
+ <br/>
+ View the list of all the available services deployed in this server.
+ </li>
+ <li><a href="axis2-web/HappyAxis.jsp">Validate</a>
+ <br/>
+ Check the system to see whether all the required libraries are in place
+ and view the system information.
+ </li>
+ <%--<li><a href="interop.jsp">Do an interop test</a>
+ <br/>
+ You can run Interoperability tests here
+ </li>--%>
+ <li><a href="axis2-admin/">Administration</a>
+ <br/>
+ Console for administering this Axis2 installation.
+ </li>
+ </ul>
+ <jsp:include page="include/footer.inc"/>
+ </body>
+</html>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisOperation"%>
+<%@ page import="org.apache.axis2.description.AxisService"%>
+<%@ page import="java.util.Hashtable"%>
+<%@ page import="java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+ <head>
+ <jsp:include page="include/httpbase.jsp"/>
+ <title>List Single service</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css">
+ </head>
+ <body>
+ <jsp:include page="include/header.inc"></jsp:include>
+ <jsp:include page="include/link-footer.jsp"></jsp:include>
+ <%
+ String prifix = request.getAttribute("frontendHostUrl") + (String)request.getSession().getAttribute(Constants.SERVICE_PATH) +"services/";
+ %>
+ <%
+ String isFault = (String)request.getSession().getAttribute(Constants.IS_FAULTY);
+ String servicName = request.getParameter("serviceName");
+ if(Constants.IS_FAULTY.equals(isFault)){
+ Hashtable errornessservices =(Hashtable)request.getSession().getAttribute(Constants.ERROR_SERVICE_MAP);
+ %>
+ <h3>This Web axisService has deployment faults</h3><%
+ %><font color="red" ><%=(String)errornessservices.get(servicName) %></font>
+ <%
+
+ }else {
+
+ AxisService axisService =
+ (AxisService) request.getSession().getAttribute(Constants.SINGLE_SERVICE);
+ if(axisService!=null){
+ Iterator opItr = axisService.getOperations();
+ //operationsList = operations.values();
+ String serviceName = axisService.getName();
+ %><h2><font color="blue"><a href="<%=prifix + axisService.getName()%>?wsdl"><%=serviceName%></a></font></h2>
+ <font color="blue">Service EPR : </font><font color="black"><%=prifix + axisService.getName()%></font><br>
+ <h4>Service Description : <font color="black"><%=axisService.getServiceDescription()%></font></h4>
+ <i><font color="blue">Service Status : <%=axisService.isActive()?"Active":"InActive"%></font></i><br>
+ <%
+ if (opItr.hasNext()) {
+ %><i>Available operations</i><%
+ } else {
+ %><i> There are no Operations specified</i><%
+ }
+ opItr = axisService.getOperations();
+ %><ul><%
+ while (opItr.hasNext()) {
+ AxisOperation axisOperation = (AxisOperation) opItr.next();
+ %><li><%=axisOperation.getName().getLocalPart()%></li>
+ <%
+ }
+ %></ul>
+ <%
+ } else{
+ %>
+ <h3><font color="red" >No services found in this location.</font></h3>
+ <%
+ }
+
+ }
+ %>
+<jsp:include page="include/footer.inc"></jsp:include>
+ </body>
+</html>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants" %>
+<%@ page import="org.apache.axis2.description.AxisModule" %>
+<%@ page import="org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+<head>
+ <jsp:include page="include/httpbase.jsp"/>
+ <title>List Services</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css" />
+</head>
+
+<body>
+<jsp:include page="include/adminheader.jsp"/>
+<h1>Available services</h1>
+<%
+ String prefix = request.getAttribute("frontendHostUrl") + (String)request.getSession().getAttribute(Constants.SERVICE_PATH) +"/";
+%>
+<%
+ HashMap serviceMap = (HashMap) request.getSession().getAttribute(Constants.SERVICE_MAP);
+ request.getSession().setAttribute(Constants.SERVICE_MAP,null);
+ AxisService axisService = (AxisService) serviceMap.get(request.getParameter("serviceName"));
+ if (axisService != null) {
+ Iterator operations;
+ String serviceName;
+ operations = axisService.getOperations();
+ serviceName = axisService.getName();
+%><hr>
+
+<h2><font color="blue"><a href="<%=prefix + axisService.getName()%>?wsdl"><%=serviceName%></a>
+</font></h2>
+<font color="blue">Service EPR :</font><font color="black"><%=prefix + axisService.getName()%></font>
+<h4>Service Description : <font color="black"><%=axisService.getServiceDescription()%></font></h4>
+<i><font color="blue">Service Status : <%=axisService.isActive() ? "Active" : "InActive"%></font></i><br/>
+<%
+ Collection engagedModules = axisService.getEngagedModules();
+ String moduleName;
+ if (engagedModules.size() > 0) {
+%>
+<i>Engaged Modules for the Axis Service</i><ul>
+ <%
+ for (Iterator iteratorm = engagedModules.iterator(); iteratorm.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iteratorm.next();
+ moduleName = axisOperation.getName();
+ %><li><%=moduleName%></li>
+ <%
+ }%>
+</ul>
+<%
+ }
+ if (operations.hasNext()) {
+%><br><i>Available operations</i><%
+} else {
+%><i> There are no operations specified</i><%
+ }
+%><ul><%
+ operations = axisService.getOperations();
+ while (operations.hasNext()) {
+ AxisOperation axisOperation = (AxisOperation) operations.next();
+%><li><%=axisOperation.getName().getLocalPart()%></li>
+ <%
+ engagedModules = axisOperation.getEngagedModules();
+ if (engagedModules.size() > 0) {
+ %>
+ <br><i>Engaged Modules for the Operation</i><ul>
+ <%
+ for (Iterator iterator2 = engagedModules.iterator(); iterator2.hasNext();) {
+ AxisModule moduleDecription = (AxisModule) iterator2.next();
+ moduleName = moduleDecription.getName();
+ %><li><%=moduleName%></li><br><%
+ }
+%></ul><%
+ }
+
+ }
+%></ul>
+<%
+ }
+%>
+<jsp:include page="include/adminfooter.inc"/>
+</body>
+</html>
--- /dev/null
+ <%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%> <%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule,
+ java.util.Collection"%>
+ <%@ page import="java.util.Enumeration"%>
+ <%@ page import="java.util.HashMap"%>
+ <%@ page import="java.util.Hashtable"%>
+ <%@ page import="java.util.Iterator"%>
+ <%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+ <h1>Available Modules</h1>
+ <%
+ boolean foundModules = false;
+ boolean wroteUL = false;
+ HashMap moduleMap = (HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
+ request.getSession().setAttribute(Constants.MODULE_MAP,null);
+ Hashtable errornesModules =(Hashtable)request.getSession().getAttribute(Constants.ERROR_MODULE_MAP);
+ if (moduleMap!=null && !moduleMap.isEmpty()){
+ String modulename ;
+ String moduleDescription ;
+ Collection moduleNames = moduleMap.values();
+ for (Iterator iterator = moduleNames.iterator(); iterator.hasNext();) {
+ foundModules = true;
+ AxisModule moduleQName = (AxisModule) iterator.next();
+ modulename = moduleQName.getName();
+ moduleDescription = moduleQName.getModuleDescription();
+ if(moduleDescription==null){
+ moduleDescription = "[ -- No module description found --]";
+ }
+ if (!wroteUL){
+ wroteUL = true;
+%>
+ <ul>
+<%
+ }
+ %><li><b><%=modulename%></b> : <%=moduleDescription%></li>
+ <%
+ }
+ if (wroteUL){
+%>
+ </ul>
+<%
+ }
+ }
+ %>
+ <%if(errornesModules.size()>0){
+ %>
+ <h3><font color="red">Faulty Modules</font></h3>
+ <%
+ Enumeration faultyModules = errornesModules.keys();
+ while (faultyModules.hasMoreElements()) {
+ foundModules = true;
+ String faultyModuleName = (String) faultyModules.nextElement();
+ %><a href="errorModule.jsp?moduleName=<%=faultyModuleName%>">
+ <%=faultyModuleName%></a>
+ <%
+ }
+ }
+ if(! foundModules) {
+ %>
+ <h2><font color="blue">There are no modules deployed in the system.</font></h2>
+ <%
+ }
+ %>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisModule" %>
+<%@ page import="org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.engine.AxisConfiguration" %>
+<%@ page import="org.apache.axis2.util.JavaUtils" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.Enumeration" %>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Hashtable" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"/>
+
+<h1>Available Services</h1>
+<% String prefix = request.getAttribute("frontendHostUrl") + (String)request.getSession().getAttribute(Constants.SERVICE_PATH) + "/";
+%>
+<%
+ HashMap serviceMap = (HashMap) request.getSession().getAttribute(Constants.SERVICE_MAP);
+ request.getSession().setAttribute(Constants.SERVICE_MAP, null);
+ Hashtable errornessservice = (Hashtable) request.getSession().getAttribute(Constants.ERROR_SERVICE_MAP);
+ boolean status = false;
+ if (serviceMap != null && !serviceMap.isEmpty()) {
+ Iterator operations;
+ String serviceName;
+ Collection servicecol = serviceMap.values();
+ for (Iterator iterator = servicecol.iterator(); iterator.hasNext();) {
+ AxisService axisService = (AxisService) iterator.next();
+ operations = axisService.getOperations();
+ serviceName = axisService.getName();
+%><h2><font color="blue"><a href="<%=prefix + axisService.getName()%>?wsdl"><%=serviceName%></a></font></h2>
+<%
+ // do we need to enable REST in the main servlet so that it handles both REST and SOAP messages
+ boolean disableREST = false;
+ AxisConfiguration axisConfiguration = axisService.getAxisConfiguration();
+
+ Parameter parameter ;
+
+ // do we need to completely disable REST support
+ parameter = axisConfiguration.getParameter(Constants.Configuration.DISABLE_REST);
+ if (parameter != null) {
+ disableREST = !JavaUtils.isFalseExplicitly(parameter.getValue());
+ }
+ if (!disableREST) {
+%>
+
+<%
+%>
+<%
+ }
+
+
+ String serviceDescription = axisService.getServiceDescription();
+ if (serviceDescription == null || "".equals(serviceDescription)) {
+ serviceDescription = "No description available for this service";
+ }
+%>
+<p>Service Description : <%=serviceDescription%><br/>
+Service EPR : <%=prefix + axisService.getName()%><br/>
+Service Status : <%=axisService.isActive() ? "Active" : "InActive"%>
+Actions : <a href="axis2-admin/deleteService?serviceName=<%=serviceName%>">Remove Service</a></p><br>
+<%
+ Collection engagedModules = axisService.getEngagedModules();
+ String moduleName;
+ boolean modules_present = false;
+ if (engagedModules.size() > 0) {
+%>
+<i>Engaged modules for the service</i>
+<%
+ for (Iterator iteratorm = engagedModules.iterator(); iteratorm.hasNext();) {
+ AxisModule axisOperation = (AxisModule) iteratorm.next();
+ moduleName = axisOperation.getName();
+ if (!modules_present) {
+ modules_present = true;
+%>
+<ul>
+ <% }
+ %><li><%=moduleName%> :: <a href="axis2-admin/disengageModule?type=service&serviceName=<%=serviceName%>&module=<%=moduleName%>">Disengage</a></li>
+ <br>
+ <%
+ }
+ if (modules_present) {%>
+</ul>
+<%
+ }
+ }
+ if (operations.hasNext()) {
+%><br><i>Available operations</i><%
+} else {
+%><i> There are no Operations specified</i><%
+ }
+%><ul><%
+ operations = axisService.getOperations();
+ while (operations.hasNext()) {
+ AxisOperation axisOperation = (AxisOperation) operations.next();
+%><li><%=axisOperation.getName().getLocalPart()%></li>
+ <%-- <br>Operation EPR : <%=prifix + axisService.getName().getLocalPart() + "/"+ axisOperation.getName().getLocalPart()%>--%>
+ <%
+ engagedModules = axisOperation.getEngagedModules();
+ if (engagedModules.size() > 0) {
+ %>
+ <br><i>Engaged Modules for the Operation</i><ul>
+ <%
+ for (Iterator iterator2 = engagedModules.iterator(); iterator2.hasNext();) {
+ AxisModule moduleDecription = (AxisModule) iterator2.next();
+ moduleName = moduleDecription.getName();
+ %><li><%=moduleName%> :: <a href="axis2-admin/disengageModule?type=operation&serviceName=<%=serviceName%>&operation=<%=axisOperation.getName().getLocalPart()%>&module=<%=moduleName%>">Disengage</a></li><br><%
+ }
+%></ul><%
+ }
+
+ }
+%></ul>
+<%
+ status = true;
+ }
+ }
+ if (errornessservice != null) {
+ if (errornessservice.size() > 0) {
+ request.getSession().setAttribute(Constants.IS_FAULTY, Constants.IS_FAULTY);
+%>
+<h3><font color="red">Faulty Services</font></h3>
+<%
+ Enumeration faultyservices = errornessservice.keys();
+ while (faultyservices.hasMoreElements()) {
+ String faultyserviceName = (String) faultyservices.nextElement();
+%><h3><font color="blue"><a href="services/ListFaultyServices?serviceName=<%=faultyserviceName%>">
+ <%=faultyserviceName%></a></font></h3>
+<%
+ }
+ }
+ status = true;
+ }
+ if (!status) {
+%> No services listed! Try hitting refresh. <%
+ }
+%>
+<jsp:include page="include/adminfooter.inc" />
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.engine.AxisConfiguration" %>
+<%@ page import="org.apache.axis2.util.JavaUtils" %>
+<%@ page import="java.util.Collection" %>
+<%@ page import="java.util.Enumeration" %>
+<%@ page import="java.util.HashMap" %>
+<%@ page import="java.util.Hashtable" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+<jsp:include page="include/httpbase.jsp"/>
+<head><title>List Services</title>
+ <link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css"/>
+</head>
+
+<body>
+<jsp:include page="include/header.inc" />
+<jsp:include page="include/link-footer.jsp" />
+<h1>Available services</h1>
+<% String prefix = request.getAttribute("frontendHostUrl") + (String)request.getSession().getAttribute(Constants.SERVICE_PATH) + "/";
+%>
+<%
+ HashMap serviceMap = (HashMap) request.getSession().getAttribute(Constants.SERVICE_MAP);
+ request.getSession().setAttribute(Constants.SERVICE_MAP, null);
+ Hashtable errornessservice = (Hashtable) request.getSession().getAttribute(Constants.ERROR_SERVICE_MAP);
+ boolean status = false;
+ if (serviceMap != null && !serviceMap.isEmpty()) {
+ Iterator opItr;
+ //HashMap operations;
+ String serviceName;
+ Collection servicecol = serviceMap.values();
+ // Collection operationsList;
+ for (Iterator iterator = servicecol.iterator(); iterator.hasNext();) {
+ AxisService axisService = (AxisService) iterator.next();
+ opItr = axisService.getOperations();
+ //operationsList = operations.values();
+ serviceName = axisService.getName();
+%><h2><font color="blue"><a href="<%=prefix + axisService.getName()%>?wsdl"><%=serviceName%></a></font></h2>
+<%
+ boolean disableREST = false;
+ AxisConfiguration axisConfiguration = axisService.getAxisConfiguration();
+
+ Parameter parameter ;
+
+ // do we need to completely disable REST support
+ parameter = axisConfiguration.getParameter(Constants.Configuration.DISABLE_REST);
+ if (parameter != null) {
+ disableREST = !JavaUtils.isFalseExplicitly(parameter.getValue());
+ }
+
+ if (!disableREST ) {
+
+%>
+<%
+ }
+
+
+ String serviceDescription = axisService.getServiceDescription();
+ if (serviceDescription == null || "".equals(serviceDescription)) {
+ serviceDescription = "No description available for this service";
+ }
+%>
+<h5>Service Description : <font color="black"><%=serviceDescription%></font></h5>
+<h5>Service EPR : <%=prefix + axisService.getName()%></h5>
+<h5>Service Status : <%=axisService.isActive() ? "Active" : "InActive"%></h5><br>
+<%
+ if (opItr.hasNext()) {
+%><i>Available Operations</i><%
+} else {
+%><i> There are no Operations specified</i><%
+ }
+ opItr = axisService.getOperations();
+%><ul><%
+ while (opItr.hasNext()) {
+ AxisOperation axisOperation = (AxisOperation) opItr.next();
+%><li><%=axisOperation.getName().getLocalPart()%></li>
+ <%-- <br>Operation EPR : <%=prifix + axisService.getName().getLocalPart() + "/"+ axisOperation.getName().getLocalPart()%>--%>
+ <%
+ }
+ %></ul>
+<%
+ status = true;
+ }
+ }
+ if (errornessservice != null) {
+ if (errornessservice.size() > 0) {
+ request.getSession().setAttribute(Constants.IS_FAULTY, Constants.IS_FAULTY);
+%>
+<hr>
+
+<h3><font color="blue">Faulty Services</font></h3>
+<%
+ Enumeration faultyservices = errornessservice.keys();
+ while (faultyservices.hasMoreElements()) {
+ String faultyserviceName = (String) faultyservices.nextElement();
+%><h3><font color="blue"><a href="services/ListFaultyServices?serviceName=<%=faultyserviceName%>">
+ <%=faultyserviceName%></a></font></h3>
+<%
+ }
+ }
+ status = true;
+ }
+ if (!status) {
+%> No services listed! Try hitting refresh. <%
+ }
+%>
+<jsp:include page="include/footer.inc" />
+</body>
+</html>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.description.AxisOperation" %>
+<%@ page import="org.apache.axis2.description.AxisService" %>
+<%@ page import="org.apache.axis2.description.Parameter" %>
+<%@ page import="org.apache.axis2.engine.AxisConfiguration" %>
+<%@ page import="org.apache.axis2.util.JavaUtils" %>
+<%@ page import="java.util.Hashtable" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"/>
+<h1>List Single Service</h1>
+<%
+ String prefix = request.getAttribute("frontendHostUrl") + (String)request.getSession().getAttribute(Constants.SERVICE_PATH) + "/";
+%>
+<%
+ String isFault = (String) request.getSession().getAttribute(Constants.IS_FAULTY);
+ String servicName = request.getParameter("serviceName");
+ if (Constants.IS_FAULTY.equals(isFault)) {
+ Hashtable errornessservices = (Hashtable) request.getSession().getAttribute(Constants.ERROR_SERVICE_MAP);
+%>
+<h3>This Axis service has deployment faults.</h3><%
+%><font color="red"><%=(String) errornessservices.get(servicName) %></font>
+<%
+
+} else {
+
+ AxisService axisService =
+ (AxisService) request.getSession().getAttribute(Constants.SINGLE_SERVICE);
+ if (axisService != null) {
+ Iterator opItr = axisService.getOperations();
+ //operationsList = operations.values();
+ String serviceName = axisService.getName();
+%><h2><font color="blue"><a href="<%=prefix + axisService.getName()%>?wsdl"><%=serviceName%></a></font></h2>
+<font color="blue">Service EPR : </font><font color="black"><%=prefix + axisService.getName()%></font><br>
+<%
+ boolean disableREST = false;
+ AxisConfiguration axisConfiguration = axisService.getAxisConfiguration();
+
+ Parameter parameter;
+
+ // do we need to completely disable REST support
+ parameter = axisConfiguration.getParameter(Constants.Configuration.DISABLE_REST);
+ if (parameter != null) {
+ disableREST = !JavaUtils.isFalseExplicitly(parameter.getValue());
+ }
+ if (!disableREST ) {
+%>
+<%
+ }
+
+
+ String serviceDescription = axisService.getServiceDescription();
+ if (serviceDescription == null || "".equals(serviceDescription)) {
+ serviceDescription = "No description available for this service";
+ }
+%>
+<h4>Service Description : <font color="black"><%=serviceDescription%></font></h4>
+
+<i><font color="blue">Service Status : <%=axisService.isActive() ? "Active" : "InActive"%></font></i><br>
+<%
+ if (opItr.hasNext()) {
+%><i>Available operations</i><%
+} else {
+%><i> There are no Operations specified</i><%
+ }
+ opItr = axisService.getOperations();
+%><ul><%
+ while (opItr.hasNext()) {
+ AxisOperation axisOperation = (AxisOperation) opItr.next();
+%><li><%=axisOperation.getName().getLocalPart()%></li>
+ <%-- <br>Operation EPR : <%=prifix + axisService.getName().getLocalPart() + "/"+ axisOperation.getName().getLocalPart()%>--%>
+ <%
+ }
+ %></ul>
+<%
+} else {
+%>
+<h3><font color="red">No services found in this location</font></h3>
+<%
+ }
+
+ }
+%>
+<jsp:include page="include/adminfooter.inc"/>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+<jsp:include page="include/adminheader.jsp"/>
+<script type="text/javascript">
+<!--
+ function checkFileUpload(){
+ if (document.getElementById('serviceUpload').value == '') {
+ alert('Please select a file before clicking the upload button.');
+ return false;
+ } else {
+ document.Axis2upload.submit();
+ }
+ }
+//-->
+</script>
+<h1>Upload an Axis Service Archive File</h1>
+
+<p>You can upload a packaged Axis2 service from this page in two small steps.</p>
+<ul>
+ <li>Browse to the location and select the axis service archive file you wish to upload</li>
+ <li>Click "Upload" button</li>
+</ul>
+<p>Simple as that!</p>
+
+<% if ("success".equals(request.getAttribute("status"))) { %>
+<font color="green">File <%= request.getAttribute("filename") %> successfully uploaded </font><br/><br/>
+<%
+} else if ("failure".equals(request.getAttribute("status"))) {
+%>
+<font color="red">The following error occurred <br/> <%= request.getAttribute("cause") %></font><br/>
+<% } %>
+
+<form method="post" name="Axis2upload" id="Axis2upload" action="axis2-admin/upload"
+ enctype="multipart/form-data">
+ <table>
+ <tr>
+ <td>Service archive : </td>
+ <td><input id="serviceUpload" type="file" name="filename" size="50"/></td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td><input name="upload" type="button" onclick="javascript:checkFileUpload();" value=" Upload "/></td>
+ </tr>
+ </table>
+</form>
+<blockquote>
+<p>Hot deployment of new service archives is <%=request.getAttribute("hotDeployment") %></p>
+<p>Hot update of existing service archives is <%=request.getAttribute("hotUpdate") %></p>
+</blockquote>
+<jsp:include page="include/adminfooter.inc"/>
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.context.ServiceContext" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"/>
+<h1>Running Context Hierarchy</h1>
+<%
+ ServiceContext serviceContext = (ServiceContext) request.getSession().getAttribute("ServiceContext");
+ String type = (String) request.getSession().getAttribute("TYPE");
+ if (serviceContext != null) {
+ if (type != null) {
+ if ("VIEW".equals(type)) {
+ Iterator propertyNames = serviceContext.getPropertyNames();
+%>
+<h4>Persistance Properties</h4><ul>
+ <%
+ while (propertyNames.hasNext()) {
+ String key = (String) propertyNames.next();
+ Object property = serviceContext.getProperty(key);
+ %>
+ <li><%=key%> : <%=property.toString()%></li>
+ <%
+ }
+ %></ul>
+<%
+ }
+} else {
+%> <h4>No Service Context Found</h4><%
+ }
+ }
+%>
+<jsp:include page="include/adminfooter.inc"/>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+
+<%@ page import="org.apache.axis2.context.ConfigurationContext"%>
+<%@ page import="org.apache.axis2.context.ServiceGroupContext"%>
+<%@ page import="java.util.Iterator"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Runing Context hierachy</h1>
+<%
+ String type = (String) request.getSession().getAttribute("TYPE");
+ ConfigurationContext configCtx = (ConfigurationContext) request.getSession().getAttribute("ConfigurationContext");
+ ServiceGroupContext sgContext = (ServiceGroupContext) request.getSession().getAttribute("ServiceGroupContext");
+ if (sgContext != null) {
+ if (type != null) {
+ if ("VIEW".equals(type)) {
+ Iterator propertyNames = sgContext.getPropertyNames();
+%>
+ <h4>Persistance properties</h4><ul>
+ <%
+ while (propertyNames.hasNext()) {
+ String key = (String) propertyNames.next();
+ Object property = sgContext.getProperty(key);
+ %>
+ <li><%=key%> : <%=property.toString()%></li>
+ <%
+ }
+ %></ul>
+ <%
+ } else if("DELETE".equals(type)){
+ configCtx.removeServiceGroupContext(sgContext.getId());
+ %>Removed the context<%
+ }
+ }
+ } else {
+%> <h4>No service group context found</h4><%
+ }
+%>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
\ No newline at end of file
--- /dev/null
+ <%--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%> <%@ page import="org.apache.axis2.Constants,
+ org.apache.axis2.deployment.util.PhasesInfo,
+ org.apache.axis2.engine.Phase"%>
+ <%@ page import="java.util.List"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Available Phases</h1>
+ <%
+ PhasesInfo phases = (PhasesInfo)request.getSession().getAttribute(Constants.PHASE_LIST);
+ request.getSession().setAttribute(Constants.PHASE_LIST,null);
+ List tempList = phases.getGlobalInflow();
+ %><h2><font color="blue">System Pre-defined Phases</font></h2>
+ <b>InFlow Up to Dispatcher</b>
+ <blockquote>
+ <%
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <b>InFaultFlow </b>
+ <blockquote>
+ <%
+ tempList = phases.getGlobalInFaultPhases();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <b>OutFlow </b>
+ <blockquote>
+ <%
+ tempList = phases.getGlobalOutPhaseList();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <b>OutFaultFlow </b>
+ <blockquote>
+ <%
+ tempList = phases.getOUT_FaultPhases();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <br>
+ <h2><font color="blue">User Defined Phases</font></h2>
+ <b>Inflow after Dispatcher</b>
+ <blockquote>
+ <%
+ tempList = phases.getOperationInPhases();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <b>InFaultFlow after Dispatcher</b>
+ <blockquote>
+ <%
+ tempList = phases.getOperationInFaultPhases();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <b>OutFlow </b>
+ <blockquote>
+ <%
+ tempList = phases.getOperationOutPhases();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+ <b>OutFaultFlow </b>
+ <blockquote>
+ <%
+ tempList = phases.getOperationOutFaultPhases();
+ for (int i = 0; i < tempList.size(); i++) {
+ Phase phase = (Phase) tempList.get(i);
+ %><%=phase.getPhaseName()%><br><%
+ }
+ %>
+ </blockquote>
+<jsp:include page="include/adminfooter.inc"></jsp:include>
--- /dev/null
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<axisconfig name="AxisJava2.0">
+ <!-- ================================================= -->
+ <!-- Parameters -->
+ <!-- ================================================= -->
+ <parameter name="hotdeployment">true</parameter>
+ <parameter name="hotupdate">false</parameter>
+ <parameter name="enableMTOM">false</parameter>
+ <parameter name="enableSwA">false</parameter>
+
+ <!--Uncomment if you want to enable file caching for attachments -->
+ <!--parameter name="cacheAttachments">true</parameter>
+ <parameter name="attachmentDIR"></parameter>
+ <parameter name="sizeThreshold">4000</parameter-->
+
+ <parameter name="EnableChildFirstClassLoading">false</parameter>
+
+ <!--
+ The exposeServiceMetadata parameter decides whether the metadata (WSDL, schema, policy) of
+ the services deployed on Axis2 should be visible when ?wsdl, ?wsdl2, ?xsd, ?policy requests
+ are received.
+ This parameter can be defined in the axi2.xml file, in which case this will be applicable
+ globally, or in the services.xml files, in which case, it will be applicable to the
+ Service groups and/or services, depending on the level at which the parameter is declared.
+ This value of this parameter defaults to true.
+ -->
+ <parameter name="exposeServiceMetadata">true</parameter>
+
+ <!--Uncomment if you want to plugin your own attachments lifecycle implementation -->
+ <!--<attachmentsLifecycleManager class="org.apache.axiom.attachments.lifecycle.impl.LifecycleManagerImpl"/>-->
+
+
+ <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
+ <!--In some server environments, the available memory heap is limited and can fill up under load -->
+ <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
+ <!--to reduce the memory needed for the cached WSDL definitions. -->
+ <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
+
+ <!--This will give out the timout of the configuration contexts, in milliseconds-->
+ <parameter name="ConfigContextTimeoutInterval">30000</parameter>
+
+ <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
+ <!--that behavior.-->
+ <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
+
+ <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
+ <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
+ <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
+ <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
+ <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
+
+ <parameter name="userName">admin</parameter>
+ <parameter name="password">axis2</parameter>
+
+ <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+ <!--ServicesDirectory only works on the following cases-->
+ <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
+ <!---When creating URL Based configurator with URL file:// -->
+ <!--- War based configurator with expanded case , -->
+
+ <!--All the other scenarios it will be ignored.-->
+ <!--<parameter name="ServicesDirectory">service</parameter>-->
+ <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
+ <!--<parameter name="ModulesDirectory">modules</parameter>-->
+
+
+ <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
+ <!--root which can configured using the following contextRoot parameter-->
+ <!--<parameter name="contextRoot">axis2</parameter>-->
+
+ <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
+ <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
+ <!--context path to proper Axis2 servlets-->
+ <!--<parameter name="servicePath">services</parameter>-->
+ <!--<parameter name="restPath">rest</parameter>-->
+
+ <!-- Following parameter will completely disable REST handling in Axis2-->
+ <parameter name="disableREST" locked="false">false</parameter>
+
+ <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
+ <parameter name="disableSOAP12" locked="true">false</parameter>
+
+ <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
+ <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
+ <deployer extension=".jar" directory="servicejars"
+ class="org.apache.axis2.jaxws.framework.JAXWSDeployer"/>
+ <deployer extension=".jar" directory="transports"
+ class="org.apache.axis2.deployment.TransportDeployer"/>
+
+ <!--CORBA deployer , this will alow users to invoke remote CORBA services through Axis2-->
+ <!--<deployer extension=".xml" directory="corba" class="org.apache.axis2.corba.deployer.CorbaDeployer"/>-->
+
+ <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
+
+
+ <!-- Following parameter will set the host name for the epr-->
+ <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
+
+ <!-- If you have a front end host which exposes this webservice using a different public URL -->
+ <!-- use this parameter to override autodetected url -->
+ <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
+
+ <!--By default, JAXWS services are created by reading annotations. WSDL and schema are generated-->
+ <!--using a separate WSDL generator only when ?wsdl is called. Therefore, even if you engage-->
+ <!--policies etc.. to AxisService, it doesn't appear in the WSDL. By setting the following property-->
+ <!--to true, you can create the AxisService using the generated WSDL and remove the need for a-->
+ <!--WSDL generator. When ?wsdl is called, WSDL is generated in the normal way.-->
+ <parameter name="useGeneratedWSDLinJAXWS">false</parameter>
+
+ <!-- The way of adding listener to the system-->
+ <!-- <listener class="org.apache.axis2.ObserverIMPL">-->
+ <!-- <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
+ <!-- </listener>-->
+
+ <threadContextMigrators>
+ <threadContextMigrator listId="JAXWS-ThreadContextMigrator-List"
+ class="org.apache.axis2.jaxws.addressing.migrator.EndpointContextMapMigrator"/>
+ </threadContextMigrators>
+
+ <!-- ================================================= -->
+ <!-- Message Receivers -->
+ <!-- ================================================= -->
+ <!--This is the default MessageReceiver for the system , if you want to have MessageReceivers for -->
+ <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
+ <!--any operation -->
+ <!--Note : You can override this for a particular service by adding the same element with your requirement-->
+ <messageReceivers>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+ class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+ class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
+ class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
+ class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
+ class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
+ class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </messageReceivers>
+
+ <!-- ================================================= -->
+ <!-- Message Formatter -->
+ <!-- ================================================= -->
+ <!--Following content type to message formatter mapping can be used to implement support for different message -->
+ <!--format serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
+ <messageFormatters>
+ <messageFormatter contentType="application/x-www-form-urlencoded"
+ class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
+ <messageFormatter contentType="multipart/form-data"
+ class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
+ <messageFormatter contentType="application/xml"
+ class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
+ <messageFormatter contentType="text/xml"
+ class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
+ <messageFormatter contentType="application/soap+xml"
+ class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
+ </messageFormatters>
+
+ <!-- ================================================= -->
+ <!-- Message Builders -->
+ <!-- ================================================= -->
+ <!--Following content type to builder mapping can be used to implement support for different message -->
+ <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
+ <messageBuilders>
+ <messageBuilder contentType="application/xml"
+ class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
+ <messageBuilder contentType="application/x-www-form-urlencoded"
+ class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
+ <messageBuilder contentType="multipart/form-data"
+ class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
+ </messageBuilders>
+
+ <!-- ================================================= -->
+ <!-- Transport Ins -->
+ <!-- ================================================= -->
+
+ <!-- The default configuration assumes that AxisServlet only receives requests
+ through HTTP. To allow HTTPS as well, configure a second AxisServletListener
+ with name="https" and specify the port parameter on both receivers.
+ For more information, please have a look at the servlet transport documentation:
+ http://axis.apache.org/axis2/java/core/docs/servlet-transport.html -->
+ <transportReceiver name="http"
+ class="org.apache.axis2.transport.http.AxisServletListener"/>
+
+ <!--Uncomment if you want to have TCP transport support-->
+ <!--transportReceiver name="tcp"
+ class="org.apache.axis2.transport.tcp.TCPServer">
+ <parameter name="port">6060</parameter-->>
+ <!--If you want to give your own host address for EPR generation-->
+ <!--uncomment the following paramter , and set it as you required.-->
+ <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
+ <!-- /transportReceiver -->
+
+ <!-- ================================================= -->
+ <!-- Transport Outs -->
+ <!-- ================================================= -->
+
+ <!--Uncomment if you want to have TCP transport support-->
+ <!--
+ <transportSender name="tcp"
+ class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+ -->
+ <transportSender name="local"
+ class="org.apache.axis2.transport.local.LocalTransportSender"/>
+ <transportSender name="http"
+ class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+ <parameter name="PROTOCOL">HTTP/1.1</parameter>
+ <parameter name="Transfer-Encoding">chunked</parameter>
+
+ <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
+ <!-- <parameter name="OmitSOAP12Action">true</parameter> -->
+ </transportSender>
+
+ <transportSender name="https"
+ class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+ <parameter name="PROTOCOL">HTTP/1.1</parameter>
+ <parameter name="Transfer-Encoding">chunked</parameter>
+ </transportSender>
+
+ <!-- Please enable this if you need the java transport -->
+ <!-- <transportSender name="java"
+ class="org.apache.axis2.transport.java.JavaTransportSender"/> -->
+
+ <!-- ================================================= -->
+ <!-- Global Modules -->
+ <!-- ================================================= -->
+ <!-- Comment this to disable Addressing -->
+ <module ref="addressing"/>
+
+ <!--Configuring module , providing parameters for modules whether they refer or not-->
+ <!--<moduleConfig name="addressing">-->
+ <!--<parameter name="addressingPara">N/A</parameter>-->
+ <!--</moduleConfig>-->
+
+ <!-- ================================================= -->
+ <!-- Clustering -->
+ <!-- ================================================= -->
+ <!--
+ To enable clustering for this node, set the value of "enable" attribute of the "clustering"
+ element to "true". The initialization of a node in the cluster is handled by the class
+ corresponding to the "class" attribute of the "clustering" element. It is also responsible for
+ getting this node to join the cluster.
+ -->
+ <clustering class="org.apache.axis2.clustering.tribes.TribesClusteringAgent" enable="false">
+
+ <!--
+ This parameter indicates whether the cluster has to be automatically initalized
+ when the AxisConfiguration is built. If set to "true" the initialization will not be
+ done at that stage, and some other party will have to explictly initialize the cluster.
+ -->
+ <parameter name="AvoidInitiation">true</parameter>
+
+ <!--
+ The membership scheme used in this setup. The only values supported at the moment are
+ "multicast" and "wka"
+
+ 1. multicast - membership is automatically discovered using multicasting
+ 2. wka - Well-Known Address based multicasting. Membership is discovered with the help
+ of one or more nodes running at a Well-Known Address. New members joining a
+ cluster will first connect to a well-known node, register with the well-known node
+ and get the membership list from it. When new members join, one of the well-known
+ nodes will notify the others in the group. When a member leaves the cluster or
+ is deemed to have left the cluster, it will be detected by the Group Membership
+ Service (GMS) using a TCP ping mechanism.
+ -->
+ <parameter name="membershipScheme">multicast</parameter>
+
+ <!--
+ The clustering domain/group. Nodes in the same group will belong to the same multicast
+ domain. There will not be interference between nodes in different groups.
+ -->
+ <parameter name="domain">wso2.carbon.domain</parameter>
+
+ <!--
+ When a Web service request is received, and processed, before the response is sent to the
+ client, should we update the states of all members in the cluster? If the value of
+ this parameter is set to "true", the response to the client will be sent only after
+ all the members have been updated. Obviously, this can be time consuming. In some cases,
+ such this overhead may not be acceptable, in which case the value of this parameter
+ should be set to "false"
+ -->
+ <parameter name="synchronizeAll">true</parameter>
+
+ <!--
+ The maximum number of times we need to retry to send a message to a particular node
+ before giving up and considering that node to be faulty
+ -->
+ <parameter name="maxRetries">10</parameter>
+
+ <!-- The multicast address to be used -->
+ <parameter name="mcastAddress">228.0.0.4</parameter>
+
+ <!-- The multicast port to be used -->
+ <parameter name="mcastPort">45564</parameter>
+
+ <!-- The frequency of sending membership multicast messages (in ms) -->
+ <parameter name="mcastFrequency">500</parameter>
+
+ <!-- The time interval within which if a member does not respond, the member will be
+ deemed to have left the group (in ms)
+ -->
+ <parameter name="memberDropTime">3000</parameter>
+
+ <!--
+ The IP address of the network interface to which the multicasting has to be bound to.
+ Multicasting would be done using this interface.
+ -->
+ <parameter name="mcastBindAddress">127.0.0.1</parameter>
+
+ <!-- The host name or IP address of this member -->
+ <parameter name="localMemberHost">127.0.0.1</parameter>
+
+ <!--
+ The TCP port used by this member. This is the port through which other nodes will
+ contact this member
+ -->
+ <parameter name="localMemberPort">4000</parameter>
+
+ <!--
+ Preserve message ordering. This will be done according to sender order.
+ -->
+ <parameter name="preserveMessageOrder">true</parameter>
+
+ <!--
+ Maintain atmost-once message processing semantics
+ -->
+ <parameter name="atmostOnceMessageSemantics">true</parameter>
+
+ <!--
+ Properties specific to this member
+ -->
+ <parameter name="properties">
+ <property name="backendServerURL" value="https://${hostName}:${httpsPort}/services/"/>
+ <property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
+ </parameter>
+
+ <!--
+ The list of static or well-known members. These entries will only be valid if the
+ "membershipScheme" above is set to "wka"
+ -->
+ <members>
+ <member>
+ <hostName>127.0.0.1</hostName>
+ <port>4000</port>
+ </member>
+ <member>
+ <hostName>127.0.0.1</hostName>
+ <port>4001</port>
+ </member>
+ </members>
+
+ <!--
+ Enable the groupManagement entry if you need to run this node as a cluster manager.
+ Multiple application domains with different GroupManagementAgent implementations
+ can be defined in this section.
+ -->
+ <groupManagement enable="false">
+ <applicationDomain name="apache.axis2.application.domain"
+ description="Axis2 group"
+ agent="org.apache.axis2.clustering.management.DefaultGroupManagementAgent"/>
+ </groupManagement>
+
+ <!--
+ This interface is responsible for handling management of a specific node in the cluster
+ The "enable" attribute indicates whether Node management has been enabled
+ -->
+ <nodeManager class="org.apache.axis2.clustering.management.DefaultNodeManager"
+ enable="true"/>
+
+ <!--
+ This interface is responsible for handling state replication. The property changes in
+ the Axis2 context hierarchy in this node, are propagated to all other nodes in the cluster.
+
+ The "excludes" patterns can be used to specify the prefixes (e.g. local_*) or
+ suffixes (e.g. *_local) of the properties to be excluded from replication. The pattern
+ "*" indicates that all properties in a particular context should not be replicated.
+
+ The "enable" attribute indicates whether context replication has been enabled
+ -->
+ <stateManager class="org.apache.axis2.clustering.state.DefaultStateManager"
+ enable="true">
+ <replication>
+ <defaults>
+ <exclude name="local_*"/>
+ <exclude name="LOCAL_*"/>
+ </defaults>
+ <context class="org.apache.axis2.context.ConfigurationContext">
+ <exclude name="local_*"/>
+ </context>
+ <context class="org.apache.axis2.context.ServiceGroupContext">
+ <exclude name="local_*"/>
+ </context>
+ <context class="org.apache.axis2.context.ServiceContext">
+ <exclude name="local_*"/>
+ </context>
+ </replication>
+ </stateManager>
+ </clustering>
+
+ <!-- ================================================= -->
+ <!-- Phases -->
+ <!-- ================================================= -->
+ <phaseOrder type="InFlow">
+ <!-- System predefined phases -->
+ <phase name="Transport">
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
+ <order phase="Transport"/>
+ </handler>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
+ <order phase="Transport"/>
+ </handler>
+ </phase>
+ <phase name="Addressing">
+ <handler name="AddressingBasedDispatcher"
+ class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+ <order phase="Addressing"/>
+ </handler>
+ </phase>
+ <phase name="Security"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+ <handler name="RequestURIOperationDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+ <handler name="HTTPLocationBasedDispatcher"
+ class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+ <handler name="GenericProviderDispatcher"
+ class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/>
+ <handler name="MustUnderstandValidationDispatcher"
+ class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/>
+ </phase>
+ <phase name="RMPhase"/>
+ <!-- System predefined phases -->
+ <!-- After Postdispatch phase module author or service author can add any phase he want -->
+ <phase name="OperationInPhase">
+ <handler name="MustUnderstandChecker"
+ class="org.apache.axis2.jaxws.dispatchers.MustUnderstandChecker">
+ <order phase="OperationInPhase"/>
+ </handler>
+ </phase>
+ <phase name="soapmonitorPhase"/>
+ </phaseOrder>
+ <phaseOrder type="OutFlow">
+ <!-- user can add his own phases to this area -->
+ <phase name="soapmonitorPhase"/>
+ <phase name="OperationOutPhase"/>
+ <!--system predefined phase-->
+ <!--these phase will run irrespective of the service-->
+ <phase name="RMPhase"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ <phase name="Security"/>
+ </phaseOrder>
+ <phaseOrder type="InFaultFlow">
+ <phase name="Addressing">
+ <handler name="AddressingBasedDispatcher"
+ class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+ <order phase="Addressing"/>
+ </handler>
+ </phase>
+ <phase name="Security"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+ <handler name="RequestURIOperationDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+ <handler name="HTTPLocationBasedDispatcher"
+ class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+ <handler name="GenericProviderDispatcher"
+ class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/>
+ <handler name="MustUnderstandValidationDispatcher"
+ class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/>
+ </phase>
+ <phase name="RMPhase"/>
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationInFaultPhase"/>
+ <phase name="soapmonitorPhase"/>
+ </phaseOrder>
+ <phaseOrder type="OutFaultFlow">
+ <!-- user can add his own phases to this area -->
+ <phase name="soapmonitorPhase"/>
+ <phase name="OperationOutFaultPhase"/>
+ <phase name="RMPhase"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ <phase name="Security"/>
+ </phaseOrder>
+</axisconfig>
+
--- /dev/null
+mtompolicy-1.6.2.mar
+ping-1.6.2.mar
+mex-1.6.2.mar
+scripting-1.6.2.mar
+addressing-1.6.2.mar
+axis2-jaxws-mar-1.6.2.mar
+soapmonitor-1.6.2.mar
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="server" targetNamespace="urn:server" xmlns:typens="urn:server" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+ <message name="wsGetMessageResponse">
+ <part name="wsGetMessageReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGetCompteurResponse">
+ <part name="wsGetCompteurReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsDepotResponse">
+ <part name="wsDepotReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsElimination">
+ <part name="nomBordereau" type="xsd:string">
+ </part>
+ <part name="bordereau" type="xsd:base64Binary">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGSeda">
+ <part name="params" type="xsd:array">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGetDuaExpireesResponse">
+ <part name="wsGetDuaExpireesReturn" type="xsd:string[][]">
+ </part>
+ </message>
+ <message name="wsGetVersionResponse">
+ <part name="wsGetVersionReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGetCompteur">
+ <part name="id" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsDepot">
+ <part name="nomBordereau" type="xsd:string">
+ </part>
+ <part name="bordereau" type="xsd:base64Binary">
+ </part>
+ <part name="nomDocument" type="xsd:string">
+ </part>
+ <part name="document" type="xsd:base64Binary">
+ </part>
+ <part name="typeDocument" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsMessageValidationStateResponse">
+ <part name="wsMessageValidationStateReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGetMessage">
+ <part name="typeEchange" type="xsd:string">
+ </part>
+ <part name="typeMessage" type="xsd:string">
+ </part>
+ <part name="identifiantMessage" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsModificationNotification">
+ <part name="nomBordereau" type="xsd:string">
+ </part>
+ <part name="bordereau" type="xsd:base64Binary">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGSedaResponse">
+ <part name="wsGSedaReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsModificationNotificationResponse">
+ <part name="wsModificationNotificationReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsRestitutionResponse">
+ <part name="wsRestitutionReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsCreateMessageValidationResponse">
+ <part name="wsCreateMessageValidationReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsCompleterBordereauResponse">
+ <part name="wsCompleterBordereauReturn" type="xsd:base64Binary">
+ </part>
+ </message>
+ <message name="wsCreateMessageValidation">
+ <part name="archiveDestructionId" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsCompleterBordereau">
+ <part name="bordereau" type="xsd:base64Binary">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsFichiersVolumineux">
+ <part name="nomBordereau" type="xsd:string">
+ </part>
+ <part name="rep" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsEliminationResponse">
+ <part name="wsEliminationReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsRestitution">
+ <part name="nomBordereau" type="xsd:string">
+ </part>
+ <part name="bordereau" type="xsd:base64Binary">
+ </part>
+ <part name="nomDocument" type="xsd:string">
+ </part>
+ <part name="document" type="xsd:base64Binary">
+ </part>
+ <part name="typeDocument" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsFichiersVolumineuxResponse">
+ <part name="wsFichiersVolumineuxReturn" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGetDuaExpirees">
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsGetVersion">
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <message name="wsMessageValidationState">
+ <part name="archiveDestructionId" type="xsd:string">
+ </part>
+ <part name="login" type="xsd:string">
+ </part>
+ <part name="password" type="xsd:string">
+ </part>
+ </message>
+ <portType name="WebServicePortType">
+ <operation name="wsDepot">
+<documentation>
+ Dépose une archive et son bordereau de transfert dans AS@LAE
+ </documentation>
+ <input message="typens:wsDepot">
+ </input>
+ <output message="typens:wsDepotResponse">
+ </output>
+ </operation>
+ <operation name="wsRestitution">
+<documentation>
+ Permet de faire une demande de restitution
+ </documentation>
+ <input message="typens:wsRestitution">
+ </input>
+ <output message="typens:wsRestitutionResponse">
+ </output>
+ </operation>
+ <operation name="wsGetCompteur">
+<documentation>
+ Récupérer la valeur d'un compteur
+ </documentation>
+ <input message="typens:wsGetCompteur">
+ </input>
+ <output message="typens:wsGetCompteurResponse">
+ </output>
+ </operation>
+ <operation name="wsFichiersVolumineux">
+<documentation>
+ Dépose une archive et son bordereau de transfert dans AS@LAE
+ </documentation>
+ <input message="typens:wsFichiersVolumineux">
+ </input>
+ <output message="typens:wsFichiersVolumineuxResponse">
+ </output>
+ </operation>
+ <operation name="wsModificationNotification">
+<documentation>
+ Notification de modification d'archive dans As@lae
+ </documentation>
+ <input message="typens:wsModificationNotification">
+ </input>
+ <output message="typens:wsModificationNotificationResponse">
+ </output>
+ </operation>
+ <operation name="wsCreateMessageValidation">
+<documentation>
+ Envoie une demande de validation
+ </documentation>
+ <input message="typens:wsCreateMessageValidation">
+ </input>
+ <output message="typens:wsCreateMessageValidationResponse">
+ </output>
+ </operation>
+ <operation name="wsMessageValidationState">
+<documentation>
+ Récupere l'etat d'une demande de validation
+ </documentation>
+ <input message="typens:wsMessageValidationState">
+ </input>
+ <output message="typens:wsMessageValidationStateResponse">
+ </output>
+ </operation>
+ <operation name="wsElimination">
+<documentation>
+ Crée une demande d'élimintation dans AS@LAE
+ </documentation>
+ <input message="typens:wsElimination">
+ </input>
+ <output message="typens:wsEliminationResponse">
+ </output>
+ </operation>
+ <operation name="wsCompleterBordereau">
+<documentation>
+ Complétion du bordereau de transfert dans AS@LAE
+ </documentation>
+ <input message="typens:wsCompleterBordereau">
+ </input>
+ <output message="typens:wsCompleterBordereauResponse">
+ </output>
+ </operation>
+ <operation name="wsGetVersion">
+<documentation>
+ Récupère la version courante de ASALAE
+ </documentation>
+ <input message="typens:wsGetVersion">
+ </input>
+ <output message="typens:wsGetVersionResponse">
+ </output>
+ </operation>
+ <operation name="wsGetDuaExpirees">
+<documentation>
+ Récupère les archives dont la DUA est expirée
+ </documentation>
+ <input message="typens:wsGetDuaExpirees">
+ </input>
+ <output message="typens:wsGetDuaExpireesResponse">
+ </output>
+ </operation>
+ <operation name="wsGSeda">
+<documentation>
+ Créer un bordereau SEDA à partir d'un tableau d'informations
+ </documentation>
+ <input message="typens:wsGSeda">
+ </input>
+ <output message="typens:wsGSedaResponse">
+ </output>
+ </operation>
+ <operation name="wsGetMessage">
+<documentation>
+ Récupérer un message d'échange SEDA suite à un envoi sur AS@LAE
+ </documentation>
+ <input message="typens:wsGetMessage">
+ </input>
+ <output message="typens:wsGetMessageResponse">
+ </output>
+ </operation>
+ </portType>
+ <binding name="WebServiceBinding" type="typens:WebServicePortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="wsModificationNotification">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsDepot">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsRestitution">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsGetCompteur">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsFichiersVolumineux">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsCreateMessageValidation">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsMessageValidationState">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsElimination">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsCompleterBordereau">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsGetVersion">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsGetDuaExpirees">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsGSeda">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ <operation name="wsGetMessage">
+ <soap:operation soapAction="urn:WebServiceAction"/>
+ <input>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </input>
+ <output>
+ <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:server"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="service">
+ <port name="WebServicePort" binding="typens:WebServiceBinding">
+ <soap:address location="http://localhost:8080/alfresco/webservices/service"/>
+ </port>
+ </service>
+</definitions>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This file was auto-generated from WSDL -->
+<!-- by the Apache Axis2 version: 1.6.1 Built on : Aug 31, 2011 (12:22:40 CEST) -->
+<serviceGroup>
+ <service name="service">
+ <messageReceivers>
+ <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="eu.akka.alfresco.axis2.asalae.ServerServiceMessageReceiverInOut"/>
+ </messageReceivers>
+ <parameter name="ServiceClass">eu.akka.alfresco.axis2.asalae.ServerServiceSkeleton</parameter>
+ <parameter name="useOriginalwsdl">true</parameter>
+ <parameter name="modifyUserWSDLPortAddress">false</parameter>
+ <operation name="wsDepot" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsDepotResponse</outputActionMapping>
+ </operation>
+ <operation name="wsRestitution" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsRestitutionResponse</outputActionMapping>
+ </operation>
+ <operation name="wsCompleterBordereau" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsCompleterBordereauResponse</outputActionMapping>
+ </operation>
+ <operation name="wsElimination" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsEliminationResponse</outputActionMapping>
+ </operation>
+ <operation name="wsGetDuaExpirees" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsGetDuaExpireesResponse</outputActionMapping>
+ </operation>
+ <operation name="wsGetPathRepoBigFile" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsGetPathRepoBigFileResponse</outputActionMapping>
+ </operation>
+ <operation name="wsModificationNotification" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsModificationNotificationResponse</outputActionMapping>
+ </operation>
+ <operation name="wsCreateMessageValidation" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsCreateMessageValidationResponse</outputActionMapping>
+ </operation>
+ <operation name="wsMessageValidationState" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsMessageValidationStateResponse</outputActionMapping>
+ </operation>
+ <operation name="wsGetVersion" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsGetVersionResponse</outputActionMapping>
+ </operation>
+ <operation name="wsGetMessage" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsGetMessageResponse</outputActionMapping>
+ </operation>
+ <operation name="wsGSeda" mep="http://www.w3.org/ns/wsdl/in-out" namespace="urn:server">
+ <actionMapping>urn:WebServiceAction</actionMapping>
+ <outputActionMapping>urn:server:WebServicePortType:wsGSedaResponse</outputActionMapping>
+ </operation>
+ </service>
+</serviceGroup>
--- /dev/null
+version-1.6.2.aar
--- /dev/null
+
+/**
+ * ServerServiceMessageReceiverInOut.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:33:49 IST)
+ */
+ package eu.akka.alfresco.axis2.asalae;
+
+ /**
+ * ServerServiceMessageReceiverInOut message receiver
+ */
+
+ public class ServerServiceMessageReceiverInOut extends org.apache.axis2.receivers.AbstractInOutMessageReceiver{
+
+
+ public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext, org.apache.axis2.context.MessageContext newMsgContext)
+ throws org.apache.axis2.AxisFault{
+
+ try {
+
+ // get the implementation class for the Web Service
+ Object obj = getTheImplementationObject(msgContext);
+
+ ServerServiceSkeleton skel = (ServerServiceSkeleton)obj;
+ //Out Envelop
+ org.apache.axiom.soap.SOAPEnvelope envelope = null;
+ //Find the axisOperation that has been set by the Dispatch phase.
+ org.apache.axis2.description.AxisOperation op = msgContext.getOperationContext().getAxisOperation();
+ if (op == null) {
+ throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
+ }
+
+ java.lang.String methodName;
+ if((op.getName() != null) && ((methodName = org.apache.axis2.util.JavaUtils.xmlNameToJavaIdentifier(op.getName().getLocalPart())) != null)){
+
+
+
+
+ if("wsDepot".equals(methodName)){
+
+ server.WsDepotResponse wsDepotResponse1 = null;
+ server.WsDepot wrappedParam =
+ (server.WsDepot)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsDepot.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsDepotResponse1 =
+
+
+ skel.wsDepot(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsDepotResponse1, false, new javax.xml.namespace.QName("urn:server",
+ "wsDepot"));
+ } else
+
+ if("wsRestitution".equals(methodName)){
+
+ server.WsRestitutionResponse wsRestitutionResponse3 = null;
+ server.WsRestitution wrappedParam =
+ (server.WsRestitution)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsRestitution.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsRestitutionResponse3 =
+
+
+ skel.wsRestitution(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsRestitutionResponse3, false, new javax.xml.namespace.QName("urn:server",
+ "wsRestitution"));
+ } else
+
+ if("wsCompleterBordereau".equals(methodName)){
+
+ server.WsCompleterBordereauResponse wsCompleterBordereauResponse5 = null;
+ server.WsCompleterBordereau wrappedParam =
+ (server.WsCompleterBordereau)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsCompleterBordereau.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsCompleterBordereauResponse5 =
+
+
+ skel.wsCompleterBordereau(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsCompleterBordereauResponse5, false, new javax.xml.namespace.QName("urn:server",
+ "wsCompleterBordereau"));
+ } else
+
+ if("wsElimination".equals(methodName)){
+
+ server.WsEliminationResponse wsEliminationResponse7 = null;
+ server.WsElimination wrappedParam =
+ (server.WsElimination)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsElimination.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsEliminationResponse7 =
+
+
+ skel.wsElimination(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsEliminationResponse7, false, new javax.xml.namespace.QName("urn:server",
+ "wsElimination"));
+ } else
+
+ if("wsGetDuaExpirees".equals(methodName)){
+
+ server.WsGetDuaExpireesResponse wsGetDuaExpireesResponse9 = null;
+ server.WsGetDuaExpirees wrappedParam =
+ (server.WsGetDuaExpirees)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsGetDuaExpirees.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsGetDuaExpireesResponse9 =
+
+
+ skel.wsGetDuaExpirees(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsGetDuaExpireesResponse9, false, new javax.xml.namespace.QName("urn:server",
+ "wsGetDuaExpirees"));
+ } else
+
+ if("wsGetPathRepoBigFile".equals(methodName)){
+
+ server.WsGetPathRepoBigFileResponse wsGetPathRepoBigFileResponse11 = null;
+ server.WsGetPathRepoBigFile wrappedParam =
+ (server.WsGetPathRepoBigFile)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsGetPathRepoBigFile.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsGetPathRepoBigFileResponse11 =
+
+
+ skel.wsGetPathRepoBigFile(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsGetPathRepoBigFileResponse11, false, new javax.xml.namespace.QName("urn:server",
+ "wsGetPathRepoBigFile"));
+ } else
+
+ if("wsModificationNotification".equals(methodName)){
+
+ server.WsModificationNotificationResponse wsModificationNotificationResponse13 = null;
+ server.WsModificationNotification wrappedParam =
+ (server.WsModificationNotification)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsModificationNotification.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsModificationNotificationResponse13 =
+
+
+ skel.wsModificationNotification(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsModificationNotificationResponse13, false, new javax.xml.namespace.QName("urn:server",
+ "wsModificationNotification"));
+ } else
+
+ if("wsCreateMessageValidation".equals(methodName)){
+
+ server.WsCreateMessageValidationResponse wsCreateMessageValidationResponse15 = null;
+ server.WsCreateMessageValidation wrappedParam =
+ (server.WsCreateMessageValidation)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsCreateMessageValidation.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsCreateMessageValidationResponse15 =
+
+
+ skel.wsCreateMessageValidation(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsCreateMessageValidationResponse15, false, new javax.xml.namespace.QName("urn:server",
+ "wsCreateMessageValidation"));
+ } else
+
+ if("wsMessageValidationState".equals(methodName)){
+
+ server.WsMessageValidationStateResponse wsMessageValidationStateResponse17 = null;
+ server.WsMessageValidationState wrappedParam =
+ (server.WsMessageValidationState)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsMessageValidationState.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsMessageValidationStateResponse17 =
+
+
+ skel.wsMessageValidationState(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsMessageValidationStateResponse17, false, new javax.xml.namespace.QName("urn:server",
+ "wsMessageValidationState"));
+ } else
+
+ if("wsGetCompteur".equals(methodName)){
+
+ server.WsGetCompteurResponse wsGetCompteurResponse19 = null;
+ server.WsGetCompteur wrappedParam =
+ (server.WsGetCompteur)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsGetCompteur.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsGetCompteurResponse19 =
+
+
+ skel.wsGetCompteur(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsGetCompteurResponse19, false, new javax.xml.namespace.QName("urn:server",
+ "wsGetCompteur"));
+ } else
+
+ if("wsGetVersion".equals(methodName)){
+
+ server.WsGetVersionResponse wsGetVersionResponse21 = null;
+ server.WsGetVersion wrappedParam =
+ (server.WsGetVersion)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsGetVersion.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsGetVersionResponse21 =
+
+
+ skel.wsGetVersion(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsGetVersionResponse21, false, new javax.xml.namespace.QName("urn:server",
+ "wsGetVersion"));
+ } else
+
+ if("wsGetMessage".equals(methodName)){
+
+ server.WsGetMessageResponse wsGetMessageResponse23 = null;
+ server.WsGetMessage wrappedParam =
+ (server.WsGetMessage)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsGetMessage.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsGetMessageResponse23 =
+
+
+ skel.wsGetMessage(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsGetMessageResponse23, false, new javax.xml.namespace.QName("urn:server",
+ "wsGetMessage"));
+ } else
+
+ if("wsFichiersVolumineux".equals(methodName)){
+
+ server.WsFichiersVolumineuxResponse wsFichiersVolumineuxResponse25 = null;
+ server.WsFichiersVolumineux wrappedParam =
+ (server.WsFichiersVolumineux)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsFichiersVolumineux.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsFichiersVolumineuxResponse25 =
+
+
+ skel.wsFichiersVolumineux(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsFichiersVolumineuxResponse25, false, new javax.xml.namespace.QName("urn:server",
+ "wsFichiersVolumineux"));
+ } else
+
+ if("wsGSeda".equals(methodName)){
+
+ server.WsGSedaResponse wsGSedaResponse27 = null;
+ server.WsGSeda wrappedParam =
+ (server.WsGSeda)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ server.WsGSeda.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ wsGSedaResponse27 =
+
+
+ skel.wsGSeda(wrappedParam)
+ ;
+
+ envelope = toEnvelope(getSOAPFactory(msgContext), wsGSedaResponse27, false, new javax.xml.namespace.QName("urn:server",
+ "wsGSeda"));
+
+ } else {
+ throw new java.lang.RuntimeException("method not found");
+ }
+
+
+ newMsgContext.setEnvelope(envelope);
+ }
+ }
+ catch (java.lang.Exception e) {
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ //
+ private org.apache.axiom.om.OMElement toOM(server.WsDepot param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsDepot.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsDepotResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsDepotResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsRestitution param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsRestitution.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsRestitutionResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsRestitutionResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsCompleterBordereau param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsCompleterBordereau.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsCompleterBordereauResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsCompleterBordereauResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsElimination param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsElimination.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsEliminationResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsEliminationResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetDuaExpirees param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetDuaExpirees.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetDuaExpireesResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetDuaExpireesResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetPathRepoBigFile param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetPathRepoBigFile.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetPathRepoBigFileResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetPathRepoBigFileResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsModificationNotification param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsModificationNotification.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsModificationNotificationResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsModificationNotificationResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsCreateMessageValidation param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsCreateMessageValidation.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsCreateMessageValidationResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsCreateMessageValidationResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsMessageValidationState param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsMessageValidationState.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsMessageValidationStateResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsMessageValidationStateResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetCompteur param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetCompteur.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetCompteurResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetCompteurResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetVersion param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetVersion.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetVersionResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetVersionResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetMessage param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetMessage.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGetMessageResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGetMessageResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsFichiersVolumineux param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsFichiersVolumineux.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsFichiersVolumineuxResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsFichiersVolumineuxResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGSeda param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGSeda.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(server.WsGSedaResponse param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
+
+
+ try{
+ return param.getOMElement(server.WsGSedaResponse.MY_QNAME,
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+
+
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsDepotResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsDepotResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsDepotResponse wrapwsDepot(){
+ server.WsDepotResponse wrappedElement = new server.WsDepotResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsRestitutionResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsRestitutionResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsRestitutionResponse wrapwsRestitution(){
+ server.WsRestitutionResponse wrappedElement = new server.WsRestitutionResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsCompleterBordereauResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsCompleterBordereauResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsCompleterBordereauResponse wrapwsCompleterBordereau(){
+ server.WsCompleterBordereauResponse wrappedElement = new server.WsCompleterBordereauResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsEliminationResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsEliminationResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsEliminationResponse wrapwsElimination(){
+ server.WsEliminationResponse wrappedElement = new server.WsEliminationResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsGetDuaExpireesResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsGetDuaExpireesResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsGetDuaExpireesResponse wrapwsGetDuaExpirees(){
+ server.WsGetDuaExpireesResponse wrappedElement = new server.WsGetDuaExpireesResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsGetPathRepoBigFileResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsGetPathRepoBigFileResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsGetPathRepoBigFileResponse wrapwsGetPathRepoBigFile(){
+ server.WsGetPathRepoBigFileResponse wrappedElement = new server.WsGetPathRepoBigFileResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsModificationNotificationResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsModificationNotificationResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsModificationNotificationResponse wrapwsModificationNotification(){
+ server.WsModificationNotificationResponse wrappedElement = new server.WsModificationNotificationResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsCreateMessageValidationResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsCreateMessageValidationResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsCreateMessageValidationResponse wrapwsCreateMessageValidation(){
+ server.WsCreateMessageValidationResponse wrappedElement = new server.WsCreateMessageValidationResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsMessageValidationStateResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsMessageValidationStateResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsMessageValidationStateResponse wrapwsMessageValidationState(){
+ server.WsMessageValidationStateResponse wrappedElement = new server.WsMessageValidationStateResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsGetCompteurResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsGetCompteurResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsGetCompteurResponse wrapwsGetCompteur(){
+ server.WsGetCompteurResponse wrappedElement = new server.WsGetCompteurResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsGetVersionResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsGetVersionResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsGetVersionResponse wrapwsGetVersion(){
+ server.WsGetVersionResponse wrappedElement = new server.WsGetVersionResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsGetMessageResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsGetMessageResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsGetMessageResponse wrapwsGetMessage(){
+ server.WsGetMessageResponse wrappedElement = new server.WsGetMessageResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsFichiersVolumineuxResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsFichiersVolumineuxResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsFichiersVolumineuxResponse wrapwsFichiersVolumineux(){
+ server.WsFichiersVolumineuxResponse wrappedElement = new server.WsFichiersVolumineuxResponse();
+ return wrappedElement;
+ }
+
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, server.WsGSedaResponse param, boolean optimizeContent, javax.xml.namespace.QName methodQName)
+ throws org.apache.axis2.AxisFault{
+ try{
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+
+ emptyEnvelope.getBody().addChild(param.getOMElement(server.WsGSedaResponse.MY_QNAME,factory));
+
+
+ return emptyEnvelope;
+ } catch(org.apache.axis2.databinding.ADBException e){
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+ private server.WsGSedaResponse wrapwsGSeda(){
+ server.WsGSedaResponse wrappedElement = new server.WsGSedaResponse();
+ return wrappedElement;
+ }
+
+
+
+ /**
+ * get the default envelope
+ */
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory){
+ return factory.getDefaultEnvelope();
+ }
+
+
+ private java.lang.Object fromOM(
+ org.apache.axiom.om.OMElement param,
+ java.lang.Class type,
+ java.util.Map extraNamespaces) throws org.apache.axis2.AxisFault{
+
+ try {
+
+ if (server.WsDepot.class.equals(type)){
+
+ return server.WsDepot.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsDepotResponse.class.equals(type)){
+
+ return server.WsDepotResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsRestitution.class.equals(type)){
+
+ return server.WsRestitution.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsRestitutionResponse.class.equals(type)){
+
+ return server.WsRestitutionResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsCompleterBordereau.class.equals(type)){
+
+ return server.WsCompleterBordereau.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsCompleterBordereauResponse.class.equals(type)){
+
+ return server.WsCompleterBordereauResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsElimination.class.equals(type)){
+
+ return server.WsElimination.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsEliminationResponse.class.equals(type)){
+
+ return server.WsEliminationResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetDuaExpirees.class.equals(type)){
+
+ return server.WsGetDuaExpirees.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetDuaExpireesResponse.class.equals(type)){
+
+ return server.WsGetDuaExpireesResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetPathRepoBigFile.class.equals(type)){
+
+ return server.WsGetPathRepoBigFile.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetPathRepoBigFileResponse.class.equals(type)){
+
+ return server.WsGetPathRepoBigFileResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsModificationNotification.class.equals(type)){
+
+ return server.WsModificationNotification.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsModificationNotificationResponse.class.equals(type)){
+
+ return server.WsModificationNotificationResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsCreateMessageValidation.class.equals(type)){
+
+ return server.WsCreateMessageValidation.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsCreateMessageValidationResponse.class.equals(type)){
+
+ return server.WsCreateMessageValidationResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsMessageValidationState.class.equals(type)){
+
+ return server.WsMessageValidationState.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsMessageValidationStateResponse.class.equals(type)){
+
+ return server.WsMessageValidationStateResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetCompteur.class.equals(type)){
+
+ return server.WsGetCompteur.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetCompteurResponse.class.equals(type)){
+
+ return server.WsGetCompteurResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetVersion.class.equals(type)){
+
+ return server.WsGetVersion.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetVersionResponse.class.equals(type)){
+
+ return server.WsGetVersionResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetMessage.class.equals(type)){
+
+ return server.WsGetMessage.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGetMessageResponse.class.equals(type)){
+
+ return server.WsGetMessageResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsFichiersVolumineux.class.equals(type)){
+
+ return server.WsFichiersVolumineux.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsFichiersVolumineuxResponse.class.equals(type)){
+
+ return server.WsFichiersVolumineuxResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGSeda.class.equals(type)){
+
+ return server.WsGSeda.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ if (server.WsGSedaResponse.class.equals(type)){
+
+ return server.WsGSedaResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
+
+
+ }
+
+ } catch (java.lang.Exception e) {
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ return null;
+ }
+
+
+
+
+
+ /**
+ * A utility method that copies the namepaces from the SOAPEnvelope
+ */
+ private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
+ java.util.Map returnMap = new java.util.HashMap();
+ java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
+ while (namespaceIterator.hasNext()) {
+ org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
+ returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
+ }
+ return returnMap;
+ }
+
+ private org.apache.axis2.AxisFault createAxisFault(java.lang.Exception e) {
+ org.apache.axis2.AxisFault f;
+ Throwable cause = e.getCause();
+ if (cause != null) {
+ f = new org.apache.axis2.AxisFault(e.getMessage(), cause);
+ } else {
+ f = new org.apache.axis2.AxisFault(e.getMessage());
+ }
+
+ return f;
+ }
+
+ }//end of class
+
\ No newline at end of file
--- /dev/null
+/**
+ * ServerServiceSkeleton.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:33:49 IST)
+ */
+package eu.akka.alfresco.axis2.asalae;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Date;
+
+import server.WsMessageValidationStateResponse;
+import sun.misc.BASE64Encoder;
+
+/**
+ * ServerServiceSkeleton java skeleton for the axisService
+ */
+public class ServerServiceSkeleton {
+
+ /**
+ * Auto generated method signature Notification de modification d'archive
+ * dans As@lae
+ *
+ * @param wsModificationNotification
+ * @return wsModificationNotificationResponse
+ */
+
+ public server.WsModificationNotificationResponse wsModificationNotification(
+ server.WsModificationNotification wsModificationNotification) {
+
+ try {
+ String bordereauFolder = System.getProperty("java.io.tmpdir") + "/asalaereponse/";
+ File directory = new File(bordereauFolder);
+ InputStream is = wsModificationNotification.getBordereau().getInputStream();
+
+ if (!directory.exists()) {
+ directory.mkdir();
+ }
+
+ String tmpFileName = Long.toString(new Date().getTime()) + ".xml";
+ FileOutputStream outputStream = new FileOutputStream(
+ new File(bordereauFolder + "/" + tmpFileName));
+
+ int read = 0;
+ byte[] bytes = new byte[1024];
+
+ while ((read = is.read(bytes)) != -1) {
+ outputStream.write(bytes, 0, read);
+ }
+ outputStream.close();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ callService(wsModificationNotification.getLogin(), wsModificationNotification.getPassword());
+ server.WsModificationNotificationResponse wmnr = new server.WsModificationNotificationResponse();
+ wmnr.setWsModificationNotificationReturn("0");
+
+ return wmnr;
+
+ }
+
+ /**
+ * Auto generated method signature
+ * Récupérer le chemin de dépot des fichiers volumineux
+ * @param wsGetPathRepoBigFile
+ * @return wsGetPathRepoBigFileResponse
+ */
+
+ public server.WsGetPathRepoBigFileResponse wsGetPathRepoBigFile(server.WsGetPathRepoBigFile wsGetPathRepoBigFile)
+ {
+ server.WsGetPathRepoBigFileResponse ret = new server.WsGetPathRepoBigFileResponse();
+ ret.setWsGetPathRepoBigFileReturn(System.getProperty("java.io.tmpdir") + "/asalaereponse");
+ return ret;
+ }
+
+
+ /**
+ * Auto generated method signature Dépose une archive et son bordereau de
+ * transfert dans AS@LAE
+ *
+ * @param wsDepot
+ * @return wsDepotResponse
+ */
+
+ public server.WsDepotResponse wsDepot(server.WsDepot wsDepot) {
+
+ server.WsDepotResponse response = new server.WsDepotResponse();
+
+ try {
+ String bordereauFolder = System.getProperty("java.io.tmpdir") + "/asalaereponse/";
+ File directory = new File(bordereauFolder);
+ InputStream is = wsDepot.getBordereau().getInputStream();
+
+ if (!directory.exists()) {
+ directory.mkdir();
+ }
+
+ String tmpFileName = Long.toString(new Date().getTime()) + ".xml";
+ FileOutputStream outputStream = new FileOutputStream(
+ new File(bordereauFolder + "/" + tmpFileName));
+
+ int read = 0;
+ byte[] bytes = new byte[1024];
+
+ while ((read = is.read(bytes)) != -1) {
+ outputStream.write(bytes, 0, read);
+ }
+ outputStream.close();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ callService(wsDepot.getLogin(), wsDepot.getPassword());
+
+ response.setWsDepotReturn("0");
+
+ return response;
+ }
+
+ private void callService(String login, String pass) {
+ try {
+ HttpURLConnection connection = (HttpURLConnection) new URL(
+ "http://localhost:8080/alfresco/service/saem/asalaereponse?login="+login+"&pass="+pass).openConnection();
+ connection.setRequestMethod("GET");
+
+ // Write auth header
+ BASE64Encoder encoder = new BASE64Encoder();
+ String encodedCredential = encoder.encode((login + ":" + pass).getBytes());
+ connection.setRequestProperty("Authorization", "BASIC " + encodedCredential);
+
+ // Do request
+ connection.connect();
+ connection.getInputStream();
+ connection.disconnect();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Auto generated method signature Complétion du bordereau de transfert dans
+ * AS@LAE
+ *
+ * @param wsCompleterBordereau
+ * @return wsCompleterBordereauResponse
+ */
+
+ public server.WsCompleterBordereauResponse wsCompleterBordereau(
+ server.WsCompleterBordereau wsCompleterBordereau) {
+ // TODO : fill this with the necessary business logic
+ throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName()
+ + "#wsCompleterBordereau");
+ }
+
+ /**
+ * Auto generated method signature Crée une demande d'élimintation dans AS@LAE
+ *
+ * @param wsElimination
+ * @return wsEliminationResponse
+ */
+ public server.WsEliminationResponse wsElimination(server.WsElimination wsElimination) {
+ server.WsEliminationResponse response = new server.WsEliminationResponse();
+
+ try {
+ String bordereauFolder = System.getProperty("java.io.tmpdir") + "/asalaereponse/";
+ File directory = new File(bordereauFolder);
+ InputStream is = wsElimination.getBordereau().getInputStream();
+
+ if (!directory.exists()) {
+ directory.mkdir();
+ }
+
+ String tmpFileName = Long.toString(new Date().getTime()) + ".xml";
+ FileOutputStream outputStream = new FileOutputStream(
+ new File(bordereauFolder + "/" + tmpFileName));
+
+ int read = 0;
+ byte[] bytes = new byte[1024];
+
+ while ((read = is.read(bytes)) != -1) {
+ outputStream.write(bytes, 0, read);
+ }
+
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ callService(wsElimination.getLogin(), wsElimination.getPassword());
+
+ response.setWsEliminationReturn("0");
+ return response;
+ }
+
+ /**
+ * Auto generated method signature Récupère les archives dont la DUA est
+ * expirée
+ *
+ * @param wsGetDuaExpirees
+ * @return wsGetDuaExpireesResponse
+ */
+
+ public server.WsGetDuaExpireesResponse wsGetDuaExpirees(server.WsGetDuaExpirees wsGetDuaExpirees) {
+ // TODO : fill this with the necessary business logic
+ throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName()
+ + "#wsGetDuaExpirees");
+ }
+
+ /**
+ * Auto generated method signature Récupère la version courante de ASALAE
+ *
+ * @param wsGetVersion
+ * @return wsGetVersionResponse
+ */
+
+ public server.WsGetVersionResponse wsGetVersion(server.WsGetVersion wsGetVersion) {
+
+ // try {
+ // HttpURLConnection connection = (HttpURLConnection) new URL(
+ // "http://localhost:8080/alfresco/service/saem/elimination-confirmation?nodeRef=workspace://SpacesStore/5531469c-2152-463a-84be-8105a95934d7")
+ // .openConnection();
+ // connection.setRequestMethod("GET");
+ //
+ // // Write auth header
+ // BASE64Encoder encoder = new BASE64Encoder();
+ // String encodedCredential = encoder.encode((wsGetVersion.getLogin() +
+ // ":" + wsGetVersion
+ // .getPassword()).getBytes());
+ // connection.setRequestProperty("Authorization", "BASIC " +
+ // encodedCredential);
+ //
+ // // Do request
+ // connection.connect();
+ // connection.getInputStream();
+ // connection.disconnect();
+ // } catch (Exception ex) {
+ // ex.printStackTrace();
+ // }
+
+ server.WsGetVersionResponse response = new server.WsGetVersionResponse();
+ response.setWsGetVersionReturn("resultat");
+ return response;
+ }
+
+ /**
+ * Auto generated method signature Récupérer un message d'échange SEDA suite
+ * à un envoi sur AS@LAE
+ *
+ * @param wsGetMessage
+ * @return wsGetMessageResponse
+ */
+
+ public server.WsGetMessageResponse wsGetMessage(server.WsGetMessage wsGetMessage) {
+ // TODO : fill this with the necessary business logic
+ throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName()
+ + "#wsGetMessage");
+ }
+
+ /**
+ * Auto generated method signature Créer un bordereau SEDA à partir d'un
+ * tableau d'informations
+ *
+ * @param wsGSeda
+ * @return wsGSedaResponse
+ */
+
+ public server.WsGSedaResponse wsGSeda(server.WsGSeda wsGSeda) {
+ // TODO : fill this with the necessary business logic
+ throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName()
+ + "#wsGSeda");
+ }
+
+ /**
+ * Auto generated method signature Envoie une demande de validation
+ *
+ * @param wsCreateMessageValidation
+ * @return wsCreateMessageValidationResponse
+ */
+
+ public server.WsCreateMessageValidationResponse wsCreateMessageValidation(
+ server.WsCreateMessageValidation wsCreateMessageValidation) {
+ // TODO : fill this with the necessary business logic
+
+ String archiveIdentifier = wsCreateMessageValidation.getArchiveDestructionId();
+
+ try {
+ HttpURLConnection connection = (HttpURLConnection) new URL(
+ "http://localhost:8080/alfresco/service/saem/elimination-confirmation?archiveIdentifier="
+ + archiveIdentifier).openConnection();
+ connection.setRequestMethod("GET");
+
+ // Write auth header
+ BASE64Encoder encoder = new BASE64Encoder();
+ String encodedCredential = encoder
+ .encode((wsCreateMessageValidation.getLogin() + ":" + wsCreateMessageValidation
+ .getPassword()).getBytes());
+ connection.setRequestProperty("Authorization", "BASIC " + encodedCredential);
+
+ // Do request
+ connection.connect();
+ connection.getInputStream();
+ connection.disconnect();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ server.WsCreateMessageValidationResponse result = new server.WsCreateMessageValidationResponse();
+ result.setWsCreateMessageValidationReturn("0");
+ return result;
+ }
+
+ /**
+ * Auto generated method signature
+ * Permet de faire une demande de restitution
+ * @param wsRestitution
+ * @return wsRestitutionResponse
+ */
+
+ public server.WsRestitutionResponse wsRestitution
+ (
+ server.WsRestitution wsRestitution
+ )
+ {
+ try {
+ String bordereauFolder = System.getProperty("java.io.tmpdir") + "/asalaereponse/";
+ File directory = new File(bordereauFolder);
+ InputStream is = wsRestitution.getBordereau().getInputStream();
+
+ if (!directory.exists()) {
+ directory.mkdir();
+ }
+
+ String startName = Long.toString(new Date().getTime());
+
+ //On stocke le bordereau
+ String tmpFileName = startName + ".xml";
+ FileOutputStream outputStream = new FileOutputStream(
+ new File(bordereauFolder + "/" + tmpFileName));
+
+ int read = 0;
+ byte[] bytes = new byte[1024];
+
+ while ((read = is.read(bytes)) != -1) {
+ outputStream.write(bytes, 0, read);
+ }
+ outputStream.close();
+
+ //On stocke le fichier zip
+ if(wsRestitution.getDocument()!=null && wsRestitution.getDocument().getInputStream()!=null){
+ InputStream iszip = wsRestitution.getDocument().getInputStream();
+ String tmpZipName = startName + ".zip";
+ FileOutputStream outputStreamzip = new FileOutputStream(
+ new File(bordereauFolder + "/" + tmpZipName));
+
+ int readzip = 0;
+ byte[] byteszip = new byte[1024];
+
+ while ((readzip = iszip.read(byteszip)) != -1) {
+ outputStreamzip.write(byteszip, 0, readzip);
+ }
+ outputStreamzip.close();
+ }
+
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ callService(wsRestitution.getLogin(), wsRestitution.getPassword());
+ server.WsRestitutionResponse wmnr = new server.WsRestitutionResponse();
+ wmnr.setWsRestitutionReturn("0");
+
+ return wmnr;
+ }
+
+ /**
+ * Auto generated method signature
+ * Récupérer la valeur d'un compteur
+ * @param wsGetCompteur
+ * @return wsGetCompteurResponse
+ */
+
+ public server.WsGetCompteurResponse wsGetCompteur
+ (
+ server.WsGetCompteur wsGetCompteur
+ )
+ {
+ //TODO : fill this with the necessary business logic
+ throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#wsGetCompteur");
+ }
+
+
+ /**
+ * Auto generated method signature
+ * Dépose une archive et son bordereau de transfert dans AS@LAE
+ * @param wsFichiersVolumineux
+ * @return wsFichiersVolumineuxResponse
+ */
+
+ public server.WsFichiersVolumineuxResponse wsFichiersVolumineux
+ (
+ server.WsFichiersVolumineux wsFichiersVolumineux
+ )
+ {
+ File rep = new File(wsFichiersVolumineux.getRep());
+ String bordereauFolder = System.getProperty("java.io.tmpdir") + "/asalaereponse/";
+
+ for(File child:rep.listFiles()){
+ File newFile = new File (bordereauFolder+child.getName());
+ child.renameTo(newFile);
+ }
+
+ callService(wsFichiersVolumineux.getLogin(), wsFichiersVolumineux.getPassword());
+
+
+ server.WsFichiersVolumineuxResponse result = new server.WsFichiersVolumineuxResponse();
+ result.setWsFichiersVolumineuxReturn("0");
+ return result;
+ }
+
+ /**
+ * Auto generated method signature Récupere l'etat d'une demande de
+ * validation
+ *
+ * @param wsMessageValidationState
+ * @return wsMessageValidationStateResponse
+ */
+
+ public server.WsMessageValidationStateResponse wsMessageValidationState(
+ server.WsMessageValidationState wsMessageValidationState) {
+ String archiveIdentifier = wsMessageValidationState.getArchiveDestructionId();
+ int response = 0;
+
+ try {
+ HttpURLConnection connection = (HttpURLConnection) new URL(
+ "http://localhost:8080/alfresco/service/saem/get-elimination-response?archiveIdentifier="
+ + archiveIdentifier).openConnection();
+ connection.setRequestMethod("GET");
+
+ // Write auth header
+ BASE64Encoder encoder = new BASE64Encoder();
+ String encodedCredential = encoder
+ .encode((wsMessageValidationState.getLogin() + ":" + wsMessageValidationState
+ .getPassword()).getBytes());
+ connection.setRequestProperty("Authorization", "BASIC " + encodedCredential);
+
+ // Do request
+ connection.connect();
+ response = connection.getResponseCode();
+ connection.disconnect();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ WsMessageValidationStateResponse result = new server.WsMessageValidationStateResponse();
+ if(response == 200){
+ result.setWsMessageValidationStateReturn("OK");
+ } else if (response == 502) {
+ result.setWsMessageValidationStateReturn("NOK");
+ } else {
+ result.setWsMessageValidationStateReturn("");
+ }
+ return result;
+ }
+
+}
\ No newline at end of file
--- /dev/null
+
+/**
+ * ExtensionMapper.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+ /**
+ * ExtensionMapper class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class ExtensionMapper{
+
+ public static java.lang.Object getTypeObject(java.lang.String namespaceURI,
+ java.lang.String typeName,
+ javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+
+
+ throw new org.apache.axis2.databinding.ADBException("Unsupported type " + namespaceURI + " " + typeName);
+ }
+
+ }
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsCompleterBordereau.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsCompleterBordereau bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsCompleterBordereau
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsCompleterBordereau",
+ "ns1");
+
+
+
+ /**
+ * field for Bordereau
+ */
+
+
+ protected javax.activation.DataHandler localBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getBordereau(){
+ return localBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Bordereau
+ */
+ public void setBordereau(javax.activation.DataHandler param){
+
+ this.localBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsCompleterBordereau",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsCompleterBordereau",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "bordereau", xmlWriter);
+
+
+ if (localBordereau!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localBordereau, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for bordereau", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "bordereau"));
+
+ elementList.add(localBordereau);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsCompleterBordereau parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsCompleterBordereau object =
+ new WsCompleterBordereau();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsCompleterBordereau".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsCompleterBordereau)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","bordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setBordereau(null);
+ reader.next();
+ } else {
+
+ object.setBordereau(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsCompleterBordereauResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsCompleterBordereauResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsCompleterBordereauResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsCompleterBordereauResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsCompleterBordereauReturn
+ */
+
+
+ protected javax.activation.DataHandler localWsCompleterBordereauReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getWsCompleterBordereauReturn(){
+ return localWsCompleterBordereauReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsCompleterBordereauReturn
+ */
+ public void setWsCompleterBordereauReturn(javax.activation.DataHandler param){
+
+ this.localWsCompleterBordereauReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsCompleterBordereauResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsCompleterBordereauResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsCompleterBordereauReturn", xmlWriter);
+
+
+ if (localWsCompleterBordereauReturn!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localWsCompleterBordereauReturn, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for wsCompleterBordereauReturn", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsCompleterBordereauReturn"));
+
+ elementList.add(localWsCompleterBordereauReturn);
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsCompleterBordereauResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsCompleterBordereauResponse object =
+ new WsCompleterBordereauResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsCompleterBordereauResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsCompleterBordereauResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsCompleterBordereauReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setWsCompleterBordereauReturn(null);
+ reader.next();
+ } else {
+
+ object.setWsCompleterBordereauReturn(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsCreateMessageValidation.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsCreateMessageValidation bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsCreateMessageValidation
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsCreateMessageValidation",
+ "ns1");
+
+
+
+ /**
+ * field for ArchiveDestructionId
+ */
+
+
+ protected java.lang.String localArchiveDestructionId ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getArchiveDestructionId(){
+ return localArchiveDestructionId;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param ArchiveDestructionId
+ */
+ public void setArchiveDestructionId(java.lang.String param){
+
+ this.localArchiveDestructionId=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsCreateMessageValidation",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsCreateMessageValidation",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "archiveDestructionId", xmlWriter);
+
+
+ if (localArchiveDestructionId==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localArchiveDestructionId);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "archiveDestructionId"));
+
+ elementList.add(localArchiveDestructionId==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localArchiveDestructionId));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsCreateMessageValidation parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsCreateMessageValidation object =
+ new WsCreateMessageValidation();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsCreateMessageValidation".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsCreateMessageValidation)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","archiveDestructionId").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setArchiveDestructionId(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsCreateMessageValidationResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsCreateMessageValidationResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsCreateMessageValidationResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsCreateMessageValidationResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsCreateMessageValidationReturn
+ */
+
+
+ protected java.lang.String localWsCreateMessageValidationReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsCreateMessageValidationReturn(){
+ return localWsCreateMessageValidationReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsCreateMessageValidationReturn
+ */
+ public void setWsCreateMessageValidationReturn(java.lang.String param){
+
+ this.localWsCreateMessageValidationReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsCreateMessageValidationResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsCreateMessageValidationResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsCreateMessageValidationReturn", xmlWriter);
+
+
+ if (localWsCreateMessageValidationReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsCreateMessageValidationReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsCreateMessageValidationReturn"));
+
+ elementList.add(localWsCreateMessageValidationReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsCreateMessageValidationReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsCreateMessageValidationResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsCreateMessageValidationResponse object =
+ new WsCreateMessageValidationResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsCreateMessageValidationResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsCreateMessageValidationResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsCreateMessageValidationReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsCreateMessageValidationReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsDepot.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsDepot bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsDepot
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsDepot",
+ "ns1");
+
+
+
+ /**
+ * field for NomBordereau
+ */
+
+
+ protected java.lang.String localNomBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomBordereau(){
+ return localNomBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomBordereau
+ */
+ public void setNomBordereau(java.lang.String param){
+
+ this.localNomBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Bordereau
+ */
+
+
+ protected javax.activation.DataHandler localBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getBordereau(){
+ return localBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Bordereau
+ */
+ public void setBordereau(javax.activation.DataHandler param){
+
+ this.localBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for NomDocument
+ */
+
+
+ protected java.lang.String localNomDocument ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomDocument(){
+ return localNomDocument;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomDocument
+ */
+ public void setNomDocument(java.lang.String param){
+
+ this.localNomDocument=param;
+
+
+ }
+
+
+ /**
+ * field for Document
+ */
+
+
+ protected javax.activation.DataHandler localDocument ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getDocument(){
+ return localDocument;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Document
+ */
+ public void setDocument(javax.activation.DataHandler param){
+
+ this.localDocument=param;
+
+
+ }
+
+
+ /**
+ * field for TypeDocument
+ */
+
+
+ protected java.lang.String localTypeDocument ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getTypeDocument(){
+ return localTypeDocument;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param TypeDocument
+ */
+ public void setTypeDocument(java.lang.String param){
+
+ this.localTypeDocument=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsDepot",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsDepot",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomBordereau", xmlWriter);
+
+
+ if (localNomBordereau==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomBordereau);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "bordereau", xmlWriter);
+
+
+ if (localBordereau!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localBordereau, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for bordereau", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomDocument", xmlWriter);
+
+
+ if (localNomDocument==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomDocument);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "document", xmlWriter);
+
+
+ if (localDocument!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localDocument, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for document", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "typeDocument", xmlWriter);
+
+
+ if (localTypeDocument==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localTypeDocument);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomBordereau"));
+
+ elementList.add(localNomBordereau==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomBordereau));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "bordereau"));
+
+ elementList.add(localBordereau);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomDocument"));
+
+ elementList.add(localNomDocument==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomDocument));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "document"));
+
+ elementList.add(localDocument);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "typeDocument"));
+
+ elementList.add(localTypeDocument==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localTypeDocument));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsDepot parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsDepot object =
+ new WsDepot();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsDepot".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsDepot)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomBordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomBordereau(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","bordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setBordereau(null);
+ reader.next();
+ } else {
+
+ object.setBordereau(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomDocument").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomDocument(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","document").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setDocument(null);
+ reader.next();
+ } else {
+
+ object.setDocument(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","typeDocument").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setTypeDocument(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsDepotResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsDepotResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsDepotResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsDepotResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsDepotReturn
+ */
+
+
+ protected java.lang.String localWsDepotReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsDepotReturn(){
+ return localWsDepotReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsDepotReturn
+ */
+ public void setWsDepotReturn(java.lang.String param){
+
+ this.localWsDepotReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsDepotResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsDepotResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsDepotReturn", xmlWriter);
+
+
+ if (localWsDepotReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsDepotReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsDepotReturn"));
+
+ elementList.add(localWsDepotReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsDepotReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsDepotResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsDepotResponse object =
+ new WsDepotResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsDepotResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsDepotResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsDepotReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsDepotReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsElimination.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsElimination bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsElimination
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsElimination",
+ "ns1");
+
+
+
+ /**
+ * field for NomBordereau
+ */
+
+
+ protected java.lang.String localNomBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomBordereau(){
+ return localNomBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomBordereau
+ */
+ public void setNomBordereau(java.lang.String param){
+
+ this.localNomBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Bordereau
+ */
+
+
+ protected javax.activation.DataHandler localBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getBordereau(){
+ return localBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Bordereau
+ */
+ public void setBordereau(javax.activation.DataHandler param){
+
+ this.localBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsElimination",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsElimination",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomBordereau", xmlWriter);
+
+
+ if (localNomBordereau==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomBordereau);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "bordereau", xmlWriter);
+
+
+ if (localBordereau!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localBordereau, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for bordereau", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomBordereau"));
+
+ elementList.add(localNomBordereau==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomBordereau));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "bordereau"));
+
+ elementList.add(localBordereau);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsElimination parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsElimination object =
+ new WsElimination();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsElimination".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsElimination)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomBordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomBordereau(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","bordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setBordereau(null);
+ reader.next();
+ } else {
+
+ object.setBordereau(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsEliminationResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsEliminationResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsEliminationResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsEliminationResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsEliminationReturn
+ */
+
+
+ protected java.lang.String localWsEliminationReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsEliminationReturn(){
+ return localWsEliminationReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsEliminationReturn
+ */
+ public void setWsEliminationReturn(java.lang.String param){
+
+ this.localWsEliminationReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsEliminationResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsEliminationResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsEliminationReturn", xmlWriter);
+
+
+ if (localWsEliminationReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsEliminationReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsEliminationReturn"));
+
+ elementList.add(localWsEliminationReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsEliminationReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsEliminationResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsEliminationResponse object =
+ new WsEliminationResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsEliminationResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsEliminationResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsEliminationReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsEliminationReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsFichiersVolumineux.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsFichiersVolumineux bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsFichiersVolumineux
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsFichiersVolumineux",
+ "ns1");
+
+
+
+ /**
+ * field for NomBordereau
+ */
+
+
+ protected java.lang.String localNomBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomBordereau(){
+ return localNomBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomBordereau
+ */
+ public void setNomBordereau(java.lang.String param){
+
+ this.localNomBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Rep
+ */
+
+
+ protected java.lang.String localRep ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getRep(){
+ return localRep;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Rep
+ */
+ public void setRep(java.lang.String param){
+
+ this.localRep=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsFichiersVolumineux",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsFichiersVolumineux",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomBordereau", xmlWriter);
+
+
+ if (localNomBordereau==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomBordereau);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "rep", xmlWriter);
+
+
+ if (localRep==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localRep);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomBordereau"));
+
+ elementList.add(localNomBordereau==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomBordereau));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "rep"));
+
+ elementList.add(localRep==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localRep));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsFichiersVolumineux parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsFichiersVolumineux object =
+ new WsFichiersVolumineux();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsFichiersVolumineux".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsFichiersVolumineux)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomBordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomBordereau(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","rep").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setRep(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsFichiersVolumineuxResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsFichiersVolumineuxResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsFichiersVolumineuxResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsFichiersVolumineuxResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsFichiersVolumineuxReturn
+ */
+
+
+ protected java.lang.String localWsFichiersVolumineuxReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsFichiersVolumineuxReturn(){
+ return localWsFichiersVolumineuxReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsFichiersVolumineuxReturn
+ */
+ public void setWsFichiersVolumineuxReturn(java.lang.String param){
+
+ this.localWsFichiersVolumineuxReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsFichiersVolumineuxResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsFichiersVolumineuxResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsFichiersVolumineuxReturn", xmlWriter);
+
+
+ if (localWsFichiersVolumineuxReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsFichiersVolumineuxReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsFichiersVolumineuxReturn"));
+
+ elementList.add(localWsFichiersVolumineuxReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsFichiersVolumineuxReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsFichiersVolumineuxResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsFichiersVolumineuxResponse object =
+ new WsFichiersVolumineuxResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsFichiersVolumineuxResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsFichiersVolumineuxResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsFichiersVolumineuxReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsFichiersVolumineuxReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGSeda.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGSeda bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGSeda
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGSeda",
+ "ns1");
+
+
+
+ /**
+ * field for Params
+ */
+
+
+ protected org.apache.axiom.om.OMElement localParams ;
+
+
+ /**
+ * Auto generated getter method
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getParams(){
+ return localParams;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Params
+ */
+ public void setParams(org.apache.axiom.om.OMElement param){
+
+ this.localParams=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGSeda",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGSeda",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "params", xmlWriter);
+
+
+ if (localParams==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+ localParams.serialize(xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "params"));
+
+ elementList.add(localParams==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localParams));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGSeda parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGSeda object =
+ new WsGSeda();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGSeda".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGSeda)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement()){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ org.apache.axiom.om.OMFactory fac = org.apache.axiom.om.OMAbstractFactory.getOMFactory();
+ org.apache.axiom.om.OMNamespace omNs = fac.createOMNamespace("", "");
+ org.apache.axiom.om.OMElement _valueParams = fac.createOMElement("params", omNs);
+ _valueParams.addChild(fac.createOMText(_valueParams, content));
+ object.setParams(_valueParams);
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGSedaResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGSedaResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGSedaResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGSedaResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsGSedaReturn
+ */
+
+
+ protected java.lang.String localWsGSedaReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsGSedaReturn(){
+ return localWsGSedaReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsGSedaReturn
+ */
+ public void setWsGSedaReturn(java.lang.String param){
+
+ this.localWsGSedaReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGSedaResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGSedaResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsGSedaReturn", xmlWriter);
+
+
+ if (localWsGSedaReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsGSedaReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsGSedaReturn"));
+
+ elementList.add(localWsGSedaReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsGSedaReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGSedaResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGSedaResponse object =
+ new WsGSedaResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGSedaResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGSedaResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsGSedaReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsGSedaReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetCompteur.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetCompteur bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetCompteur
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetCompteur",
+ "ns1");
+
+
+
+ /**
+ * field for Id
+ */
+
+
+ protected java.lang.String localId ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getId(){
+ return localId;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Id
+ */
+ public void setId(java.lang.String param){
+
+ this.localId=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetCompteur",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetCompteur",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "id", xmlWriter);
+
+
+ if (localId==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localId);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "id"));
+
+ elementList.add(localId==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localId));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetCompteur parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetCompteur object =
+ new WsGetCompteur();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetCompteur".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetCompteur)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","id").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setId(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetCompteurResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetCompteurResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetCompteurResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetCompteurResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsGetCompteurReturn
+ */
+
+
+ protected java.lang.String localWsGetCompteurReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsGetCompteurReturn(){
+ return localWsGetCompteurReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsGetCompteurReturn
+ */
+ public void setWsGetCompteurReturn(java.lang.String param){
+
+ this.localWsGetCompteurReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetCompteurResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetCompteurResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsGetCompteurReturn", xmlWriter);
+
+
+ if (localWsGetCompteurReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsGetCompteurReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsGetCompteurReturn"));
+
+ elementList.add(localWsGetCompteurReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsGetCompteurReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetCompteurResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetCompteurResponse object =
+ new WsGetCompteurResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetCompteurResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetCompteurResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsGetCompteurReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsGetCompteurReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetDuaExpirees.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetDuaExpirees bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetDuaExpirees
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetDuaExpirees",
+ "ns1");
+
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetDuaExpirees",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetDuaExpirees",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetDuaExpirees parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetDuaExpirees object =
+ new WsGetDuaExpirees();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetDuaExpirees".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetDuaExpirees)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetDuaExpireesResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetDuaExpireesResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetDuaExpireesResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetDuaExpireesResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsGetDuaExpireesReturn
+ */
+
+
+ protected org.apache.axiom.om.OMElement localWsGetDuaExpireesReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getWsGetDuaExpireesReturn(){
+ return localWsGetDuaExpireesReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsGetDuaExpireesReturn
+ */
+ public void setWsGetDuaExpireesReturn(org.apache.axiom.om.OMElement param){
+
+ this.localWsGetDuaExpireesReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetDuaExpireesResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetDuaExpireesResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsGetDuaExpireesReturn", xmlWriter);
+
+
+ if (localWsGetDuaExpireesReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+ localWsGetDuaExpireesReturn.serialize(xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsGetDuaExpireesReturn"));
+
+ elementList.add(localWsGetDuaExpireesReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsGetDuaExpireesReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetDuaExpireesResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetDuaExpireesResponse object =
+ new WsGetDuaExpireesResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetDuaExpireesResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetDuaExpireesResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement()){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ org.apache.axiom.om.OMFactory fac = org.apache.axiom.om.OMAbstractFactory.getOMFactory();
+ org.apache.axiom.om.OMNamespace omNs = fac.createOMNamespace("", "");
+ org.apache.axiom.om.OMElement _valueWsGetDuaExpireesReturn = fac.createOMElement("wsGetDuaExpireesReturn", omNs);
+ _valueWsGetDuaExpireesReturn.addChild(fac.createOMText(_valueWsGetDuaExpireesReturn, content));
+ object.setWsGetDuaExpireesReturn(_valueWsGetDuaExpireesReturn);
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetMessage.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetMessage bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetMessage
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetMessage",
+ "ns1");
+
+
+
+ /**
+ * field for TypeEchange
+ */
+
+
+ protected java.lang.String localTypeEchange ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getTypeEchange(){
+ return localTypeEchange;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param TypeEchange
+ */
+ public void setTypeEchange(java.lang.String param){
+
+ this.localTypeEchange=param;
+
+
+ }
+
+
+ /**
+ * field for TypeMessage
+ */
+
+
+ protected java.lang.String localTypeMessage ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getTypeMessage(){
+ return localTypeMessage;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param TypeMessage
+ */
+ public void setTypeMessage(java.lang.String param){
+
+ this.localTypeMessage=param;
+
+
+ }
+
+
+ /**
+ * field for IdentifiantMessage
+ */
+
+
+ protected java.lang.String localIdentifiantMessage ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getIdentifiantMessage(){
+ return localIdentifiantMessage;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param IdentifiantMessage
+ */
+ public void setIdentifiantMessage(java.lang.String param){
+
+ this.localIdentifiantMessage=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetMessage",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetMessage",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "typeEchange", xmlWriter);
+
+
+ if (localTypeEchange==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localTypeEchange);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "typeMessage", xmlWriter);
+
+
+ if (localTypeMessage==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localTypeMessage);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "identifiantMessage", xmlWriter);
+
+
+ if (localIdentifiantMessage==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localIdentifiantMessage);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "typeEchange"));
+
+ elementList.add(localTypeEchange==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localTypeEchange));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "typeMessage"));
+
+ elementList.add(localTypeMessage==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localTypeMessage));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "identifiantMessage"));
+
+ elementList.add(localIdentifiantMessage==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localIdentifiantMessage));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetMessage parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetMessage object =
+ new WsGetMessage();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetMessage".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetMessage)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","typeEchange").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setTypeEchange(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","typeMessage").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setTypeMessage(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","identifiantMessage").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setIdentifiantMessage(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetMessageResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetMessageResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetMessageResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetMessageResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsGetMessageReturn
+ */
+
+
+ protected java.lang.String localWsGetMessageReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsGetMessageReturn(){
+ return localWsGetMessageReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsGetMessageReturn
+ */
+ public void setWsGetMessageReturn(java.lang.String param){
+
+ this.localWsGetMessageReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetMessageResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetMessageResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsGetMessageReturn", xmlWriter);
+
+
+ if (localWsGetMessageReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsGetMessageReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsGetMessageReturn"));
+
+ elementList.add(localWsGetMessageReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsGetMessageReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetMessageResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetMessageResponse object =
+ new WsGetMessageResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetMessageResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetMessageResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsGetMessageReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsGetMessageReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetPathRepoBigFile.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetPathRepoBigFile bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetPathRepoBigFile
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetPathRepoBigFile",
+ "ns1");
+
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetPathRepoBigFile",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetPathRepoBigFile",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetPathRepoBigFile parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetPathRepoBigFile object =
+ new WsGetPathRepoBigFile();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetPathRepoBigFile".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetPathRepoBigFile)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetPathRepoBigFileResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetPathRepoBigFileResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetPathRepoBigFileResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetPathRepoBigFileResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsGetPathRepoBigFileReturn
+ */
+
+
+ protected java.lang.String localWsGetPathRepoBigFileReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsGetPathRepoBigFileReturn(){
+ return localWsGetPathRepoBigFileReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsGetPathRepoBigFileReturn
+ */
+ public void setWsGetPathRepoBigFileReturn(java.lang.String param){
+
+ this.localWsGetPathRepoBigFileReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetPathRepoBigFileResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetPathRepoBigFileResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsGetPathRepoBigFileReturn", xmlWriter);
+
+
+ if (localWsGetPathRepoBigFileReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsGetPathRepoBigFileReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsGetPathRepoBigFileReturn"));
+
+ elementList.add(localWsGetPathRepoBigFileReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsGetPathRepoBigFileReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetPathRepoBigFileResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetPathRepoBigFileResponse object =
+ new WsGetPathRepoBigFileResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetPathRepoBigFileResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetPathRepoBigFileResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsGetPathRepoBigFileReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsGetPathRepoBigFileReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetVersion.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetVersion bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetVersion
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetVersion",
+ "ns1");
+
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetVersion",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetVersion",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetVersion parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetVersion object =
+ new WsGetVersion();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetVersion".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetVersion)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsGetVersionResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsGetVersionResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsGetVersionResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsGetVersionResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsGetVersionReturn
+ */
+
+
+ protected java.lang.String localWsGetVersionReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsGetVersionReturn(){
+ return localWsGetVersionReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsGetVersionReturn
+ */
+ public void setWsGetVersionReturn(java.lang.String param){
+
+ this.localWsGetVersionReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsGetVersionResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsGetVersionResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsGetVersionReturn", xmlWriter);
+
+
+ if (localWsGetVersionReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsGetVersionReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsGetVersionReturn"));
+
+ elementList.add(localWsGetVersionReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsGetVersionReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsGetVersionResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsGetVersionResponse object =
+ new WsGetVersionResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsGetVersionResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsGetVersionResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsGetVersionReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsGetVersionReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsMessageValidationState.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsMessageValidationState bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsMessageValidationState
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsMessageValidationState",
+ "ns1");
+
+
+
+ /**
+ * field for ArchiveDestructionId
+ */
+
+
+ protected java.lang.String localArchiveDestructionId ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getArchiveDestructionId(){
+ return localArchiveDestructionId;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param ArchiveDestructionId
+ */
+ public void setArchiveDestructionId(java.lang.String param){
+
+ this.localArchiveDestructionId=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsMessageValidationState",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsMessageValidationState",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "archiveDestructionId", xmlWriter);
+
+
+ if (localArchiveDestructionId==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localArchiveDestructionId);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "archiveDestructionId"));
+
+ elementList.add(localArchiveDestructionId==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localArchiveDestructionId));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsMessageValidationState parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsMessageValidationState object =
+ new WsMessageValidationState();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsMessageValidationState".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsMessageValidationState)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","archiveDestructionId").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setArchiveDestructionId(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsMessageValidationStateResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsMessageValidationStateResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsMessageValidationStateResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsMessageValidationStateResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsMessageValidationStateReturn
+ */
+
+
+ protected java.lang.String localWsMessageValidationStateReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsMessageValidationStateReturn(){
+ return localWsMessageValidationStateReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsMessageValidationStateReturn
+ */
+ public void setWsMessageValidationStateReturn(java.lang.String param){
+
+ this.localWsMessageValidationStateReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsMessageValidationStateResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsMessageValidationStateResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsMessageValidationStateReturn", xmlWriter);
+
+
+ if (localWsMessageValidationStateReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsMessageValidationStateReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsMessageValidationStateReturn"));
+
+ elementList.add(localWsMessageValidationStateReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsMessageValidationStateReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsMessageValidationStateResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsMessageValidationStateResponse object =
+ new WsMessageValidationStateResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsMessageValidationStateResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsMessageValidationStateResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsMessageValidationStateReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsMessageValidationStateReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsModificationNotification.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsModificationNotification bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsModificationNotification
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsModificationNotification",
+ "ns1");
+
+
+
+ /**
+ * field for NomBordereau
+ */
+
+
+ protected java.lang.String localNomBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomBordereau(){
+ return localNomBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomBordereau
+ */
+ public void setNomBordereau(java.lang.String param){
+
+ this.localNomBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Bordereau
+ */
+
+
+ protected javax.activation.DataHandler localBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getBordereau(){
+ return localBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Bordereau
+ */
+ public void setBordereau(javax.activation.DataHandler param){
+
+ this.localBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsModificationNotification",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsModificationNotification",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomBordereau", xmlWriter);
+
+
+ if (localNomBordereau==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomBordereau);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "bordereau", xmlWriter);
+
+
+ if (localBordereau!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localBordereau, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for bordereau", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomBordereau"));
+
+ elementList.add(localNomBordereau==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomBordereau));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "bordereau"));
+
+ elementList.add(localBordereau);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsModificationNotification parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsModificationNotification object =
+ new WsModificationNotification();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsModificationNotification".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsModificationNotification)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomBordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomBordereau(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","bordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setBordereau(null);
+ reader.next();
+ } else {
+
+ object.setBordereau(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsModificationNotificationResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsModificationNotificationResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsModificationNotificationResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsModificationNotificationResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsModificationNotificationReturn
+ */
+
+
+ protected java.lang.String localWsModificationNotificationReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsModificationNotificationReturn(){
+ return localWsModificationNotificationReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsModificationNotificationReturn
+ */
+ public void setWsModificationNotificationReturn(java.lang.String param){
+
+ this.localWsModificationNotificationReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsModificationNotificationResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsModificationNotificationResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsModificationNotificationReturn", xmlWriter);
+
+
+ if (localWsModificationNotificationReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsModificationNotificationReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsModificationNotificationReturn"));
+
+ elementList.add(localWsModificationNotificationReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsModificationNotificationReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsModificationNotificationResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsModificationNotificationResponse object =
+ new WsModificationNotificationResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsModificationNotificationResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsModificationNotificationResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsModificationNotificationReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsModificationNotificationReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsRestitution.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsRestitution bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsRestitution
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsRestitution",
+ "ns1");
+
+
+
+ /**
+ * field for NomBordereau
+ */
+
+
+ protected java.lang.String localNomBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomBordereau(){
+ return localNomBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomBordereau
+ */
+ public void setNomBordereau(java.lang.String param){
+
+ this.localNomBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for Bordereau
+ */
+
+
+ protected javax.activation.DataHandler localBordereau ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getBordereau(){
+ return localBordereau;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Bordereau
+ */
+ public void setBordereau(javax.activation.DataHandler param){
+
+ this.localBordereau=param;
+
+
+ }
+
+
+ /**
+ * field for NomDocument
+ */
+
+
+ protected java.lang.String localNomDocument ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getNomDocument(){
+ return localNomDocument;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param NomDocument
+ */
+ public void setNomDocument(java.lang.String param){
+
+ this.localNomDocument=param;
+
+
+ }
+
+
+ /**
+ * field for Document
+ */
+
+
+ protected javax.activation.DataHandler localDocument ;
+
+
+ /**
+ * Auto generated getter method
+ * @return javax.activation.DataHandler
+ */
+ public javax.activation.DataHandler getDocument(){
+ return localDocument;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Document
+ */
+ public void setDocument(javax.activation.DataHandler param){
+
+ this.localDocument=param;
+
+
+ }
+
+
+ /**
+ * field for TypeDocument
+ */
+
+
+ protected java.lang.String localTypeDocument ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getTypeDocument(){
+ return localTypeDocument;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param TypeDocument
+ */
+ public void setTypeDocument(java.lang.String param){
+
+ this.localTypeDocument=param;
+
+
+ }
+
+
+ /**
+ * field for Login
+ */
+
+
+ protected java.lang.String localLogin ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getLogin(){
+ return localLogin;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Login
+ */
+ public void setLogin(java.lang.String param){
+
+ this.localLogin=param;
+
+
+ }
+
+
+ /**
+ * field for Password
+ */
+
+
+ protected java.lang.String localPassword ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getPassword(){
+ return localPassword;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param Password
+ */
+ public void setPassword(java.lang.String param){
+
+ this.localPassword=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsRestitution",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsRestitution",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomBordereau", xmlWriter);
+
+
+ if (localNomBordereau==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomBordereau);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "bordereau", xmlWriter);
+
+
+ if (localBordereau!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localBordereau, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for bordereau", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "nomDocument", xmlWriter);
+
+
+ if (localNomDocument==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localNomDocument);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "document", xmlWriter);
+
+
+ if (localDocument!=null) {
+ try {
+ org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, localDocument, null, true);
+ } catch (java.io.IOException ex) {
+ throw new javax.xml.stream.XMLStreamException("Unable to read data handler for document", ex);
+ }
+ } else {
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "typeDocument", xmlWriter);
+
+
+ if (localTypeDocument==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localTypeDocument);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "login", xmlWriter);
+
+
+ if (localLogin==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localLogin);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ namespace = "";
+ writeStartElement(null, namespace, "password", xmlWriter);
+
+
+ if (localPassword==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localPassword);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomBordereau"));
+
+ elementList.add(localNomBordereau==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomBordereau));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "bordereau"));
+
+ elementList.add(localBordereau);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "nomDocument"));
+
+ elementList.add(localNomDocument==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localNomDocument));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "document"));
+
+ elementList.add(localDocument);
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "typeDocument"));
+
+ elementList.add(localTypeDocument==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localTypeDocument));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "login"));
+
+ elementList.add(localLogin==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localLogin));
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "password"));
+
+ elementList.add(localPassword==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localPassword));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsRestitution parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsRestitution object =
+ new WsRestitution();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsRestitution".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsRestitution)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomBordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomBordereau(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","bordereau").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setBordereau(null);
+ reader.next();
+ } else {
+
+ object.setBordereau(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","nomDocument").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setNomDocument(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","document").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.setDocument(null);
+ reader.next();
+ } else {
+
+ object.setDocument(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","typeDocument").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setTypeDocument(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","login").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setLogin(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","password").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setPassword(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+
+/**
+ * WsRestitutionResponse.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.6.2 Built on : Apr 17, 2012 (05:34:40 IST)
+ */
+
+
+ package server;
+
+
+ /**
+ * WsRestitutionResponse bean class
+ */
+ @SuppressWarnings({"unchecked","unused"})
+
+ public class WsRestitutionResponse
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "urn:server",
+ "wsRestitutionResponse",
+ "ns1");
+
+
+
+ /**
+ * field for WsRestitutionReturn
+ */
+
+
+ protected java.lang.String localWsRestitutionReturn ;
+
+
+ /**
+ * Auto generated getter method
+ * @return java.lang.String
+ */
+ public java.lang.String getWsRestitutionReturn(){
+ return localWsRestitutionReturn;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param WsRestitutionReturn
+ */
+ public void setWsRestitutionReturn(java.lang.String param){
+
+ this.localWsRestitutionReturn=param;
+
+
+ }
+
+
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
+ return factory.createOMElement(dataSource,MY_QNAME);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ javax.xml.stream.XMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+ writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter);
+
+ if (serializeType){
+
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"urn:server");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":wsRestitutionResponse",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "wsRestitutionResponse",
+ xmlWriter);
+ }
+
+
+ }
+
+ namespace = "";
+ writeStartElement(null, namespace, "wsRestitutionReturn", xmlWriter);
+
+
+ if (localWsRestitutionReturn==null){
+ // write the nil attribute
+
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+
+ }else{
+
+
+ xmlWriter.writeCharacters(localWsRestitutionReturn);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("urn:server")){
+ return "ns1";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ /**
+ * Utility method to write an element start tag.
+ */
+ private void writeStartElement(java.lang.String prefix, java.lang.String namespace, java.lang.String localPart,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (namespace.length() == 0) {
+ prefix = "";
+ } else if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName,attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ javax.xml.namespace.NamespaceContext nsContext = xmlWriter.getNamespaceContext();
+ while (true) {
+ java.lang.String uri = nsContext.getNamespaceURI(prefix);
+ if (uri == null || uri.length() == 0) {
+ break;
+ }
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+ elementList.add(new javax.xml.namespace.QName("",
+ "wsRestitutionReturn"));
+
+ elementList.add(localWsRestitutionReturn==null?null:
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localWsRestitutionReturn));
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static WsRestitutionResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ WsRestitutionResponse object =
+ new WsRestitutionResponse();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"wsRestitutionResponse".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (WsRestitutionResponse)server.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+
+ reader.next();
+
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+
+ if (reader.isStartElement() && new javax.xml.namespace.QName("","wsRestitutionReturn").equals(reader.getName())){
+
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){
+
+
+ java.lang.String content = reader.getElementText();
+
+ object.setWsRestitutionReturn(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));
+
+ } else {
+
+
+ reader.getElementText(); // throw away text nodes if any.
+ }
+
+ reader.next();
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement())
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getName());
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
+
+ <display-name>Alfresco Project Slingshot</display-name>
+ <description>Alfresco Project Slingshot application</description>
+
+ <context-param>
+ <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <!-- Spring Application Context location and context class -->
+ <context-param>
+ <description>Spring config file location</description>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/classes/web-application-config.xml</param-value>
+ </context-param>
+
+ <filter>
+ <description>Set HTTP cache Expires header 30 days forward for a mapping.</description>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <filter-class>org.alfresco.web.scripts.servlet.StaticAssetCacheFilter</filter-class>
+ <init-param>
+ <description>Add an Expires Header 30 days forward</description>
+ <param-name>expires</param-name>
+ <param-value>30</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <description>MT authentication support - NOTE: does not support portlets</description>
+ <filter-name>MTAuthentationFilter</filter-name>
+ <filter-class>org.alfresco.web.site.servlet.MTAuthenticationFilter</filter-class>
+ </filter>
+
+ <filter>
+ <description>Redirects view and service URLs to the dispatcher servlet.</description>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
+ </filter>
+
+ <filter>
+ <description>Share SSO authentication support filter.</description>
+ <filter-name>Authentication Filter</filter-name>
+ <filter-class>org.alfresco.web.site.servlet.SSOAuthenticationFilter</filter-class>
+ <init-param>
+ <param-name>endpoint</param-name>
+ <param-value>alfresco</param-value>
+ </init-param>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.jpg</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.png</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.gif</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.css</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CacheExpiresFilter</filter-name>
+ <url-pattern>*.js</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Authentication Filter</filter-name>
+ <url-pattern>/page/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Authentication Filter</filter-name>
+ <url-pattern>/p/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>Authentication Filter</filter-name>
+ <url-pattern>/proxy/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/proxy/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/service/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/feedservice/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/res/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/system/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/s/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>MTAuthentationFilter</filter-name>
+ <url-pattern>/page/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>MTAuthentationFilter</filter-name>
+ <url-pattern>/p/*</url-pattern>
+ </filter-mapping>
+
+ <!-- Spring Context Loader listener - the name of the default global context is passed to the DispatcherServlet
+ in the servlet definition below - this is to allow the NTLM filter etc. to find the single app context -->
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+ <servlet>
+ <servlet-name>Spring Surf Dispatcher Servlet</servlet-name>
+ <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
+ <init-param>
+ <param-name>contextAttribute</param-name>
+ <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Spring Surf Dispatcher Servlet</servlet-name>
+ <url-pattern>/page/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Spring Surf Dispatcher Servlet</servlet-name>
+ <url-pattern>/p/*</url-pattern>
+ </servlet-mapping>
+
+ <session-config>
+ <session-timeout>360</session-timeout>
+ </session-config>
+
+
+ <!-- welcome file list precedence order is index.jsp -->
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+ <error-page>
+ <error-code>500</error-code>
+ <location>/error500.jsp</location>
+ </error-page>
+
+
+</web-app>
\ No newline at end of file
--- /dev/null
+include.default=true
+/web/saem=/saem
+/web/components=/components
+/config/WEB-INF=/WEB-INF
\ No newline at end of file
--- /dev/null
+# AKKA Code Alfresco Share Extension AMP Project
+module.id=eu_akka_share
+module.title=Personnalisation de Share pour le projet SAEM
+module.description=Personnalisation de Share pour le projet SAEM
+module.version=1.0
+
+# The following optional properties can be used to prevent the module from being added
+# to inappropriate versions of the WAR file.
+module.repo.version.min=4.2
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
+
+<beans>
+ <bean id="webscript.resources"
+ class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
+ <property name="resourceBundles">
+ <list>
+ <value>alfresco.web-extension.messages.saemMessages</value>
+ </list>
+ </property>
+ </bean>
+ <bean id="eu.akka.saem.share.evaluator.IsEliminationLaunchable" class="eu.akka.saem.share.evaluator.IsEliminationLaunchable" />
+ <bean id="eu.akka.saem.share.evaluator.IsRestitutionLaunchable" class="eu.akka.saem.share.evaluator.IsRestitutionLaunchable" />
+ <bean id="eu.akka.saem.share.evaluator.IsWorkflowLaunchable" class="eu.akka.saem.share.evaluator.IsWorkflowLaunchable" />
+ <bean id="eu.akka.saem.share.evaluator.hideSedaProperties" class="eu.akka.saem.share.evaluator.HideSedaProperties" />
+ <bean id="eu.akka.saem.share.evaluator.IsArchiveModifiable" class="eu.akka.saem.share.evaluator.IsArchiveModifiable" />
+ <bean id="eu.akka.saem.share.evaluator.IsArchiveBordereauViewable" class="eu.akka.saem.share.evaluator.IsArchiveBordereauViewable" />
+ <bean id="eu.akka.saem.share.evaluator.IsDocumentBordereauViewable" class="eu.akka.saem.share.evaluator.IsDocumentBordereauViewable" />
+</beans>
\ No newline at end of file
--- /dev/null
+prop.saem_profilName=Profil SEDA
+prop.saem_serviceVersant=Service(s) versant effectif(s)
+prop.saem_controlService=Service(s) de contrôle effectif(s)
+
+aspect.saem_profilable=Profilable
+aspect.saem_archivable=Archivable
+
+saem_profil=Profil SEDA
+prop.saem_isprofil=Profil SEDA
+prop.saem_isarchive=Archive
+
+page.createArchive.description=Formulaire de création ou de modification d'une archive
+page.createArchive.title=Créer ou modifier une archive
+
+saemwf_items_tocorrect.title=Archive à corriger
+saemwf_items.title=Dossier archivable
+saemwf_comment.title=Commentaire
+saemwf_description.title=Description
+saemwf_validateRejectOutcome.title=Validation
+saemwf_items_toeliminate.title=Archive à éliminer
+saemwf_SV_commentary.title=Commentaire du service versant
+saemwf_SA_commentary.title=Commentaire du service d'archive
+
+actions.saem.asalaeElimination=Eliminer l'archive
+actions.saem.asalaeElimination.failure=Impossible de lancer le workflow d'élimination
+actions.saem.asalaeElimination.success=Lancement du workflow d'élimination effectué
+
+actions.archive.modify=Modifier l'archive
+actions.archive.bordereau.viewer=Visualiser le bordereau de versement
+actions.document.bordereau.viewer=Visualiser le bordereau
+
+actions.saem.asalaeVersement=Verser l'archive
+actions.saem.asalaeVersement.failure=Impossible de lancer le workflow de versement
+actions.saem.asalaeVersement.success=Lancement du workflow de versement effectué
+
+actions.saem.asalaeRestitution=Restituer l'archive
+actions.saem.asalaeRestitution.failure=Impossible de lancer le workflow de restitution
+actions.saem.asalaeRestitution.success=Lancement du workflow de restitution effectué
\ No newline at end of file
--- /dev/null
+saemwf_srcFolder.title=Archive à verser
+saemwf_commentary.title=Commentaire
\ No newline at end of file
--- /dev/null
+<alfresco-config>
+
+ <!-- Global config section -->
+ <config replace="true">
+ <flags>
+ <!-- Developer debugging setting - DEBUG mode for client scripts in the
+ browser -->
+ <client-debug>true</client-debug>
+
+ <!-- LOGGING can be toggled at runtime when in DEBUG mode (Ctrl, Ctrl,
+ Shift, Shift). This flag automatically activates logging on page load. -->
+ <client-debug-autologging>false</client-debug-autologging>
+ </flags>
+ </config>
+
+ <config evaluator="string-compare" condition="WebFramework">
+ <web-framework>
+ <!-- SpringSurf Autowire Runtime Settings -->
+ <!-- Developers can set mode to 'development' to disable; SpringSurf caches,
+ FreeMarker template caching and Rhino JavaScript compilation. -->
+ <autowire>
+ <!-- Pick the mode: "production" or "development" -->
+ <mode>production</mode>
+ </autowire>
+
+ <!-- Allows extension modules with <auto-deploy> set to true to be automatically
+ deployed -->
+ <module-deployment>
+ <mode>manual</mode>
+ <enable-auto-deploy-modules>true
+ </enable-auto-deploy-modules>
+ </module-deployment>
+ </web-framework>
+ </config>
+
+ <!-- Repository Library config section -->
+ <config evaluator="string-compare" condition="RepositoryLibrary"
+ replace="true">
+ <!-- Whether the link to the Repository Library appears in the header component
+ or not. -->
+ <visible>true</visible>
+ </config>
+
+ <config evaluator="string-compare" condition="Remote">
+ <remote>
+ <endpoint>
+ <id>alfresco-noauth</id>
+ <name>Alfresco - unauthenticated access</name>
+ <description>Access to Alfresco Repository WebScripts that do not
+ require
+ authentication
+ </description>
+ <connector-id>alfresco</connector-id>
+ <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
+ <identity>none</identity>
+ </endpoint>
+
+ <endpoint>
+ <id>alfresco</id>
+ <name>Alfresco - user access</name>
+ <description>Access to Alfresco Repository WebScripts that require
+ user
+ authentication
+ </description>
+ <connector-id>alfresco</connector-id>
+ <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
+ <identity>user</identity>
+ </endpoint>
+
+ <endpoint>
+ <id>alfresco-feed</id>
+ <name>Alfresco Feed</name>
+ <description>Alfresco Feed - supports basic HTTP authentication via
+ the
+ EndPointProxyServlet
+ </description>
+ <connector-id>http</connector-id>
+ <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
+ <basic-auth>true</basic-auth>
+ <identity>user</identity>
+ </endpoint>
+
+ <endpoint>
+ <id>activiti-admin</id>
+ <name>Activiti Admin UI - user access</name>
+ <description>Access to Activiti Admin UI, that requires user
+ authentication
+ </description>
+ <connector-id>activiti-admin-connector</connector-id>
+ <endpoint-url>http://localhost:8080/alfresco/activiti-admin
+ </endpoint-url>
+ <identity>user</identity>
+ </endpoint>
+ </remote>
+ </config>
+
+ <!-- Document Library Actions config section -->
+ <config evaluator="string-compare" condition="DocLibActions"
+ replace="true">
+
+ <!-- Action definitions -->
+ <actions>
+ <!-- Download document -->
+ <action id="document-download" type="link"
+ label="actions.document.download">
+ <param name="href">{downloadUrl}</param>
+ <evaluator>evaluator.doclib.action.downloadBrowser</evaluator>
+ </action>
+
+ <!-- View document in browser -->
+ <action id="document-view-content" type="link"
+ label="actions.document.view">
+ <param name="href">{viewUrl}</param>
+ </action>
+
+ <!-- View document details -->
+ <action id="document-view-details" type="pagelink"
+ label="actions.document.view-details">
+ <param name="page">document-details?nodeRef={node.nodeRef}</param>
+ </action>
+
+ <!-- View folder details -->
+ <action id="folder-view-details" type="pagelink"
+ label="actions.folder.view-details">
+ <param name="page">folder-details?nodeRef={node.nodeRef}</param>
+ </action>
+
+ <!-- Edit properties pop-up -->
+ <action id="document-edit-properties" type="javascript"
+ label="actions.document.edit-metadata">
+ <param name="function">onActionDetails</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Edit properties page -->
+ <action id="document-edit-metadata" type="pagelink"
+ label="actions.document.edit-metadata">
+ <param name="page">edit-metadata?nodeRef={node.nodeRef}</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Approve simple workflow -->
+ <action id="document-approve" type="javascript"
+ label="{jsNode.properties.app_approveStep}">
+ <param name="function">onActionSimpleRepoAction</param>
+ <!-- Additional parameters for onRepoAction function -->
+ <param name="action">accept-simpleworkflow</param>
+ <param name="successMessage">message.simple-workflow.approved</param>
+ <param name="failureMessage">message.simple-workflow.failure</param>
+ <!-- aspect check, property != null check, action name = property value -->
+ <evaluator>evaluator.doclib.action.simpleApprove</evaluator>
+ </action>
+
+ <!-- Reject simple workflow -->
+ <action id="document-reject" type="javascript"
+ label="{jsNode.properties.app_rejectStep}">
+ <param name="function">onActionSimpleRepoAction</param>
+ <!-- Additional parameters for onRepoAction function -->
+ <param name="action">reject-simpleworkflow</param>
+ <param name="successMessage">message.simple-workflow.rejected</param>
+ <param name="failureMessage">message.simple-workflow.failure</param>
+ <!-- aspect check, property != null check, action name = property value -->
+ <evaluator>evaluator.doclib.action.simpleReject</evaluator>
+ </action>
+
+ <!-- Increment Counter -->
+ <action id="document-increment-counter" type="javascript"
+ label="actions.document.increment-counter">
+ <param name="function">onActionSimpleRepoAction</param>
+ <!-- Additional parameters for onRepoAction function -->
+ <param name="action">counter</param>
+ <param name="successMessage">message.increment-counter.success</param>
+ <param name="failureMessage">message.increment-counter.failure</param>
+ </action>
+
+ <!-- Extract Metadata -->
+ <action id="document-extract-metadata" type="javascript"
+ label="actions.document.extract-metadata">
+ <param name="function">onActionSimpleRepoAction</param>
+ <!-- Additional parameters for onRepoAction function -->
+ <param name="action">extract-metadata</param>
+ <param name="successMessage">message.extract-metadata.success</param>
+ <param name="failureMessage">message.extract-metadata.failure</param>
+ </action>
+
+ <!-- Transform -->
+ <action id="document-transform" type="javascript"
+ label="actions.document.transform">
+ <param name="function">onActionFormDialog</param>
+ <!-- Additional parameters for onFormDialog function -->
+ <param name="itemKind">action</param>
+ <param name="itemId">transform</param>
+ <param name="mode">create</param>
+ <param name="destination">{node.nodeRef}</param>
+ <param name="successMessage">message.transform.success</param>
+ <param name="failureMessage">message.transform.failure</param>
+ </action>
+
+ <!-- Transform Image -->
+ <action id="document-transform-image" type="javascript"
+ label="actions.document.transform-image">
+ <param name="function">onActionFormDialog</param>
+ <!-- Additional parameters for onFormDialog function -->
+ <param name="itemKind">action</param>
+ <param name="itemId">transform-image</param>
+ <param name="mode">create</param>
+ <param name="destination">{node.nodeRef}</param>
+ <param name="successMessage">message.transform-image.success</param>
+ <param name="failureMessage">message.transform-image.failure</param>
+ </action>
+
+ <!-- Execute Script -->
+ <action id="document-execute-script" type="javascript"
+ label="actions.document.execute-script">
+ <param name="function">onActionFormDialog</param>
+ <!-- Additional parameters for onFormDialog function -->
+ <param name="itemKind">action</param>
+ <param name="itemId">script</param>
+ <param name="mode">create</param>
+ <param name="destination">{node.nodeRef}</param>
+ <param name="successMessage">message.execute-script.success</param>
+ <param name="failureMessage">message.execute-script.failure</param>
+ </action>
+
+ <!-- Locate with path view -->
+ <action id="document-locate" type="javascript" label="actions.document.locate">
+ <param name="function">onActionLocate</param>
+ <evaluator>evaluator.doclib.action.locateAction</evaluator>
+ </action>
+
+ <!-- Upload new version -->
+ <action id="document-upload-new-version" type="javascript"
+ label="actions.document.upload-new-version">
+ <param name="function">onActionUploadNewVersion</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.action.upload</evaluator>
+ <evaluator>evaluator.doclib.action.editableByCurrentUser</evaluator>
+ <evaluator negate="true">evaluator.doclib.metadata.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Inline edit -->
+ <action id="document-inline-edit" type="pagelink"
+ label="actions.document.inline-edit">
+ <param name="page">inline-edit?nodeRef={node.nodeRef}</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <!-- aspect check (app:inlineeditable), mimetype check (text/plain, text/html,
+ text/xml) -->
+ <evaluator>evaluator.doclib.action.inlineEdit</evaluator>
+ <evaluator>evaluator.doclib.action.editableByCurrentUser</evaluator>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Edit online -->
+ <action id="document-edit-online" type="javascript"
+ label="actions.document.edit-online">
+ <param name="function">onActionEditOnline</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <!-- vti module check, mimetype check, userAgent check -->
+ <evaluator>evaluator.doclib.action.onlineEdit</evaluator>
+ <evaluator>evaluator.doclib.action.editableByCurrentUser</evaluator>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Edit offline -->
+ <action id="document-edit-offline" type="javascript"
+ label="actions.document.edit-offline">
+ <param name="function">onActionEditOffline</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.action.offlineEdit</evaluator>
+ <evaluator negate="true">evaluator.doclib.action.notEditable
+ </evaluator>
+ </action>
+
+ <!-- Copy to -->
+ <action id="document-copy-to" type="javascript" label="actions.document.copy-to">
+ <param name="function">onActionCopyTo</param>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Move to -->
+ <action id="document-move-to" type="javascript" label="actions.document.move-to">
+ <param name="function">onActionMoveTo</param>
+ <permissions>
+ <permission allow="true">Delete</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Delete -->
+ <action id="document-delete" type="javascript" label="actions.document.delete">
+ <param name="function">onActionDelete</param>
+ <permissions>
+ <permission allow="true">Delete</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Assign workflow -->
+ <action id="document-assign-workflow" type="javascript"
+ label="actions.document.assign-workflow">
+ <param name="function">onActionAssignWorkflow</param>
+ <evaluator>eu.akka.saem.share.evaluator.IsWorkflowLaunchable
+ </evaluator>
+ </action>
+
+ <!-- <action id="bordereauViewer" type="javascript" -->
+ <!-- label="actions.bordereau.viewer"> -->
+ <!-- <evaluator>eu.akka.saem.share.evaluator.IsUserReader</evaluator> -->
+ <!-- </action> -->
+
+ <!-- Manage permissions (site roles) -->
+ <action id="document-manage-site-permissions" type="javascript"
+ icon="document-manage-permissions" label="actions.document.manage-permissions">
+ <param name="function">onActionManagePermissions</param>
+ <permissions>
+ <permission allow="true">ChangePermissions</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.action.siteBased</evaluator>
+ </action>
+
+ <!-- Manage permissions (repository roles) -->
+ <action id="document-manage-repo-permissions" type="pagelink"
+ icon="document-manage-permissions" label="actions.document.manage-permissions">
+ <param name="page">manage-permissions?nodeRef={node.nodeRef}</param>
+ <permissions>
+ <permission allow="true">ChangePermissions</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.siteBased
+ </evaluator>
+ </action>
+
+ <!-- Manage aspects -->
+ <action id="document-manage-aspects" type="javascript"
+ label="actions.document.manage-aspects">
+ <param name="function">onActionManageAspects</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Change type -->
+ <action id="document-change-type" type="javascript"
+ label="actions.document.change-type">
+ <param name="function">onActionChangeType</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- View original (of a Working Copy pair) -->
+ <action id="document-view-original" type="pagelink"
+ label="actions.document.view-original">
+ <param name="page">document-details?nodeRef={workingCopy.sourceNodeRef}
+ </param>
+ <!-- cm:workingcopy aspect -->
+ <evaluator>evaluator.doclib.action.isWorkingCopy</evaluator>
+ </action>
+
+ <!-- View working copy (of a Working Copy pair) -->
+ <action id="document-view-working-copy" type="pagelink"
+ label="actions.document.view-working-copy">
+ <param name="page">document-details?nodeRef={workingCopy.workingCopyNodeRef}
+ </param>
+ <!-- cm:workingcopy aspect -->
+ <evaluator>evaluator.doclib.action.hasWorkingCopy</evaluator>
+ </action>
+
+ <!-- Cancel editing (cancel checkout) -->
+ <action id="document-cancel-editing" type="javascript"
+ label="actions.document.cancel-editing">
+ <param name="function">onActionCancelEditing</param>
+ <permissions>
+ <permission allow="true">CancelCheckOut</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.action.isWorkingCopy</evaluator>
+ <evaluator>evaluator.doclib.action.editableByCurrentUser</evaluator>
+ </action>
+
+ <!-- Cancel editing (unlock) -->
+ <action id="document-cancel-editing-unlock" type="javascript"
+ label="actions.document.cancel-editing">
+ <param name="function">onActionCancelEditing</param>
+ <permissions>
+ <permission allow="true">CancelCheckOut</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.metadata.isLocked</evaluator>
+ </action>
+
+ <!-- Manage folder rules -->
+ <action id="folder-manage-rules" type="pagelink" label="actions.folder.rules">
+ <param name="page">folder-rules?nodeRef={node.nodeRef}</param>
+ <permissions>
+ <permission allow="true">ChangePermissions</permission>
+ </permissions>
+ </action>
+
+ <!-- View in Explorer client -->
+ <action id="view-in-explorer" type="link"
+ label="actions.folder.explorer-view">
+ <param name="href">{explorerViewUrl}</param>
+ <param name="target">_blank</param>
+ <!-- repository-url config set, not in portlet mode -->
+ <evaluator>evaluator.doclib.action.viewInExplorer</evaluator>
+ </action>
+
+ <!-- Checkout to Google Docs -->
+ <action id="document-checkout-to-googledocs" type="javascript"
+ label="actions.document.checkout-google">
+ <param name="function">onActionCheckoutToGoogleDocs</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <!-- gd:googleEditable -->
+ <evaluator>evaluator.doclib.action.googleDocsCheckOut</evaluator>
+ </action>
+
+ <!-- Checkin from Google Docs -->
+ <action id="document-checkin-from-googledocs" type="javascript"
+ label="actions.document.checkin-google">
+ <param name="function">onActionCheckinFromGoogleDocs</param>
+ <!-- gd:googleResource, cm:workingcopy & cm:workingCopyOwner = currentUser
+ OR cm:checkedOut, cm:lockOwner = currentUser -->
+ <evaluator>evaluator.doclib.action.googleDocsCheckIn</evaluator>
+ <override>document-checkout-to-googledocs</override>
+ </action>
+
+ <!-- View in Google Docs -->
+ <action id="document-view-googledoc" type="link"
+ icon="document-view-content" label="actions.document.view-google-doc">
+ <param name="href">{workingCopy.googleDocUrl}</param>
+ <param name="target">_blank</param>
+ <!-- gd:googleResource -->
+ <evaluator>evaluator.doclib.action.googleDocsView</evaluator>
+ </action>
+
+ <!-- View on Google Maps -->
+ <action id="document-view-googlemaps" type="pagelink"
+ label="actions.document.view-google-map">
+ <param name="page">geographic-map?nodeRef={node.nodeRef}</param>
+ <!-- aspect cm:geographic -->
+ <evaluator>evaluator.doclib.action.googleMaps</evaluator>
+ </action>
+
+ <!-- Transferred node: View in source repository -->
+ <action id="document-view-in-source-repository" type="link"
+ label="actions.document.view-source-repository">
+ <!-- calculated from siteId, item.location.repositoryId, replicationUrlMapping
+ from share-config-custom.xml and node.type -->
+ <param name="href">{sourceRepositoryUrl}</param>
+ <param name="target">_blank</param>
+ <!-- aspect trx:transferred, not portlet mode -->
+ <evaluator>evaluator.doclib.action.transferred</evaluator>
+ </action>
+
+ <!-- Publish document -->
+ <action id="document-publish" type="javascript" label="actions.document.publish">
+ <param name="function">onActionPublish</param>
+ <evaluator negate="true">evaluator.doclib.action.isLocked
+ </evaluator>
+ </action>
+
+ <!-- Cloud Sync: Create -->
+ <action id="document-cloud-sync" type="javascript"
+ label="actions.document.cloud-sync">
+ <param name="function">onActionCloudSync</param>
+ <permissions>
+ <permission allow="true">Write</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.action.isSyncable</evaluator>
+ </action>
+
+ <!-- Cloud Sync: Delete -->
+ <action id="document-cloud-unsync" type="javascript"
+ label="actions.document.cloud-unsync">
+ <param name="function">onActionCloudUnsync</param>
+ <permissions>
+ <permission allow="true">Delete</permission>
+ </permissions>
+ <evaluator>evaluator.doclib.action.isUnsyncable</evaluator>
+ <override>document-cloud-sync</override>
+ </action>
+
+ <!-- Cloud Sync: View In Cloud -->
+ <action id="document-view-in-cloud" type="link"
+ label="actions.document.view-in-cloud">
+ <param name="href">{cloudViewUrl}</param>
+ <param name="target">_blank</param>
+ <evaluator>evaluator.doclib.action.isSyncedFromLocal</evaluator>
+ </action>
+
+ <!-- Cloud Sync: Request Sync -->
+ <action id="document-request-sync" type="javascript"
+ label="actions.document.request-sync">
+ <param name="function">onActionCloudSyncRequest</param>
+ <evaluator>evaluator.doclib.action.isSyncedFromLocal</evaluator>
+ </action>
+
+ <!-- Download folder -->
+ <action id="folder-download" type="javascript" label="actions.folder.download"
+ icon="document-download">
+ <param name="function">onActionFolderDownload</param>
+ </action>
+
+ <!-- SAEM-105 : action de lancement du workflow d'elim dans asalae -->
+ <action id="asalae-elimination" type="javascript"
+ label="actions.saem.asalaeElimination" icon="document-assign-workflow">
+ <evaluator>eu.akka.saem.share.evaluator.IsEliminationLaunchable</evaluator>
+ <param name="function">onActionSimpleRepoAction</param>
+ <param name="action">asalae-elimination</param>
+ <param name="successMessage">actions.saem.asalaeElimination.success</param>
+ <param name="failureMessage">actions.saem.asalaeElimination.failure</param>
+ </action>
+
+ <!-- SAEM-134 : action de lancement du workflow de versement dans asalae -->
+ <action id="asalae-versement" type="javascript"
+ label="actions.saem.asalaeVersement" icon="document-assign-workflow">
+ <evaluator>eu.akka.saem.share.evaluator.IsWorkflowLaunchable</evaluator>
+ <param name="function">onActionAssignWorkflowVersement</param>
+ </action>
+
+ <!-- SAEM-134 : action de lancement du workflow de restitution dans asalae -->
+ <action id="asalae-restitution" type="javascript"
+ label="actions.saem.asalaeRestitution" icon="document-assign-workflow">
+ <evaluator>eu.akka.saem.share.evaluator.IsRestitutionLaunchable</evaluator>
+ <param name="function">onActionAssignWorkflowRestitution</param>
+ </action>
+
+ <!-- SAEM - 122 modification d'archive-->
+ <action id="archive-modify" type="javascript"
+ label="actions.archive.modify" icon="archive-modify">
+ <param name="function">onRedirectArchiveModify</param>
+ <evaluator>eu.akka.saem.share.evaluator.IsArchiveModifiable</evaluator>
+ </action>
+
+ <!-- SAEM - 122 visualisation bordereau archive -->
+ <action id="archive-bordereau-viewer" type="javascript"
+ label="actions.archive.bordereau.viewer" icon="archive-bordereau-viewer">
+ <param name="function">onRedirectArchiveBordereauViewer</param>
+ <evaluator>eu.akka.saem.share.evaluator.IsArchiveBordereauViewable</evaluator>
+ </action>
+
+ <!-- SAEM - 122 visualisation bordereau document -->
+ <action id="document-bordereau-viewer" type="javascript"
+ label="actions.document.bordereau.viewer" icon="archive-bordereau-viewer">
+ <param name="function">onRedirectDocumentBordereauViewer</param>
+ <evaluator>eu.akka.saem.share.evaluator.IsDocumentBordereauViewable</evaluator>
+ </action>
+
+ </actions>
+
+
+ <!-- Action Group resolver - decides which action group id to use for a
+ node -->
+ <actionGroupResolver>resolver.doclib.actionGroup</actionGroupResolver>
+
+ <!-- Action Group definitions -->
+ <actionGroups>
+ <actionGroup id="empty" />
+
+ <actionGroup id="document-browse">
+ <action index="0" id="document-bordereau-viewer" />
+ <action index="100" id="document-download" />
+ <action index="110" id="document-view-content" />
+ <action index="120" id="document-locate" />
+ <action index="130" id="document-edit-properties" />
+ <action index="140" id="document-upload-new-version" />
+ <action index="150" id="document-view-original" />
+ <action index="160" id="document-view-working-copy" />
+ <action index="170" id="document-approve" />
+ <action index="180" id="document-reject" />
+ <action index="190" id="document-inline-edit" />
+ <action index="200" id="document-edit-online" />
+ <action index="210" id="document-edit-offline" />
+ <action index="220" id="document-view-googledoc" />
+ <action index="230" id="document-checkout-to-googledocs" />
+ <action index="240" id="document-checkin-from-googledocs" />
+ <action index="250" id="document-copy-to" />
+ <action index="260" id="document-move-to" />
+ <action index="270" id="document-delete" />
+ <action index="280" id="document-assign-workflow" />
+ <action index="290" id="document-cancel-editing" />
+ <action index="295" id="document-cancel-editing-unlock" icon="document-cancel-editing" />
+ <action index="300" id="document-publish" />
+ <action index="310" id="document-view-googlemaps" />
+ <action index="320" id="document-view-in-source-repository" />
+ <action index="330" id="document-cloud-sync" />
+ <action index="340" id="document-cloud-unsync" />
+ <action index="350" id="document-view-in-cloud" />
+ <action index="360" id="document-request-sync" />
+ <action index="370" id="document-manage-site-permissions" />
+ </actionGroup>
+
+ <actionGroup id="document-details">
+ <action index="0" id="document-bordereau-viewer" />
+ <action index="100" id="document-download" />
+ <action index="110" id="document-view-content" />
+ <action index="120" id="document-edit-metadata" />
+ <action index="130" id="document-upload-new-version" />
+ <action index="140" id="document-view-original" />
+ <action index="150" id="document-view-working-copy" />
+ <action index="160" id="document-approve" />
+ <action index="170" id="document-reject" />
+ <action index="180" id="document-inline-edit" />
+ <action index="190" id="document-edit-online" />
+ <action index="200" id="document-edit-offline" />
+ <action index="210" id="document-view-googledoc" />
+ <action index="220" id="document-checkout-to-googledocs" />
+ <action index="230" id="document-checkin-from-googledocs" />
+ <action index="240" id="document-copy-to" />
+ <action index="250" id="document-move-to" />
+ <action index="260" id="document-delete" />
+ <action index="270" id="document-assign-workflow" />
+ <action index="280" id="document-cancel-editing" />
+ <action index="285" id="document-cancel-editing-unlock" icon="document-cancel-editing" />
+ <action index="290" id="document-manage-site-permissions" />
+ <action index="300" id="document-manage-repo-permissions" />
+ <action index="310" id="document-manage-aspects" />
+ <action index="320" id="document-change-type" />
+ <action index="330" id="document-view-in-source-repository" />
+ <action index="340" id="document-publish" />
+ <action index="350" id="document-view-googlemaps" />
+ <action index="360" id="document-cloud-sync" />
+ <action index="370" id="document-cloud-unsync" />
+ <action index="380" id="document-view-in-cloud" />
+ <action index="390" id="document-request-sync" />
+ </actionGroup>
+
+ <actionGroup id="folder-browse">
+ <action index="0" id="archive-bordereau-viewer" />
+ <action index="10" id="archive-modify" />
+ <action index="100" id="folder-download" />
+ <action index="105" id="folder-view-details" />
+ <action index="110" id="document-edit-properties" icon="folder-edit-properties"
+ label="actions.folder.edit-metadata" />
+ <action index="120" id="document-approve" icon="folder-approve" />
+ <action index="130" id="document-reject" icon="folder-reject" />
+ <action index="140" id="document-locate" icon="document-locate"
+ label="actions.folder.locate" />
+ <action index="150" id="document-copy-to" icon="folder-copy-to"
+ label="actions.folder.copy-to" />
+ <action index="160" id="document-move-to" icon="folder-move-to"
+ label="actions.folder.move-to" />
+ <action index="170" id="folder-manage-rules" />
+ <action index="180" id="document-delete" icon="folder-delete"
+ label="actions.folder.delete" />
+ <action index="190" id="document-manage-site-permissions"
+ icon="folder-manage-permissions" label="actions.folder.manage-permissions" />
+ <action index="200" id="document-manage-repo-permissions"
+ icon="folder-manage-permissions" label="actions.folder.manage-permissions" />
+ <action index="210" id="document-manage-aspects" label="actions.folder.manage-aspects" />
+ <action index="220" id="document-view-in-source-repository"
+ label="actions.folder.view-source-repository" />
+ <action index="360" id="document-cloud-sync" />
+ <action index="370" id="document-cloud-unsync" />
+ <action index="380" id="document-view-in-cloud" />
+ <action index="390" id="document-request-sync" />
+ <action index="500" id="asalae-elimination" />
+ <action index="600" id="asalae-versement" />
+ <action index="700" id="asalae-restitution" />
+ </actionGroup>
+
+ <actionGroup id="folder-details">
+ <action index="0" id="archive-bordereau-viewer" />
+ <action index="10" id="archive-modify" />
+ <action index="100" id="document-edit-metadata" icon="folder-edit-metadata"
+ label="actions.folder.edit-metadata" />
+ <action index="110" id="document-approve" icon="folder-approve" />
+ <action index="120" id="document-reject" icon="folder-reject" />
+ <action index="130" id="document-copy-to" icon="folder-copy-to"
+ label="actions.folder.copy-to" />
+ <action index="140" id="document-move-to" icon="folder-move-to"
+ label="actions.folder.move-to" />
+ <action index="150" id="folder-manage-rules" />
+ <action index="160" id="document-delete" icon="folder-delete"
+ label="actions.folder.delete" />
+ <action index="170" id="document-manage-site-permissions"
+ icon="folder-manage-permissions" label="actions.folder.manage-permissions" />
+ <action index="180" id="document-manage-repo-permissions"
+ icon="folder-manage-permissions" label="actions.folder.manage-permissions" />
+ <action index="190" id="document-manage-aspects" label="actions.folder.manage-aspects" />
+ <action index="200" id="document-change-type" label="actions.folder.change-type" />
+ <action index="210" id="view-in-explorer" />
+ <action index="220" id="document-view-in-source-repository"
+ label="actions.folder.view-source-repository" />
+ <action index="360" id="document-cloud-sync" />
+ <action index="370" id="document-cloud-unsync" />
+ <action index="380" id="document-view-in-cloud" />
+ <action index="390" id="document-request-sync" />
+ <action index="500" id="asalae-elimination" />
+ <action index="600" id="asalae-versement" />
+ <action index="700" id="asalae-restitution" />
+ </actionGroup>
+
+ <actionGroup id="document-link-browse">
+ <action index="100" id="document-locate" label="actions.link.locate">
+ <evaluator />
+ </action>
+ <action index="110" id="document-delete" label="actions.link.delete" />
+ </actionGroup>
+
+ <actionGroup id="document-link-details">
+ <action index="100" id="document-delete" label="actions.link.delete" />
+ </actionGroup>
+
+ <actionGroup id="folder-link-browse">
+ <action index="100" id="folder-view-details" />
+ <action index="110" id="document-locate" label="actions.link.locate">
+ <evaluator />
+ </action>
+ <action index="120" id="document-delete" icon="folder-delete"
+ label="actions.link.delete" />
+ </actionGroup>
+
+ <actionGroup id="folder-link-details">
+ <action index="100" id="document-delete" icon="folder-delete"
+ label="actions.link.delete" />
+ </actionGroup>
+
+ </actionGroups>
+ </config>
+
+ <!-- Document Library config section -->
+ <config evaluator="string-compare" condition="DocumentLibrary"
+ replace="true">
+ <file-upload>
+ <adobe-flash-enabled>false</adobe-flash-enabled>
+ </file-upload>
+ </config>
+
+ <config evaluator="aspect" condition="saem:profilable">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="saem:profilName" />
+ <show id="saem:serviceVersant" />
+ </field-visibility>
+ <appearance>
+ <field id="saem:profilName" label-id="prop.saem_profilName" />
+ <field id="saem:serviceVersant" label-id="prop.saem_serviceVersant" />
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <config evaluator="aspect" condition="saem:profil">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="saem:isprofil" />
+ </field-visibility>
+ <appearance>
+ <field id="saem:isprofil" label-id="prop.saem_isprofil"
+ read-only="true" />
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <config evaluator="aspect" condition="saem:archivable">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="saem:isarchive" />
+ </field-visibility>
+ <appearance>
+ <field id="saem:isarchive" label-id="prop.saem_isarchive"
+ read-only="true" />
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+
+ <!-- Document Library config section -->
+ <config evaluator="string-compare" condition="DocumentLibrary">
+ <!-- Used by the "Manage Aspects" action For custom aspects, remember to
+ also add the relevant i18n string(s) cm_myaspect=My Aspect -->
+ <aspects>
+ <!-- Aspects that a user can see -->
+ <visible>
+ <aspect name="saem:profilable" />
+ </visible>
+
+ <!-- Aspects that a user can add. Same as "visible" if left empty -->
+ <addable>
+ </addable>
+
+ <!-- Aspects that a user can remove. Same as "visible" if left empty -->
+ <removeable>
+ </removeable>
+ </aspects>
+ </config>
+
+ <config evaluator="string-compare" condition="Workflow" replace="true">
+ <!-- A list of workflow definitions that are NOT displayed in Share -->
+ <hidden-workflows>
+<!-- Hide all WCM related workflows -->
+ <workflow name="activiti$publishWebContent" />
+ <workflow name="activiti$activitiAdhoc" />
+ <workflow name="activiti$activitiInvitationModerated" />
+ <workflow name="activiti$activitiInvitationNominated" />
+ <workflow name="activiti$activitiParallelGroupReview" />
+ <workflow name="activiti$activitiParallelReview" />
+ <workflow name="activiti$activitiReview" />
+ <workflow name="activiti$activitiReviewPooled" />
+ <workflow name="activiti$wfElimination" />
+ </hidden-workflows>
+ </config>
+
+ <!-- SAEM-77 : Workflow de versement : formulaire de creation du wf -->
+ <config evaluator="string-compare" condition="activiti$wfVersement"
+ replace="true">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="packageItems" />
+ <show id="bpm:comment" />
+ </field-visibility>
+ <appearance>
+ <field id="packageItems" label-id="saemwf_items.title"
+ mandatory="true">
+ <control template="/picker.ftl">
+ <control-param name="itemType">saem:archivable</control-param>
+ <control-param name="itemFamily">node</control-param>
+ <control-param name="multipleSelectMode">false</control-param>
+ </control>
+ </field>
+ <field id="bpm:comment" label-id="workflow.field.comment">
+ <control template="/org/alfresco/components/form/controls/textarea.ftl" />
+ </field>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-77 : Workflow Versement : Validation Service d'Archive -->
+ <config evaluator="task-type" condition="saemwf:activitiSAValidation">
+ <forms>
+ <form id="workflow-details">
+ <field-visibility>
+ <show id="packageItems" />
+ <show id="saemwf:comment" />
+ <show id="saemwf:SAValidationApproveRejectOutcome" />
+ </field-visibility>
+ <appearance>
+ <field id="saemwf:comment" label-id="saemwf_SV_commentary.title">
+ <control template="/org/alfresco/components/form/controls/info.ftl" />
+ </field>
+ <field id="packageItems" label-id="saemwf_items.title" />
+ <field id="saemwf:SAValidationApproveRejectOutcome" label-id="saemwf_validateRejectOutcome.title" />
+ </appearance>
+ </form>
+ <form>
+ <field-visibility>
+ <show id="saemwf:comment" />
+ <show id="packageItems" />
+ <show id="bpm:comment" />
+ <show id="saemwf:SAValidationApproveRejectOutcome" />
+ </field-visibility>
+ <appearance>
+ <field id="saemwf:comment" label-id="saemwf_SV_commentary.title">
+ <control template="/org/alfresco/components/form/controls/info.ftl" />
+ </field>
+ <field id="packageItems" label-id="saemwf_items.title" />
+ <field id="bpm:comment" label-id="workflow.field.comment" >
+ <control template="/org/alfresco/components/form/controls/textarea.ftl" />
+ </field>
+
+ <field id="saemwf:SAValidationApproveRejectOutcome" label-id="workflow.field.outcome">
+ <control
+ template="/org/alfresco/components/form/controls/workflow/activiti-transitions.ftl" />
+ </field>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-77 : Workflow Versement : Confirmation du service versant -->
+ <config evaluator="task-type" condition="saemwf:activitiSVConfirmation">
+ <forms>
+ <form id="workflow-details">
+ <field-visibility>
+ <show id="saemwf:comment" />
+ <show id="packageItems" />
+ </field-visibility>
+ <appearance>
+ <field id="saemwf:comment" label-id="saemwf_SA_commentary.title">
+ <control template="/org/alfresco/components/form/controls/info.ftl" />
+ </field>
+ <field id="packageItems" label-id="saemwf_items.title" />
+ </appearance>
+ </form>
+ <form>
+ <field-visibility>
+ <show id="saemwf:comment" />
+ <show id="packageItems" />
+ <show id="transitions" />
+ </field-visibility>
+ <appearance>
+ <field id="saemwf:comment" label-id="saemwf_SA_commentary.title">
+ <control template="/org/alfresco/components/form/controls/info.ftl" />
+ </field>
+ <field id="packageItems" label-id="saemwf_items.title" />
+ <field id="transitions" />
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-77 : Workflow Versement : Correction du service versant -->
+ <config evaluator="task-type" condition="saemwf:activitiSVCorrection">
+ <forms>
+ <form id="workflow-details">
+ <field-visibility>
+ <show id="saemwf:comment" />
+ <show id="packageItems" />
+ </field-visibility>
+ <appearance>
+ <field id="saemwf:comment" label-id="saemwf_SA_commentary.title">
+ <control template="/org/alfresco/components/form/controls/info.ftl" />
+ </field>
+ <field id="packageItems" label-id="saemwf_items_tocorrect.title" />
+ </appearance>
+ </form>
+ <form>
+ <field-visibility>
+ <show id="saemwf:comment" />
+ <show id="packageItems" />
+ <show id="bpm:comment" />
+ <show id="transitions" />
+ </field-visibility>
+ <appearance>
+ <field id="saemwf:comment" label-id="saemwf_SA_commentary.title">
+ <control template="/org/alfresco/components/form/controls/info.ftl" />
+ </field>
+ <field id="packageItems" label-id="saemwf_items_tocorrect.title" />
+ <field id="bpm:comment" label-id="workflow.field.comment" >
+ <control template="/org/alfresco/components/form/controls/textarea.ftl" />
+ </field>
+ <field id="transitions"/>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-87 : Workflow d'elimination : formulaire de creation du wf -->
+ <config evaluator="string-compare" condition="activiti$wfElimination"
+ replace="true">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="packageItems" />
+ <show id="bpm:comment" />
+ </field-visibility>
+ <appearance>
+ <field id="packageItems" label-id="saemwf_items.title"
+ mandatory="true">
+ <control template="/picker.ftl">
+ <control-param name="itemType">saem:eliminable</control-param>
+ <control-param name="itemFamily">node</control-param>
+ <control-param name="multipleSelectMode">false</control-param>
+ </control>
+ </field>
+ <field id="bpm:comment" label-id="workflow.field.comment"
+ mandatory="true">
+ <control template="/org/alfresco/components/form/controls/textarea.ftl" />
+ </field>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-87 : Workflow Elim : Validation Service Versant -->
+ <config evaluator="task-type" condition="saemwf:activitiSVValidation">
+ <forms>
+ <form id="workflow-details">
+ <field-visibility>
+ <show id="packageItems" />
+ <show id="saemwf:SVValidationApproveRejectOutcome" />
+ </field-visibility>
+ <appearance>
+ <field id="packageItems" label-id="saemwf_items.title" />
+ <field id="saemwf:SVValidationApproveRejectOutcome" label-id="saemwf_validateRejectOutcome.title" />
+ </appearance>
+ </form>
+ <form>
+ <field-visibility>
+ <show id="packageItems" />
+ <show id="bpm:comment" />
+ <show id="saemwf:SVValidationApproveRejectOutcome" />
+ </field-visibility>
+ <appearance>
+ <field id="packageItems" label-id="saemwf_items.title" />
+ <field id="bpm:comment" label-id="workflow.field.comment" >
+ <control template="/org/alfresco/components/form/controls/textarea.ftl" />
+ </field>
+
+ <field id="saemwf:SVValidationApproveRejectOutcome" label-id="workflow.field.outcome">
+ <control
+ template="/org/alfresco/components/form/controls/workflow/activiti-transitions.ftl" />
+ </field>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-105 : action de lancement de workflow d'elim dans asalae -->
+ <config evaluator="string-compare" condition="asalae-elimination">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="destination-folder" />
+ </field-visibility>
+ <appearance>
+ <field id="destination-folder" label-id="jqvetfkucfyelfcviyfvlyifcv"
+ mandatory="true">
+ <control template="/picker.ftl">
+<!-- <control-param name="itemType">cm:folder</control-param> -->
+ <control-param name="itemFamily">node</control-param>
+ <control-param name="multipleSelectMode">false</control-param>
+ </control>
+ </field>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+ <!-- SAEM-135 : Workflow de restitution : formulaire de creation du wf -->
+ <config evaluator="string-compare" condition="activiti$wfRestitution"
+ replace="true">
+ <forms>
+ <form>
+ <field-visibility>
+ <show id="packageItems" />
+ <show id="bpm:comment" />
+ </field-visibility>
+ <appearance>
+ <field id="packageItems" label-id="saemwf_items.title" mandatory="true">
+ <control template="/picker.ftl">
+ <control-param name="itemType">saem:restituable</control-param>
+ <control-param name="itemFamily">node</control-param>
+ <control-param name="multipleSelectMode">false</control-param>
+ </control>
+ </field>
+ <field id="bpm:comment" label-id="workflow.field.comment" mandatory="true">
+ <control template="/org/alfresco/components/form/controls/textarea.ftl" />
+ </field>
+ </appearance>
+ </form>
+ </forms>
+ </config>
+
+</alfresco-config>
\ No newline at end of file
--- /dev/null
+<extension>
+ <modules>
+ <module>
+ <id>SEDA folder details</id>
+ <components>
+ <component>
+ <region-id>folder-metadata</region-id>
+ <source-id>folder-details</source-id>
+ <scope>template</scope>
+ <sub-components>
+ <sub-component id="folder-seda-metadata" index="25">
+ <url>/saem/components/folder-details/folder-seda-metadata
+ </url>
+ <evaluations>
+ <evaluation id="HideIfNotSEDA">
+ <evaluators>
+ <evaluator
+ type="eu.akka.saem.share.evaluator.hideSedaProperties"></evaluator>
+ </evaluators>
+ <render>false</render>
+ </evaluation>
+ </evaluations>
+ </sub-component>
+ </sub-components>
+ </component>
+ </components>
+ <auto-deploy>true</auto-deploy>
+ </module>
+ </modules>
+</extension>
\ No newline at end of file
--- /dev/null
+<extension>
+ <modules>
+ <module>
+ <id>SEDA folder details</id>
+ <components>
+ <component>
+ <region-id>folder-actions</region-id>
+ <source-id>folder-details</source-id>
+ <scope>template</scope>
+ <sub-components>
+ <sub-component id="folder-seda-metadata" index="25">
+ <url>/saem/components/folder-details/folder-seda-metadata
+ </url>
+ <evaluations>
+ <evaluation id="HideIfNotSEDA">
+ <evaluators>
+ <evaluator type="eu.akka.saem.share.evaluator.hideSedaProperties"></evaluator>
+ </evaluators>
+ <render>false</render>
+ </evaluation>
+ </evaluations>
+ </sub-component>
+ </sub-components>
+ </component>
+ </components>
+ <auto-deploy>true</auto-deploy>
+ </module>
+
+
+ <module>
+ <id>SEDA document details</id>
+ <components>
+ <component>
+ <region-id>document-actions</region-id>
+ <source-id>document-details</source-id>
+ <scope>template</scope>
+ <sub-components>
+ <sub-component id="document-seda-metadata" index="25">
+ <url>/saem/components/document-details/document-seda-metadata
+ </url>
+ <evaluations>
+ <evaluation id="HideIfNotSEDA">
+ <evaluators>
+ <evaluator type="eu.akka.saem.share.evaluator.hideSedaProperties"></evaluator>
+ </evaluators>
+ <render>false</render>
+ </evaluation>
+ </evaluations>
+ </sub-component>
+ </sub-components>
+ </component>
+ </components>
+ <auto-deploy>true</auto-deploy>
+ </module>
+ </modules>
+</extension>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<page>
+ <title>archive-management</title>
+ <title-id>archive-management</title-id>
+ <description>archive-management</description>
+ <description-id>archive-management</description-id>
+ <template-instance>archive-management</template-instance>
+ <authentication>user</authentication>
+</page>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<template-instance>
+ <template-type>org/alfresco/archive-management</template-type>
+ <properties>
+ <pageFamily>documentlibrary</pageFamily>
+ <container>documentLibrary</container>
+ </properties>
+ <components>
+
+ <!-- Title -->
+ <component>
+ <region-id>title</region-id>
+ <sub-components>
+ <sub-component id="default">
+ <evaluations>
+ <!-- if in site: Site title -->
+ <evaluation id="site">
+ <evaluators>
+ <evaluator type="site.component.evaluator"/>
+ </evaluators>
+ <url>/components/title/collaboration-title</url>
+ </evaluation>
+ <!-- otherwise: Repository title -->
+ <evaluation id="repo">
+ <url>/components/title/simple-title</url>
+ <properties>
+ <title>title.repository</title>
+ <subtitle>title.browser</subtitle>
+ </properties>
+ </evaluation>
+ </evaluations>
+ </sub-component>
+ </sub-components>
+ </component>
+
+ <!-- Site Navigation -->
+ <component>
+ <region-id>navigation</region-id>
+ <sub-components>
+ <sub-component id="default">
+ <evaluations>
+ <!-- if in site: Site navigation -->
+ <evaluation id="site">
+ <evaluators>
+ <evaluator type="site.component.evaluator"/>
+ </evaluators>
+ <url>/components/navigation/collaboration-navigation</url>
+ </evaluation>
+ </evaluations>
+ </sub-component>
+ </sub-components>
+ </component>
+
+ <!-- Site Navigation -->
+ <component>
+ <scope>template</scope>
+ <region-id>form</region-id>
+ <url>/components/form/archive-management</url>
+ </component>
+
+
+
+ </components>
+</template-instance>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>My Tasks</shortname>
+ <description>Dashlet to list tasks assigned to the current user</description>
+ <family>dashlet</family>
+ <url>/components/dashlets/my-tasks</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>DocLib Actions Common</shortname>
+ <description>Document Library: Common Actions Component</description>
+ <url>/components/documentlibrary/actions-common</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<@script type="text/javascript" src="${url.context}/res/components/documentlibrary/custom_actions.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/components/documentlibrary/actions-util.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/simple-dialog.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/global-folder.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/copy-move-to.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/components/people-finder/people-finder.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/permissions.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/aspects.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/social-publish.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/cloud-folder.js" group="${dependencyGroup}"/>
+<@script type="text/javascript" src="${url.context}/res/modules/cloud-auth.js" group="${dependencyGroup}"/>
+
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/components/documentlibrary/actions.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/documentlibrary/global-folder.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/components/people-finder/people-finder.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/documentlibrary/permissions.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/documentlibrary/aspects.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/social-publish.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/cloud/cloud-auth-form.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/cloud/cloud-folder-picker.css" group="${dependencyGroup}"/>
+<@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/cloud/cloud-sync-status.css" group="${dependencyGroup}"/>
--- /dev/null
+model.dependencyGroup = (args.dependencyGroup != null) ? args.dependencyGroup : "documentlibrary";
--- /dev/null
+<#include "include/documentlist.lib.ftl" />
+<#include "../form/form.dependencies.inc">
+
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/documentlibrary/documentlist.css" group="documentlibrary"/>
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <@script type="text/javascript" src="${url.context}/res/components/documentlibrary/documentlist.js" group="documentlibrary"/>
+ <@script type="text/javascript" src="${url.context}/res/components/documentlibrary/documentlist-view-detailed.js" group="documentlibrary"/>
+ <@script type="text/javascript" src="${url.context}/res/components/documentlibrary/documentlist-view-simple.js" group="documentlibrary"/>
+ <@script type="text/javascript" src="${url.context}/res/components/documentlibrary/documentlist-view-gallery.js" group="documentlibrary"/>
+ <@script type="text/javascript" src="${url.context}/res/yui/slider/slider.js" group="documentlibrary"/>
+ <@script type="text/javascript" src="${url.context}/res/saem/components/documentlibrary/documentlist-view-detailed.js"></@script>
+ <@script type="text/javascript" src="${url.context}/res/saem/components/documentlibrary/documentlist-view-simple.js"></@script>
+ <@script type="text/javascript" src="${url.context}/res/saem/components/documentlibrary/documentlist-view-gallery.js"></@script>
+</@>
+
+<@markup id="widgets">
+ <@createWidgets group="documentlibrary"/>
+</@>
+
+<@uniqueIdDiv>
+ <@markup id="html">
+ <@documentlistTemplate/>
+ </@>
+</@>
--- /dev/null
+<import resource="classpath:/alfresco/site-webscripts/org/alfresco/components/documentlibrary/include/documentlist.lib.js">
+
+doclibCommon();
+
+function main()
+{
+
+ var documentList = {
+ id : "DocumentList",
+ name : "Alfresco.DocumentList",
+ options : {
+ syncMode : model.syncMode != null ? model.syncMode : "",
+ siteId : (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "",
+ containerId : template.properties.container != null ? template.properties.container : "documentLibrary",
+ rootNode : model.rootNode != null ? model.rootNode : "null",
+ usePagination : (args.pagination == "true"),
+ sortAscending : (model.preferences.sortAscending != null ? model.preferences.sortAscending : true),
+ sortField : model.preferences.sortField != null ? model.preferences.sortField : "cm:name",
+ showFolders : (model.preferences.showFolders != null ? model.preferences.showFolders : true),
+ simpleView : model.preferences.simpleView != null ? model.preferences.simpleView : "null",
+ viewRendererName : model.preferences.viewRendererName != null ? model.preferences.viewRendererName : "detailed",
+ viewRendererNames : model.viewRendererNames != null ? model.viewRendererNames : ["simple", "detailed", "gallery"],
+ highlightFile : page.url.args["file"] != null ? page.url.args["file"] : "",
+ replicationUrlMapping : model.replicationUrlMapping != null ? model.replicationUrlMapping : "{}",
+ repositoryBrowsing : model.rootNode != null,
+ useTitle : (model.useTitle != null ? model.useTitle == "true" : true),
+ userIsSiteManager : model.userIsSiteManager
+ }
+ };
+ if (model.repositoryUrl != null)
+ {
+ documentList.options.repositoryUrl = model.repositoryUrl;
+ }
+
+ model.widgets = [documentList];
+}
+
+main();
--- /dev/null
+## Buttons
+button.sort.ascending=Sort Ascending
+button.sort.descending=Sort Descending
+button.folders.show=Show Folders
+button.folders.hide=Hide Folders
+
+## Drop-down Menus
+menu.select=Select
+menu.select.all=All
+menu.select.none=None
+menu.select.invert=Invert Selection
+menu.select.folders=Folders
+menu.select.documents=Documents
+
+## Details Banners
+details.banner.editing=This document is locked by you for offline editing.
+details.banner.lock-owner=This document is locked by you.
+details.banner.locked=This document is locked by {0}.
+details.banner.google-docs.link=Google Docs
+details.banner.google-docs-owner=This document has been uploaded by you to {0} for editing.
+details.banner.google-docs-locked=This document has been uploaded by {0} to {1} for editing.
+details.banner.folder.editing=This folder is locked by you for offline editing.
+details.banner.folder.lock-owner=This folder is locked by you.
+details.banner.folder.locked=This folder is locked by {0}.
+details.banner.folder.google-docs-owner=This folder has been uploaded by you to {0} for editing.
+details.banner.folder.google-docs-locked=This folder has been uploaded by {0} to {1} for editing.
+details.banner.sync-failed=Last sync failed.
+details.banner.more-info=More Info
+details.banner.sync-transient-error=Temporary sync error.
+## Actions - moved to slingshot.properties
+actions.more=More...
+
+## Status Indicators
+status.active-workflows=Belongs to {0} active workflows
+status.editing=Being edited by you
+status.google-docs-editing=Being edited by you via Google Docs™
+status.google-docs-owner=Locked by you for editing with Google Docs™
+status.google-docs-locked=Locked by {0} ({1}) for editing with Google Docs™
+status.locked=Locked by {0} ({1})
+status.lock-owner=Locked by you
+status.rules=Folder has rules applied
+status.simple-workflow=Simple Approve/Reject workflow applied
+status.exif=EXIF metadata available
+status.geographic=Geolocation metadata available
+status.transferred-node=Transferred from another Repository
+status.cloud-synced=Click to view sync info
+status.cloud-sync-failed=Sync failed. Click to view for info
+status.cloud-indirect-sync=Indirectly synced. Click to view for info
+status.cloud-indirect-sync-failed=Indirect sync failed. Click to view for info
+
+## Tips
+tip.insitu-rename=Rename
+tip.insitu-tag=Tag
+
+## File Upload (upload new version)
+label.filter-description=Same type as {0}
+
+## Edit Details Dialog
+edit-details.title=Edit Properties: {0}
+edit-details.label.edit-metadata=All Properties...
+
+## Help panels, including Drag and Drop
+no.items.title=No content items
+show.folders=Show {0} subfolder(s)
+standard.upload.title=Build your library!
+standard.upload.description=Upload files
+dnd.drop.title=Drag and drop to upload files!
+dnd.drop.doclist.description=Drag files from your desktop and drop them here to upload.
+dnd.drop.folder.description=You can drop files onto folders.
+dnd.upload.description=Upload files
+dnd.newfolder.description=Create a folder
+other.options=You can also...
+dnd.upload.tooltip=<p>You can also drag and drop files from your desktop into the Document Library.</p>\
+ <p>To use drag and drop instead, close the uploader below.</p>
--- /dev/null
+## Buttons
+button.sort.ascending=Tri croissant
+button.sort.descending=Tri d\u00e9croissant
+button.folders.show=Afficher les dossiers
+button.folders.hide=Cacher les dossiers
+
+## Drop-down Menus
+menu.select=S\u00e9lectionner
+menu.select.all=Toutes
+menu.select.none=Aucun
+menu.select.invert=Inverser la s\u00e9lection
+menu.select.folders=Dossiers
+menu.select.documents=Documents
+
+## Details Banners
+details.banner.editing=Ce document est verrouill\u00e9 par vous pour une \u00e9dition hors ligne.
+details.banner.lock-owner=Ce document est verrouill\u00e9 par vous.
+details.banner.locked=Ce document est verrouill\u00e9 par {0}.
+details.banner.google-docs.link=Google Docs
+details.banner.google-docs-owner=Ce document a \u00e9t\u00e9 ajout\u00e9 par vous \u00e0 {0} pour \u00e9dition.
+details.banner.google-docs-locked=Ce document a \u00e9t\u00e9 ajout\u00e9 par {0} \u00e0 {1} pour \u00e9dition.
+details.banner.folder.editing=Ce dossier est verrouill\u00e9 par vous pour une \u00e9dition hors ligne.
+details.banner.folder.lock-owner=Ce dossier est verrouill\u00e9 par vous.
+details.banner.folder.locked=Ce dossier est verrouill\u00e9 par {0}.
+details.banner.folder.google-docs-owner=Ce dossier a \u00e9t\u00e9 ajout\u00e9 par vous \u00e0 {0} pour \u00e9dition.
+details.banner.folder.google-docs-locked=Ce dossier a \u00e9t\u00e9 ajout\u00e9 par {0} \u00e0 {1} pour \u00e9dition.
+details.banner.sync-failed=La derni\u00e8re synchronisation a \u00e9chou\u00e9.
+details.banner.more-info=Plus d'informations
+details.banner.sync-transient-error=Erreur de synchronisation temporaire.
+## Actions - moved to slingshot.properties
+actions.more=Plus...
+
+## Status Indicators
+status.active-workflows=Associ\u00e9 \u00e0 {0} workflow(s) actif(s)
+status.editing=Modifi\u00e9 par vous
+status.google-docs-editing=Modifi\u00e9 par vous via Google Docs™
+status.google-docs-owner=Verrouill\u00e9 par vous pour \u00e9dition \u00e0 l'aide de Google Docs™
+status.google-docs-locked=Verrouill\u00e9 par {0} ({1}) pour \u00e9dition \u00e0 l''aide de Google Docs™
+status.locked=Verrouill\u00e9 par {0} ({1})
+status.lock-owner=Verrouill\u00e9 par vous
+status.rules=Des r\u00e8gles sont appliqu\u00e9es au dossier
+status.simple-workflow=Approbation/Rejet simple du workflow appliqu\u00e9
+status.exif=M\u00e9tadonn\u00e9es EXIF disponibles
+status.geographic=M\u00e9tadonn\u00e9es de g\u00e9olocalisation disponibles
+status.transferred-node=Transf\u00e9r\u00e9 depuis un autre entrep\u00f4t
+status.cloud-synced=Cliquez pour afficher les informations de synchronisation
+status.cloud-sync-failed=Echec de la synchronisation Cliquez pour afficher les informations
+status.cloud-indirect-sync=Synchronis\u00e9 indirectement. Cliquez pour afficher les informations
+status.cloud-indirect-sync-failed=Echec de la synchronisation indirecte. Cliquez pour afficher les informations
+
+## Tips
+tip.insitu-rename=Renommer
+tip.insitu-tag=Tag
+
+## File Upload (upload new version)
+label.filter-description=Type identique \u00e0 {0}
+
+## Edit Details Dialog
+edit-details.title=Modifier les propri\u00e9t\u00e9s : {0}
+edit-details.label.edit-metadata=Toutes les propri\u00e9t\u00e9s...
+
+## Help panels, including Drag and Drop
+no.items.title=Aucun \u00e9l\u00e9ment de contenu
+show.folders=Afficher {0} sous-dossier(s)
+standard.upload.title=Cr\u00e9ez votre biblioth\u00e8que !
+standard.upload.description=Ajouter des fichiers
+dnd.drop.title=Effectuez un glisser-d\u00e9poser pour ajouter des fichiers !
+dnd.drop.doclist.description=Faites glisser des fichiers de votre bureau et d\u00e9posez-les ici pour les ajouter.
+dnd.drop.folder.description=Vous pouvez d\u00e9poser des fichiers dans des dossiers.
+dnd.upload.description=Ajouter des fichiers
+dnd.newfolder.description=Cr\u00e9er un dossier
+other.options=Vous pouvez \u00e9galement...
+dnd.upload.tooltip=<p>Vous pouvez \u00e9galement faire glisser des fichiers depuis votre bureau et les d\u00e9poser dans l'espace documentaire.</p>
+ <p>Si vous pr\u00e9f\u00e9rez proc\u00e9der par glisser-d\u00e9poser, fermez l'outil de t\u00e9l\u00e9chargement ci-dessous.</p>
--- /dev/null
+<filters>
+ <filter id="all" label="link.all" />
+ <filter id="editingMe" label="link.editingMe" />
+ <filter id="editingOthers" label="link.editingOthers" />
+ <filter id="recentlyModified" label="link.recentlyModified" />
+ <filter id="recentlyAdded" label="link.recentlyAdded" />
+ <filter id="favourites" label="link.favourites" />
+ <filter id="synced" label="link.synced" evaluator="syncMode.getValue() != 'OFF'" />
+ <filter id="syncedErrors" label="link.syncedErrors" evaluator="syncMode.getValue() == 'ON_PREMISE'"/>
+ <filter id="archiveIntermediaire" label="link.archiveIntermediaire" />
+ <filter id="archiveDefinitif" label="link.archiveDefinitif" />
+ <filter id="archiveNormale" label="link.archiveNormale" />
+ <filter id="archiveVerser" label="link.archiveVerser" />
+ <filter id="archiveEliminer" label="link.archiveEliminer" />
+ <filter id="archiveRestituer" label="link.archiveRestituer" />
+</filters>
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>DocLib Filter</shortname>
+ <description>Document Library: Filter Component</description>
+ <url>/components/documentlibrary/filter</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<#include "include/filter.lib.ftl" />
+<@filterTemplate />
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/site-webscripts/org/alfresco/components/documentlibrary/include/filter.lib.js">
\ No newline at end of file
--- /dev/null
+## Title
+header.documents=Documents
+
+## Filter Names
+link.all=All Documents
+link.recentlyModified=Recently Modified
+link.recentlyAdded=Recently Added
+link.editingMe=I'm Editing
+link.editingOthers=Others are Editing
+link.favourites=My Favorites
+link.synced=Synced Content
+link.syncedErrors=Synced with Errors
+link.archiveIntermediaire=Archives interm\u00e9diaires
+link.archiveDefinitif=Archives d\u00e9finitives
+link.archiveNormale=Archives normales
+link.archiveVerser=Archives vers\u00e9es
+link.archiveEliminer=Archives \u00e9limin\u00e9es
+link.archiveRestituer=Archives restitu\u00e9es
\ No newline at end of file
--- /dev/null
+## Title
+header.documents=Documents
+
+## Filter Names
+link.all=Tous les documents
+link.recentlyModified=R\u00e9cemment modifi\u00e9
+link.recentlyAdded=R\u00e9cemment ajout\u00e9
+link.editingMe=Verrouill\u00e9s par moi
+link.editingOthers=Verrouill\u00e9s par d'autres
+link.favourites=Mes favoris
+link.synced=Contenu synchronis\u00e9
+link.syncedErrors=Synchronis\u00e9 avec des erreurs
+link.archiveIntermediaire=Archives interm\u00e9diaires
+link.archiveDefinitif=Archives d\u00e9finitives
+link.archiveNormale=Pr\u00e9-versement
+link.archiveVerser=Versement soumis
+link.archiveEliminer=Archives \u00e9limin\u00e9es
+link.archiveRestituer=Archives restitu\u00e9es
\ No newline at end of file
--- /dev/null
+<#macro documentlistTemplate>
+<!--[if IE]>
+ <iframe id="yui-history-iframe" src="${url.context}/res/yui/history/assets/blank.html"></iframe>
+<![endif]-->
+<input id="yui-history-field" type="hidden" />
+<#nested>
+<#assign id = args.htmlid?html>
+<div id="${id}-body" class="doclist no-check-bg">
+
+ <#--
+ INFORMATION TEMPLATES
+ -->
+ <div id="${id}-main-template" class="hidden">
+ <div>
+ </div>
+ </div>
+
+ <#-- No items message -->
+ <div id="${id}-no-items-template" class="hidden">
+ <div class="docListInstructionTitle">${msg("no.items.title")}</div>
+ </div>
+
+ <#-- Hidden sub-folders message -->
+ <div id="${id}-hidden-subfolders-template" class="hidden">
+ <div class="docListInstructionTitle">${msg("no.items.title")}</div>
+ <div id="${id}-show-folders-template" class="docListInstructionColumn">
+ <img class="docListInstructionImage docListLinkedInstruction" src="${url.context}/res/components/documentlibrary/images/help-folder-48.png">
+ <a class="docListInstructionTextSmall docListLinkedInstruction"><#-- We don't know the number of hidden subfolders at this point so this needs to be inserted --></a>
+ </div>
+ </div>
+
+ <#-- HTML 5 drag and drop instructions -->
+ <div id="${id}-dnd-instructions-template" class="hidden">
+ <div id="${id}-dnd-instructions">
+ <span class="docListInstructionTitle">${msg("dnd.drop.title")}</span>
+ <div>
+ <div class="docListInstructionColumn docListInstructionColumnRightBorder">
+ <img class="docListInstructionImage" src="${url.context}/res/components/documentlibrary/images/help-drop-list-target-96.png">
+ <span class="docListInstructionText">${msg("dnd.drop.doclist.description")}</span>
+ </div>
+ <div class="docListInstructionColumn">
+ <img class="docListInstructionImage" src="${url.context}/res/components/documentlibrary/images/help-drop-folder-target-96.png">
+ <span class="docListInstructionText">${msg("dnd.drop.folder.description")}</span>
+ </div>
+ <div style="clear:both"></div>
+ </div>
+ </div>
+ </div>
+
+ <#-- Standard upload instructions -->
+ <div id="${id}-upload-instructions-template" class="hidden">
+ <div class="docListInstructionTitle">${msg("standard.upload.title")}</div>
+ <div id="${id}-standard-upload-link-template" class="docListInstructionColumn">
+ <img class="docListInstructionImage docListLinkedInstruction" src="${url.context}/res/components/documentlibrary/images/help-upload-96.png">
+ <span class="docListInstructionText"><a class="docListLinkedInstruction">${msg("standard.upload.description")}</a></span>
+ </div>
+ </div>
+
+ <#-- Other options? -->
+ <div id="${id}-other-options-template" class="hidden">
+ <div class="docListOtherOptions">${msg("other.options")}</div>
+ </div>
+
+ <#-- The following DOM structures should be editing with respect to documentlist.js function
+ fired by the Doclists "tableMsgShowEvent" as it uses this structure to associate the
+ image and anchor with the appropriate actions. NOTE: This is only a template that will
+ be cloned, during the cloning the id will be appended with "-instance" to ensure uniqueness
+ within the page, this allows us to locate each DOM node individually. -->
+
+ <#-- Standard upload (when user has create access) -->
+ <div id="${id}-standard-upload-template" class="hidden">
+ <div id="${id}-standard-upload-link-template">
+ <img class="docListOtherOptionsImage docListLinkedInstruction" src="${url.context}/res/components/documentlibrary/images/help-upload-48.png">
+ <span class="docListOtherOptionsText"><a class="docListLinkedInstruction">${msg("dnd.upload.description")}</a></span>
+ </div>
+ </div>
+
+ <#-- New Folder (when user has create access) -->
+ <div id="${id}-new-folder-template" class="hidden">
+ <div id="${id}-new-folder-link-template">
+ <img class="docListOtherOptionsImage docListLinkedInstruction" src="${url.context}/res/components/documentlibrary/images/help-new-folder-48.png">
+ <span class="docListOtherOptionsText"><a class="docListLinkedInstruction">${msg("dnd.newfolder.description")}</a></span>
+ </div>
+ </div>
+
+ <#-- Hidden sub-folders message -->
+ <div id="${id}-show-folders-template" class="hidden">
+ <img class="docListOtherOptionsImage docListLinkedInstruction" src="${url.context}/res/components/documentlibrary/images/help-folder-48.png">
+ <span class="docListOtherOptionsText"><a class="docListLinkedInstruction"><#-- We don't know the number of hidden subfolders at this point so this needs to be inserted --></a></span>
+ </div>
+ <#--
+ END OF INFORMATION TEMPLATES
+ -->
+
+ <#-- Top Bar: Select, Pagination, Sorting & View controls -->
+ <div id="${id}-doclistBar" class="yui-gc doclist-bar flat-button no-check-bg">
+ <div class="yui-u first">
+ <div class="file-select">
+ <button id="${id}-fileSelect-button" name="doclist-fileSelect-button">${msg("menu.select")}</button>
+ <div id="${id}-fileSelect-menu" class="yuimenu">
+ <div class="bd">
+ <ul>
+ <li><a href="#"><span class="selectDocuments">${msg("menu.select.documents")}</span></a></li>
+ <li><a href="#"><span class="selectFolders">${msg("menu.select.folders")}</span></a></li>
+ <li><a href="#"><span class="selectAll">${msg("menu.select.all")}</span></a></li>
+ <li><a href="#"><span class="selectInvert">${msg("menu.select.invert")}</span></a></li>
+ <li><a href="#"><span class="selectNone">${msg("menu.select.none")}</span></a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div id="${id}-paginator" class="paginator"></div>
+ </div>
+ <div class="yui-u align-right">
+ <@markup id="documentListViewRendererSelect">
+ <div id="${id}-simpleDetailed" class="simple-detailed yui-buttongroup inline">
+ <#-- Don't insert linefeeds between these <input> tags -->
+ <#if viewRendererNames??><#list viewRendererNames as viewRendererName><input id="${id}-${viewRendererName}View" type="radio" name="simpleDetailed" title="${msg("button.view." + viewRendererName)}" value="" /></#list></#if>
+ </div>
+ </@>
+ <@markup id="documentListShowFolders">
+ <div class="show-folders">
+ <span id="${id}-showFolders-button" class="yui-button yui-checkbox-button">
+ <span class="first-child">
+ <button name="doclist-showFolders-button"></button>
+ </span>
+ </span>
+ <span class="separator"> </span>
+ </div>
+ </@>
+ <@markup id="documentListSortSelect">
+ <div class="sort-field">
+ <span id="${id}-sortField-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button name="doclist-sortField-button"></button>
+ </span>
+ </span>
+ <span class="separator"> </span>
+ <select id="${id}-sortField-menu">
+ <#list sortOptions as sort>
+ <option value="${(sort.value!"")?html}" <#if sort.direction??>title="${sort.direction?string}"</#if>>${msg(sort.label)}</option>
+ </#list>
+ </select>
+ </div>
+ <div class="sort-direction">
+ <span id="${id}-sortAscending-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button name="doclist-sortAscending-button"></button>
+ </span>
+ </span>
+ </div>
+ </@>
+ <@markup id="galleryViewSlider">
+ <div id="${id}-gallery-slider" class="alf-gallery-slider hidden">
+ <div class="alf-gallery-slider-small"><img src="${url.context}/res/components/documentlibrary/images/gallery-size-small-16.png"></div>
+ <div id="${id}-gallery-slider-bg" class="yui-h-slider alf-gallery-slider-bg">
+ <div id="${id}-gallery-slider-thumb" class="yui-slider-thumb alf-gallery-slider-thumb"><img src="${url.context}/res/components/documentlibrary/images/thumb-n.png"></div>
+ </div>
+ <div class="alf-gallery-slider-large"><img src="${url.context}/res/components/documentlibrary/images/gallery-size-large-16.png"></div>
+ </div>
+ </@>
+ </div>
+ </div>
+
+ <#-- Main Panel: Document List -->
+ <@markup id="documentListContainer">
+ <div id="${id}-documents" class="documents"></div>
+ <div id="${id}-gallery" class="alf-gallery documents"></div>
+ <div id="${id}-gallery-empty" class="hidden">
+ <div class="yui-dt-liner"></div>
+ </div>
+ </@>
+
+ <#-- Bottom Bar: Paginator -->
+ <div id="${id}-doclistBarBottom" class="yui-gc doclist-bar doclist-bar-bottom flat-button">
+ <div class="yui-u first">
+ <div class="file-select"> </div>
+ <div id="${id}-paginatorBottom" class="paginator"></div>
+ </div>
+ </div>
+
+ <#--
+ RENDERING TEMPLATES
+ -->
+ <div style="display: none">
+
+ <#-- Action Set "More" template -->
+ <div id="${id}-moreActions">
+ <div class="internal-show-more" id="onActionShowMore"><a href="#" class="show-more" alt="${msg("actions.more")}"><span>${msg("actions.more")}</span></a></div>
+ <div class="more-actions hidden"></div>
+ </div>
+
+ <#-- Document List Gallery View Templates-->
+ <div id="${id}-gallery-item-template" class="alf-gallery-item hidden">
+ <div class="alf-gallery-item-thumbnail">
+ <div class="alf-header">
+ <div class="alf-select"></div>
+ <a href="javascript:void(0)" class="alf-show-detail"> </a>
+ </div>
+ <div class="alf-label"></div>
+ </div>
+ <div class="alf-detail" style="display: none;">
+ <div class="bd">
+ <div class="alf-detail-thumbnail"></div>
+ <div class="alf-status"></div>
+ <div class="alf-actions"></div>
+ <div style="clear: both;"></div>
+ <div class="alf-description"></div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+
+</div>
+</#macro>
--- /dev/null
+<#macro filterTemplate>
+ <#assign filterIds = "">
+ <div class="filter doclib-filter">
+ <h2 class="alfresco-twister">${msg("header.documents")}</h2>
+ <ul class="filterLink">
+ <#list filters as filter>
+ <#assign filterIds>${filterIds}"${filter.id}"<#if filter_has_next>,</#if></#assign>
+ <li><span class="${filter.id}"><a class="filter-link" rel="${filter.data?html}" href="#">${msg(filter.label)}</a></span></li>
+ </#list>
+ </ul>
+ </div>
+ <#nested>
+ <@createWidgets group="documentlibrary"/>
+ <@inlineScript group="documentlibrary">
+ <#-- JavaScript to be executed AFTER widget instantiation here -->
+ filter.setFilterIds([${filterIds}]);
+ </@>
+</#macro>
\ No newline at end of file
--- /dev/null
+/**
+ * Main entrypoint for component webscript logic
+ *
+ * @method main
+ */
+function main()
+{
+ // Actions
+ var myConfig = new XML(config.script),
+ filters = [];
+
+ for each(var xmlFilter in myConfig..filter)
+ {
+ // add support for evaluators on the filter. They should either be missing or eval to true
+ if (xmlFilter.@evaluator.toString() === "" || runEvaluator(xmlFilter.@evaluator.toString()))
+ {
+ filters.push(
+ {
+ id: xmlFilter.@id.toString(),
+ data: xmlFilter.@data.toString(),
+ label: xmlFilter.@label.toString()
+ });
+ }
+ }
+
+ model.filters = filters;
+
+ var docListFilter = {
+ id : "BaseFilter",
+ name : "Alfresco.component.BaseFilter",
+ initArgs: [ "Alfresco.DocListFilter", "\"" + args.htmlid + "\""],
+ assignTo : "filter",
+ useMessages : false
+ };
+ model.widgets = [docListFilter];
+}
+
+function runEvaluator(evaluator)
+{
+ return eval(evaluator);
+}
+
+main();
\ No newline at end of file
--- /dev/null
+<#include "../../../include/alfresco-macros.lib.ftl" />
+<#macro toolbarTemplate>
+<#nested>
+<#assign id=args.htmlid?html>
+<div id="${id}-body" class="toolbar no-check-bg">
+
+ <div id="${id}-headerBar" class="header-bar flat-button theme-bg-2">
+ <div class="left">
+ <div class="hideable toolbar-hidden DocListTree">
+
+ <#-- CREATE CONTENT -->
+ <@markup id="createContent">
+ <div class="create-content">
+ <#if createContent?size != 0 || createContentByTemplateEnabled>
+ <span id="${id}-createContent-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button name="createContent">${msg("button.create-content")}</button>
+ </span>
+ </span>
+ <div id="${id}-createContent-menu" class="yuimenu">
+ <div class="bd"></div>
+ </div>
+ </#if>
+ </div>
+ </@markup>
+
+ </div>
+ <div class="hideable toolbar-hidden DocListTree">
+ <div class="new-folder">
+ <span id="${id}-newFolder-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button name="newFolder">${msg("button.new-folder")}</button>
+ </span>
+ </span>
+ </div>
+ </div>
+ <#if uploadable>
+ <div class="hideable toolbar-hidden DocListTree">
+ <div class="file-upload">
+ <span id="${id}-fileUpload-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button name="fileUpload">${msg("button.upload")}</button>
+ </span>
+ </span>
+ </div>
+ </div>
+ </#if>
+ <#if (isInSiteServiceVersant?? && isInSiteServiceVersant == "true")>
+ <div class="hideable toolbar-hidden DocListTree">
+ <div class="new-archive">
+ <span id="${id}-newArchive-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button name="newArchive">${msg("button.new-archive")}</button>
+ </span>
+ </span>
+ </div>
+ </div>
+ </#if>
+ <div class="hideable toolbar-hidden DocListTree">
+ <div class="sync-to-cloud">
+ <span id="${id}-syncToCloud-button" class="yui-button yui-push-button hidden">
+ <span class="first-child">
+ <button name="syncToCloud">${msg("button.sync-to-cloud")}</button>
+ </span>
+ </span>
+ </div>
+ </div>
+ <div class="hideable toolbar-hidden DocListTree">
+ <div class="unsync-from-cloud">
+ <span id="${id}-unsyncFromCloud-button" class="yui-button yui-push-button hidden">
+ <span class="first-child">
+ <button name="unsyncFromCloud">${msg("button.unsync-from-cloud")}</button>
+ </span>
+ </span>
+ </div>
+ </div>
+ <div class="selected-items hideable toolbar-hidden DocListTree DocListFilter TagFilter DocListCategories">
+ <button class="no-access-check" id="${id}-selectedItems-button" name="doclist-selectedItems-button">${msg("menu.selected-items")}</button>
+ <div id="${id}-selectedItems-menu" class="yuimenu">
+ <div class="bd">
+ <ul>
+ <#list actionSet as action>
+ <li><a type="${action.asset!""}" rel="${action.permission!""}" href="${action.href}" data-has-aspects="${action.hasAspect}" data-not-aspects="${action.notAspect}"><span class="${action.id}">${msg(action.label)}</span></a></li>
+ </#list>
+ <li><a href="#"><hr /></a></li>
+ <li><a href="#"><span class="onActionDeselectAll">${msg("menu.selected-items.deselect-all")}</span></a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="right">
+ <div class="hide-navbar">
+ <span id="${id}-hideNavBar-button" class="yui-button yui-checkbox-button">
+ <span class="first-child">
+ <button name="hideNavBar"></button>
+ </span>
+ </span>
+ </div>
+ <div class="separator"> </div>
+ <div class="rss-feed">
+ <span id="${id}-rssFeed-button" class="yui-button yui-link-button">
+ <span class="first-child">
+ <a tabindex="0" href="#"></a>
+ </span>
+ </span>
+ </div>
+ </div>
+ </div>
+
+ <div id="${id}-navBar" class="nav-bar flat-button theme-bg-2">
+ <div class="hideable toolbar-hidden DocListTree DocListCategories">
+ <div class="folder-up">
+ <span id="${id}-folderUp-button" class="yui-button yui-push-button">
+ <span class="first-child">
+ <button class="no-access-check" name="folderUp"></button>
+ </span>
+ </span>
+ </div>
+ <div class="separator"> </div>
+ </div>
+ <div id="${id}-breadcrumb" class="breadcrumb hideable toolbar-hidden DocListTree DocListCategories"></div>
+ <div id="${id}-description" class="description hideable toolbar-hidden DocListFilter TagFilter"></div>
+ </div>
+
+</div>
+</#macro>
\ No newline at end of file
--- /dev/null
+<#-- PLEASE NOTE:
+<#-- Use of .head.ftl WebScript files has now been deprecated from WebScripts that render Share Components. -->
+<#-- Dependencies are now loaded through the use of the <@script> and <@link> tags in the main .html.ftl file. -->
--- /dev/null
+<#include "include/toolbar.lib.ftl" />
+
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/documentlibrary/toolbar.css" group="documentlibrary"/>
+ <#-- SAEM-73 -->
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/saem/components/documentlibrary/toolbar.css" />
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/saem/css/create-archive-popup.css"/>
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <@script type="text/javascript" src="${url.context}/res/components/documentlibrary/toolbar.js" group="documentlibrary"/>
+ <#-- SAEM-73 -->
+ <@script type="text/javascript" src="${url.context}/res/saem/components/documentlibrary/toolbar.js"></@script>
+</@>
+
+<@markup id="widgets">
+ <@createWidgets group="documentlibrary"/>
+</@>
+
+<@uniqueIdDiv>
+ <@markup id="html">
+ <@toolbarTemplate/>
+ </@>
+</@>
--- /dev/null
+<import resource="classpath:/alfresco/site-webscripts/org/alfresco/components/documentlibrary/include/toolbar.lib.js">
+<import resource="classpath:/alfresco/site-webscripts/org/alfresco/components/upload/uploadable.lib.js">
+
+function widgets()
+{
+ var useTitle = "true";
+ var docLibConfig = config.scoped["DocumentLibrary"];
+ if (docLibConfig != null)
+ {
+ var tmp = docLibConfig["use-title"];
+ useTitle = tmp != null ? tmp : "true";
+ }
+
+ var docListToolbar = {
+ id: "DocListToolbar",
+ name: "Alfresco.DocListToolbar",
+ options: {
+ siteId: (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "",
+ rootNode: toolbar.rootNode != null ? toolbar.rootNode : "",
+ hideNavBar: Boolean(toolbar.preferences.hideNavBar),
+ googleDocsEnabled: toolbar.googleDocsEnabled,
+ repositoryBrowsing: toolbar.rootNode != null,
+ useTitle: (useTitle == "true"),
+ syncMode: toolbar.syncMode != null ? toolbar.syncMode : "",
+ createContentByTemplateEnabled: model.createContentByTemplateEnabled,
+ createContentActions: model.createContent
+ }
+ };
+ model.widgets = [docListToolbar];
+}
+
+
+
+function getCreateNewArchive(){
+ var connector = remote.connect("alfresco");
+ var siteUrl = url.getUrl();
+ siteUrl = siteUrl.replace("/share/page/site/", "");
+ var indexOfSlash = siteUrl.indexOf("/");
+ var siteName = siteUrl.substring(0, indexOfSlash);
+
+ var data = connector.get("/saem/serviceversantinfos?siteName=" + siteName);
+ var result = eval('(' + data + ')');
+
+ model.siteServiceVersanttDocLibNodeRef=result.siteServiceVersantDocLibNodeRef;
+ model.isInSiteServiceVersant=result.isSiteServiceVersant;
+ model.hasAddChildrenPermission=result.hasAddChildrenPermission;
+}
+
+getCreateNewArchive();
+widgets();
--- /dev/null
+## Buttons
+button.create-content=Create Content...
+button.new-folder=New Folder
+button.sync-to-cloud=Sync to Cloud
+button.unsync-from-cloud=Unsync from Cloud
+button.up=Up
+button.customize=Customize
+button.navbar.show=Show Breadcrumb
+button.navbar.hide=Hide Breadcrumb
+
+## Links
+link.rss-feed=RSS Feed
+
+## Drop-down Menus
+menu.create-content.by-template-node=By Templated Node...
+menu.selected-items=Selected Items...
+menu.selected-items.copy=Copy to...
+menu.selected-items.move=Move to...
+menu.selected-items.delete=Delete
+menu.selected-items.download=Download as Zip
+menu.selected-items.assign-workflow=Start Workflow...
+menu.selected-items.manage-permissions=Manage Permissions...
+menu.selected-items.deselect-all=Deselect All
+menu.selected-items.cloudSync=Sync to cloud
+menu.selected-items.cloudUnsync=Unsync from cloud
+menu.selected-items.cloudRequestSync=Request Sync
+
+## Pop-up Messages
+message.create-content-by-template-node.success=Created content based on template ''{0}''
+message.create-content-by-template-node.failure=Could not create content based on template ''{0}''
+message.new-folder.success=Folder ''{0}'' created
+message.new-folder.failure=Could not create ''{0}''. Duplicate folder name?
+message.multiple-delete.success=Successfully deleted {0} item(s)
+message.multiple-delete.failure=Could not delete items
+title.multiple-delete.confirm=Confirm Multiple Delete
+message.multiple-delete.confirm=Are you sure you want to delete the following {0} items?
+message.multiple-delete.please-wait=Please wait. Files being deleted...
+
+## Toolbar Modes
+description.path=
+description.path.more=
+description.all=All Documents in the Document Library
+description.all.more=
+description.editingMe=Documents I'm Editing
+description.editingMe.more=(working copies)
+description.editingOthers=Documents Others are Editing
+description.editingOthers.more=(working copies)
+description.recentlyModified=Documents Recently Modified
+description.recentlyModified.more=
+description.recentlyAdded=Documents Added Recently
+description.recentlyAdded.more=
+description.favourites=My Favorite Documents and Folders
+description.favourites.more=
+description.tag=Documents and Folders Tagged with
+description.tag.more={0}
+description.category=
+description.category.more=
+description.synced=Documents synchronized with the cloud
+description.synced.more=
+description.syncedErrors=Documents with sync errors
+description.syncedErrors.more=
+
+## Dialogs
+label.new-folder.title=New Folder
+label.new-folder.header=New Folder Details
+
+## SAEM-73 New archive button
+button.new-archive=Préparer un versement
+label.new-archive.title=Préparer un versement
+label.new-archive.header=Choisir le profil du versements
\ No newline at end of file
--- /dev/null
+## Buttons
+button.create-content=Cr\u00e9er un contenu...
+button.new-folder=Nouveau dossier
+button.sync-to-cloud=Se synchroniser avec le cloud
+button.unsync-from-cloud=Se d\u00e9synchroniser du cloud
+button.up=Plus haut
+button.customize=Personnaliser
+button.navbar.show=Afficher le fil d'Ariane
+button.navbar.hide=Cacher le fil d'Ariane
+
+## Links
+link.rss-feed=Flux RSS
+
+## Drop-down Menus
+menu.create-content.by-template-node=A partir d'un mod\u00e8le...
+menu.selected-items=\u00c9l\u00e9ments s\u00e9lectionn\u00e9s...
+menu.selected-items.copy=Copier vers...
+menu.selected-items.move=D\u00e9placer vers...
+menu.selected-items.delete=Supprimer
+menu.selected-items.download=T\u00e9l\u00e9charger sous forme de zip
+menu.selected-items.assign-workflow=D\u00e9marrer un workflow\u2026
+menu.selected-items.manage-permissions=G\u00e9rer les permissions...
+menu.selected-items.deselect-all=D\u00e9s\u00e9lectionner tout
+menu.selected-items.cloudSync=Synchronisation avec le cloud
+menu.selected-items.cloudUnsync=D\u00e9synchronisation du cloud
+menu.selected-items.cloudRequestSync=Demander la synchronisation
+
+## Pop-up Messages
+message.create-content-by-template-node.success=Contenu cr\u00e9\u00e9 \u00e0 partir du mod\u00e8le ''{0}''
+message.create-content-by-template-node.failure=Echec de la cr\u00e9ation du contenu \u00e0 partir du mod\u00e8le ''{0}''
+message.new-folder.success=Le dossier ''{0}'' a \u00e9t\u00e9 cr\u00e9\u00e9
+message.new-folder.failure=Impossible de cr\u00e9er ''{0}''. Dupliquer le nom du dossier ?
+message.multiple-delete.success=Suppression de {0} \u00e9l\u00e9ment(s) r\u00e9ussie
+message.multiple-delete.failure=Echec de la suppression des \u00e9l\u00e9ments
+title.multiple-delete.confirm=Confirmer l'action de suppression multiple
+message.multiple-delete.confirm=Etes-vous s\u00fbr de vouloir supprimer les {0} \u00e9l\u00e9ments suivants ?
+message.multiple-delete.please-wait=Veuillez patienter. Fichiers en cours de suppression...
+
+## Toolbar Modes
+description.path=
+description.path.more=
+description.all=Tous les documents de l'espace documentaire
+description.all.more=
+description.editingMe=Documents \u00e9dit\u00e9s par moi
+description.editingMe.more=(copies de travail)
+description.editingOthers=Documents que d'autres personnes \u00e9ditent
+description.editingOthers.more=(copies de travail)
+description.recentlyModified=Documents r\u00e9cemment modifi\u00e9s
+description.recentlyModified.more=
+description.recentlyAdded=Documents r\u00e9cemment ajout\u00e9s
+description.recentlyAdded.more=
+description.favourites=Mes documents et dossiers favoris
+description.favourites.more=
+description.tag=Documents et dossiers tagg\u00e9s avec
+description.tag.more={0}
+description.category=
+description.category.more=
+description.synced=Documents synchronis\u00e9s avec le cloud
+description.synced.more=
+description.syncedErrors=Documents contenant des erreurs de synchronisation
+description.syncedErrors.more=
+
+## Dialogs
+label.new-folder.title=Nouveau dossier
+label.new-folder.header=D\u00e9tails du nouveau dossier
+
+## SAEM-73 New archive button
+button.new-archive=Préparer un versement
+label.new-archive.title=Préparer un versement
+label.new-archive.header=Choisir le profil du versement
+message.missing-profils=Aucun profil disponible
\ No newline at end of file
--- /dev/null
+<#-- This file should be included by all WebScripts that make use of the forms runtime. It ensures that all the
+ required JavaScript and CSS dependencies are available. -->
+
+<#include "../component.head.inc">
+
+<!-- Form Assets -->
+<@link href="${page.url.context}/res/yui/calendar/assets/calendar.css" group="forms"/>
+<@link href="${page.url.context}/res/components/object-finder/object-finder.css" group="forms"/>
+<@link href="${page.url.context}/res/components/form/form.css" group="forms"/>
+
+<#if config.global.forms?exists && config.global.forms.dependencies?exists && config.global.forms.dependencies.css?exists>
+ <#list config.global.forms.dependencies.css as cssFile>
+ <#-- DD: Refactor notes - there could be a potential problem here, as cssFile may start with a slash. -->
+ <@link href="${page.url.context}/res${cssFile}" group="forms"/>
+ </#list>
+</#if>
+
+<@script src="${page.url.context}/res/components/form/form.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/date.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/date-picker.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/period.js" group="forms"/>
+<@script src="${page.url.context}/res/components/object-finder/object-finder.js" group="forms"/>
+<@script src="${page.url.context}/res/yui/calendar/calendar.js" group="forms"/>
+<@script src="${page.url.context}/res/modules/editors/tiny_mce/tiny_mce.js" group="forms"/>
+<@script src="${page.url.context}/res/modules/editors/tiny_mce.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/rich-text.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/content.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/workflow/transitions.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/workflow/activiti-transitions.js" group="forms"/>
+<@script src="${page.url.context}/res/components/form/jmx/operations.js" group="forms"/>
+
+<#if config.global.forms?exists && config.global.forms.dependencies?exists && config.global.forms.dependencies.js?exists>
+ <#list config.global.forms.dependencies.js as jsFile>
+ <#-- DD: Refactor notes - there could be a potential problem here, as jsFile may start with a slash. -->
+ <@script src="${page.url.context}/res${jsFile}" group="forms"/>
+ </#list>
+</#if>
\ No newline at end of file
--- /dev/null
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <@link href="${url.context}/res/components/guest/login.css" group="login"/>
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <@script src="${url.context}/res/components/guest/login.js" group="login"/>
+</@>
+
+<@markup id="widgets">
+ <@createWidgets group="login"/>
+</@>
+
+<@markup id="html">
+ <@uniqueIdDiv>
+ <#assign el=args.htmlid?html>
+ <div id="${el}-body" class="theme-overlay login hidden">
+
+ <@markup id="header">
+ <div class="theme-company-logo"></div>
+ </@markup>
+
+ <#if errorDisplay == "container">
+ <@markup id="error">
+ <#if error>
+ <div class="error">${msg("message.loginautherror")}</div>
+ <#else>
+ <script type="text/javascript">//<![CDATA[
+ document.cookie = "_alfTest=_alfTest";
+ var cookieEnabled = (document.cookie.indexOf("_alfTest") !== -1);
+ if (!cookieEnabled)
+ {
+ document.write('<div class="error">${msg("message.cookieserror")}</div>');
+ }
+ //]]></script>
+ </#if>
+ </@markup>
+ </#if>
+
+ <@markup id="form">
+ <form id="${el}-form" accept-charset="UTF-8" method="post" action="${url.context}/page/dologin" class="form-fields">
+ <@markup id="fields">
+ <input type="hidden" id="${el}-success" name="success" value="${successUrl?html}"/>
+ <input type="hidden" name="failure" value="${url.context}/page/type/login?error=true"/>
+ <div class="form-field">
+ <label for="${el}-username">${msg("label.username")}</label><br/>
+ <input type="text" id="${el}-username" name="username" maxlength="255" value="<#if lastUsername??>${lastUsername?html}</#if>" />
+ </div>
+ <div class="form-field">
+ <label for="${el}-password">${msg("label.password")}</label><br/>
+ <input type="password" id="${el}-password" name="password" maxlength="255" />
+ </div>
+ </@markup>
+ <@markup id="buttons">
+ <div class="form-field">
+ <input type="submit" id="${el}-submit" class="login-button" value="${msg("button.login")}"/>
+ </div>
+ </@markup>
+ </form>
+ </@markup>
+
+ <@markup id="footer">
+ <span style="color:#01B0F0">SAEM v0.9</span> <span class="faded tiny">${msg("label.copyright")}</span>
+ </@markup>
+
+ </div>
+ </@>
+</@>
\ No newline at end of file
--- /dev/null
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <#include "../form/form.css.ftl"/>
+ <@link href="${url.context}/res/components/workflow/start-workflow.css" group="workflow"/>
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <#include "../form/form.js.ftl"/>
+ <@script src="${url.context}/res/saem/components/workflow/start-workflow.js" group="workflow"/>
+</@>
+
+<@markup id="widgets">
+ <@createWidgets group="workflow"/>
+</@>
+
+<@markup id="html">
+ <@uniqueIdDiv>
+ <#include "../../include/alfresco-macros.lib.ftl" />
+ <#assign el=args.htmlid?html>
+ <div id="${el}-body" class="form-manager start-workflow">
+ <h1>${msg("header")}</h1>
+ <div>
+ <label for="${el}-workflowDefinitions" class="workflow-definition">${msg("label.workflow")}:</label>
+ <#-- Workflow type menu button -->
+ <span class="selected-form-button">
+ <span id="${el}-workflow-definition-button" class="yui-button yui-menu-button">
+ <span class="first-child">
+ <button type="button" tabindex="0"></button>
+ </span>
+ </span>
+ </span>
+ <#-- Workflow type menu -->
+ <div id="${el}-workflow-definition-menu" class="yuimenu" style="visibility:hidden">
+ <div class="bd">
+ <ul>
+ <#list workflowDefinitions as workflowDefinition>
+ <li>
+ <span class="title" tabindex="0">${workflowDefinition.title!workflowDefinition.id?html}</span>
+ <span class="description">${(workflowDefinition.description!"")?html}</span>
+ </li>
+ </#list>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="${el}-workflowFormContainer"></div>
+ </@>
+</@>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:alfresco/site-webscripts/org/alfresco/components/workflow/workflow.lib.js">
+
+function getSAEMWorkflowDefinitions()
+{
+ var hiddenWorkflowNames = getHiddenWorkflowNames(),
+ connector = remote.connect("alfresco");
+
+ var noderef = null;
+ var hasNodeRef = url.getQueryString().search("selectedItems=workspace://");
+ if(hasNodeRef >= 0){
+ noderef = url.getQueryString().substr(hasNodeRef, 74);
+ noderef = noderef.replace("selectedItems=", "");
+ var result = connector.get("/saem/denied-workflows/" + noderef.replace(":/", ""));
+ var deniededWorkflows = eval('(' + result +')').items;
+ for (i = 0 ; i < deniededWorkflows.length ; i++){
+ hiddenWorkflowNames.push(deniededWorkflows[i].name);
+ }
+ }
+
+ result = connector.get("/api/workflow-definitions?exclude=" + hiddenWorkflowNames.join(","));
+ if (result.status == 200)
+ {
+ var workflows = eval('(' + result + ')').data;
+ workflows.sort(sortByTitle);
+ return workflows;
+ }
+ return [];
+}
+
+model.workflowDefinitions = getSAEMWorkflowDefinitions();
+
+function main()
+{
+ // Widget instantiation metadata...
+ var startWorkflow = {
+ id : "StartWorkflow",
+ name : "Alfresco.component.StartWorkflow",
+ options : {
+ failureMessage : "message.failure",
+ submitButtonMessageKey : "button.startWorkflow",
+ defaultUrl : getSiteUrl("my-tasks"),
+ selectedItems : (page.url.args.selectedItems != null) ? page.url.args.selectedItems: "",
+ destination : (page.url.args.destination != null) ? page.url.args.destination : "",
+ workflowDefinitions : model.workflowDefinitions,
+ workflowName : (page.url.args.workflowName != null) ? page.url.args.workflowName : ""
+ }
+ };
+ model.widgets = [startWorkflow];
+}
+
+main();
--- /dev/null
+<!-- SAEM-80 Dashlets -->
+<webscript>
+ <shortname>DUA expirées</shortname>
+ <description>Dashlet affichant les archives à DUA expirée</description>
+ <family>site-dashlet</family>
+ <url>/saem/components/dashlets/expired-dua</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <@link rel="stylesheet" type="text/css" href="/share/saem/components/dashlets/expired-dua/expired-dua.css" />
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <@script type="text/javascript" src="/share/saem/components/dashlets/expired-dua/expired-dua.js"></@script>
+</@>
+
+
+<#assign id = args.htmlid>
+<#assign jsid = args.htmlid?js_string>
+<#assign prefSimpleView = preferences.simpleView!true>
+
+
+<script type="text/javascript">//<![CDATA[
+(function()
+{
+
+ new Alfresco.dashlet.ExpiredDua("${jsid}").setOptions(
+ {
+ simpleView: ${prefSimpleView?string?js_string},
+ }).setMessages(${messages});
+})();
+//]]>
+</script>
+
+<@markup id="widgets">
+ <@createWidgets group="dashlets"/>
+</@>
+
+<@markup id="html">
+ <@uniqueIdDiv>
+ <div class="dashlet expired-dua">
+ <div class="title">${msg("header")}</div>
+ <div class="titleBarActions" style="opacity: 0;">
+ <div class="titleBarActionIcon help" title="Afficher l'aide pour ce dashlet"></div>
+ </div>
+ <div class="toolbar">
+ <span class="expired-dua-sort-button">
+ <a href="#" id="sortbyname-button" class="theme-color-1">${msg("link.sortByName")}</a>
+ <a href="#" id="sortbydate-button" class="theme-color-1">${msg("link.sortByDate")}</a>
+ </div>
+ <div class="body scrollableList yui-dt">
+ <div id="${id}-expired-dua"></div>
+ </div>
+ </div>
+ </@>
+</@>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
+
+function main() {
+ var siteName = args.siteName;
+
+ var connector = remote.connect("alfresco");
+ var data = connector.get("/saem/expired-dua");
+ var result = eval('(' + data + ')');
+ model.data = result;
+ model.preferences = AlfrescoUtil.getPreferences("org.alfresco.share.ExpiredDua.dashlet");
+
+ /*var prefSimpleView = preferences.simpleView!true;
+
+ var expiredDua = {
+ id : "ExpiredDua",
+ name : "Alfresco.dashlet.ExpiredDua",
+ options : {
+ simpleView : prefSimpleView
+ }
+ };*/
+
+ var dashletResizer = {
+ id : "DashletResizer",
+ name : "Alfresco.widget.DashletResizer",
+ initArgs : ["\"" + args.htmlid + "\"", "\"" + instance.object.id + "\""],
+ useMessages : false
+ };
+
+ var dashletTitleBarActions = {
+ id : "DashletTitleBarActions",
+ name : "Alfresco.widget.DashletTitleBarActions",
+ useMessages : false,
+ options : {
+ actions: [
+ {
+ cssClass: "help",
+ bubbleOnClick:
+ {
+ message: msg.get("dashlet.help")
+ },
+ tooltip: msg.get("dashlet.help.tooltip")
+ }
+ ]
+ }
+ };
+ model.widgets = [dashletResizer, dashletTitleBarActions];
+
+}
+main();
\ No newline at end of file
--- /dev/null
+{
+ "items":
+ [
+ <#list data as item>
+ {
+ "name": "${item.name!''}"
+ "end_date": "${item.end_date!''}"
+ "name_archive": "${item.name_archive!''}"
+ "type_archive": "${item.type_archive!''}"
+ "creator": "${item.creator!''}"
+ "created": "${item.created!''}"
+ "description": "${item.description!''}"
+ "nodeRef": "${item.nodeRef!''}"
+ }<#if item_has_next>,</#if>
+ </#list>
+ ]
+}
--- /dev/null
+header=Archives dont la DUA est expir\u00e9e
+dashlet.help=Ce dashlet vous permet de visualiser les archives dont la DUA est expir\u00e9e
+message.datatable.loading=Chargement en cours...
+
+column.name=Archive
+column.end_date=Fin de DUA
+column.actions=Actions
+
+expired-dua.empty.title=Il n'y a aucune archive dont la DUA est expir\u00e9e.
+expired-dua.empty.description=Il n'y a aucune archive dont la DUA est expir\u00e9e.
+description.empty=Aucune description
+
+link.deleteArchive=Lancer le workflow d'\u00e9limination
+link.sortByName=Trier par nom
+link.sortByDate=Trier par date
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>Mes actions</shortname>
+ <description>Dashlet affichant les actions pouvant être exécutés</description>
+ <family>site-dashlet</family>
+ <url>/saem/components/dashlets/myActions</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <@link rel="stylesheet" type="text/css" href="/share/saem/components/dashlets/myActions/myActions.css" />
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <@script type="text/javascript" src="/share/saem/components/dashlets/myActions/myActions.js"></@script>
+ <@script type="text/javascript" src="${url.context}/res/modules/simple-dialog.js" />
+</@>
+
+
+<#assign id = args.htmlid>
+<#assign jsid = args.htmlid?js_string>
+<#assign prefSimpleView = preferences.simpleView!true>
+
+
+<script type="text/javascript">//<![CDATA[
+(function()
+{
+
+ new Alfresco.dashlet.MyActions("${jsid}").setOptions(
+ {
+ simpleView: ${prefSimpleView?string?js_string},
+ }).setMessages(${messages});
+})();
+//]]>
+</script>
+
+<@markup id="widgets">
+ <@createWidgets group="dashlets"/>
+</@>
+
+<@markup id="html">
+ <@uniqueIdDiv>
+ <div class="dashlet my-actions" style="width: 100%;">
+ <div class="title">${msg("header")}</div>
+ <div class="titleBarActions" style="opacity: 0;">
+ <div class="titleBarActionIcon help" title="Afficher l'aide pour ce dashlet"></div>
+ </div>
+ <div class="body" style="overflow: hidden;">
+
+ <div id="globalContainer">
+ <td>
+ <a class="aMyActions gauche" href="#" id="preparerVersement-button">
+ <div class="logoAction"><img class="dashletimg" src="/share/res/components/documentlibrary/images/myActions/archive.png"/></div>
+ <div class="nomDesc">
+ <p><b>Préparer un versement</b></p>
+ <p>Lancer la préparation d'un nouveau versement</p>
+ </div>
+ </a>
+ </td>
+
+ <td>
+ <a class="aMyActions droite" href="#" id="rechercheAvance-button">
+ <div class="logoAction"><img class="dashletimg" src="/share/res/components/documentlibrary/images/myActions/recherche.png"/></div>
+ <div class="nomDesc">
+ <p><b>Lancer une recherche</b></p>
+ <p>Accéder à la recherche avancée</p>
+ </div>
+ </a>
+ </td>
+
+ <td>
+ <a class="aMyActions gauche bas" href="#" id="lancerVersement-button">
+ <div class="logoAction"><img class="dashletimg" src="/share/res/components/documentlibrary/images/myActions/versement.png"/></div>
+ <div class="nomDesc">
+ <p><b>Soumettre un versement</b></p>
+ <p>Démarrer un workflow de versement afin de soumettre un pré-versement</p>
+ </div>
+ </a>
+ </td>
+
+ <td>
+ <a class="aMyActions droite bas" href="#" id="lancerRestitution-button">
+ <div class="logoAction"><img class="dashletimg" src="/share/res/components/documentlibrary/images/myActions/restitution.png"/></div>
+ <div class="nomDesc">
+ <p><b>Demander une restitution</b></p>
+ <p>Démarrer un workflow de restitution afin de récupérer une archive</p>
+ </div>
+ </a>
+ </td>
+ </div>
+ </div>
+ </div>
+ </@>
+</@>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
+
+function main() {
+ var siteName = args.siteName;
+
+ var connector = remote.connect("alfresco");
+ model.preferences = AlfrescoUtil.getPreferences("org.alfresco.share.MyActions.dashlet");
+
+// var dashletResizer = {
+// id : "DashletResizer",
+// name : "Alfresco.widget.DashletResizer",
+// useMessages : false
+// };
+
+ var dashletTitleBarActions = {
+ id : "DashletTitleBarActions",
+ name : "Alfresco.widget.DashletTitleBarActions",
+ useMessages : false,
+ options : {
+ actions: [
+ {
+ cssClass: "help",
+ bubbleOnClick:
+ {
+ message: msg.get("dashlet.help")
+ },
+ tooltip: msg.get("dashlet.help.tooltip")
+ }
+ ]
+ }
+ };
+ model.widgets = [/*dashletResizer,*/ dashletTitleBarActions];
+
+}
+main();
\ No newline at end of file
--- /dev/null
+{
+ "items":
+ [
+ ]
+}
--- /dev/null
+header=Mes actions
+dashlet.help=Ce dashlet vous permet de visualiser les actions que vous pouvez exécuter
+
+description.empty=Aucune description
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>Mes traitements</shortname>
+ <description>Dashlet affichant les traitements qui ont été initiés par un membre des groupes auxquel j'appartient</description>
+ <family>site-dashlet</family>
+ <url>/saem/components/dashlets/myTreatments</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<@markup id="css" >
+ <#-- CSS Dependencies -->
+ <@link rel="stylesheet" type="text/css" href="/share/saem/components/dashlets/myTreatments/myTreatments.css" />
+</@>
+
+<@markup id="js">
+ <#-- JavaScript Dependencies -->
+ <@script type="text/javascript" src="/share/saem/components/dashlets/myTreatments/myTreatments.js"></@script>
+</@>
+
+
+<#assign id = args.htmlid>
+<#assign jsid = args.htmlid?js_string>
+<#assign prefSimpleView = preferences.simpleView!true>
+
+
+<script type="text/javascript">//<![CDATA[
+(function()
+{
+
+ new Alfresco.dashlet.MyTreatments("${jsid}").setOptions(
+ {
+ simpleView: ${prefSimpleView?string?js_string},
+ }).setMessages(${messages});
+})();
+//]]>
+</script>
+
+<@markup id="widgets">
+ <@createWidgets group="dashlets"/>
+</@>
+
+<@markup id="html">
+ <@uniqueIdDiv>
+ <div class="dashlet my-treatments">
+ <div class="title">${msg("header")}</div>
+ <div class="titleBarActions" style="opacity: 0;">
+ <div class="titleBarActionIcon help" title="Afficher l'aide pour ce dashlet"></div>
+ </div>
+ <div class="body scrollableList yui-dt">
+ <div id="${id}-my-treatments"></div>
+ </div>
+ </div>
+ </@>
+</@>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
+
+function main() {
+ var siteName = args.siteName;
+
+ var connector = remote.connect("alfresco");
+ var data = connector.get("/saem/myTreatments");
+ var result = eval('(' + data + ')');
+ model.data = result;
+ model.preferences = AlfrescoUtil.getPreferences("org.alfresco.share.MyTreatments.dashlet");
+
+ var dashletResizer = {
+ id : "DashletResizer",
+ name : "Alfresco.widget.DashletResizer",
+ initArgs : ["\"" + args.htmlid + "\"", "\"" + instance.object.id + "\""],
+ useMessages : false
+ };
+
+ var dashletTitleBarActions = {
+ id : "DashletTitleBarActions",
+ name : "Alfresco.widget.DashletTitleBarActions",
+ useMessages : false,
+ options : {
+ actions: [
+ {
+ cssClass: "help",
+ bubbleOnClick:
+ {
+ message: msg.get("dashlet.help")
+ },
+ tooltip: msg.get("dashlet.help.tooltip")
+ }
+ ]
+ }
+ };
+ model.widgets = [dashletResizer, dashletTitleBarActions];
+
+}
+main();
\ No newline at end of file
--- /dev/null
+{
+ "items":
+ [
+ <#list data as item>
+ {
+ "name": "${item.name!''}"
+ "statut": "${item.statut!''}"
+ "flux": "${item.flux!''}"
+ "author": "${item.author!''}"
+ "date": "${item.date!''}"
+ "nodeRef": "${item.nodeRef!''}"
+ "actions": "${item.actions!''}"
+ }<#if item_has_next>,</#if>
+ </#list>
+ ]
+}
--- /dev/null
+header=Mes traitements
+dashlet.help=Ce dashlet vous permet de visualiser les traitements qui ont été initiés par un membre des groupes auxquel vous appartenez
+
+empty.title=Aucune donnée
+msg.loading=Chargement des données
+
+dashlet.myTreatments.logo=
+dashlet.myTreatments.nom=Nom de l'archive
+dashlet.myTreatments.flux=Flux
+dashlet.myTreatments.auteur=Auteur
+dashlet.myTreatments.statut=Statut de l'archive
+dashlet.myTreatments.date=Date de création
+dashlet.myTreatments.actions=Actions possibles
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>document-Seda-metadata</shortname>
+ <description>Document SEDA Metadata Component</description>
+ <url>/saem/components/document-details/document-seda-metadata</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<!-- Document Metadata Header -->
+<@link rel="stylesheet" type="text/css" href="/share/res/components/document-details/document-metadata.css" />
--- /dev/null
+<#assign el=args.htmlid?js_string>
+
+
+<div id="${el}-body" class="document-metadata-header document-details-panel">
+ <h2 id="${el}-heading" class="thin dark">
+ ${msg("seda.properties.title")}
+ </h2>
+ <div id="${el}-document-seda-formContainer" class="form-container">
+ <div class="form-fields">
+ <div class="set">
+ <#list sedaproperties as item>
+ <div class="form-field">
+ <div class="viewmode-field">
+ <span class="viewmode-label">${msg(item.title)}: </span>
+ <span class="viewmode-value">${item.value}</span>
+ </div>
+ </div>
+ </#list>
+ </div>
+ </div>
+ </div>
+ <script type="text/javascript">//<![CDATA[
+ Alfresco.util.createTwister("${el}-heading", "DocumentSedaMetadata");
+ //]]></script>
+</div>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
+
+function main()
+{
+ AlfrescoUtil.param('nodeRef');
+ AlfrescoUtil.param('site', null);
+ AlfrescoUtil.param('formId', null);
+
+ var connector = remote.connect("alfresco");
+ var data = connector.get("/saem/get-seda-properties?nodeRef=" + model.nodeRef);
+ var result = eval('(' + data + ')');
+
+ model.sedaproperties = result.items;
+}
+
+main();
--- /dev/null
+seda.properties.title=Propriétés SEDA
+label.service.versant=Service versant
+
+label.type.document=Type de document
+label.document.md5=Hash MD5
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>document-Seda-metadata</shortname>
+ <description>Document SEDA Metadata Component</description>
+ <url>/saem/components/folder-details/folder-seda-metadata</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<!-- Document Metadata Header -->
+<@link rel="stylesheet" type="text/css" href="/share/res/components/folder-details/folder-metadata.css" />
--- /dev/null
+<#assign el=args.htmlid?js_string>
+<div id="${el}-body" class="folder-metadata-header folder-details-panel">
+ <h2 id="${el}-heading" class="thin dark">
+ ${msg("seda.properties.title")}
+ </h2>
+ <div id="${el}-folder-seda-formContainer" class="form-container">
+ <div class="form-fields">
+ <div class="set">
+ <#list sedaproperties as item>
+ <div class="form-field">
+ <div class="viewmode-field">
+ <span class="viewmode-label">${msg(item.title)}: </span>
+ <span class="viewmode-value">${item.value}</span>
+ </div>
+ </div>
+ </#list>
+ </div>
+ </div>
+ </div>
+ <script type="text/javascript">//<![CDATA[
+ Alfresco.util.createTwister("${el}-heading", "FolderSedaMetadata");
+ //]]></script>
+</div>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
+
+function main()
+{
+ AlfrescoUtil.param('nodeRef');
+ AlfrescoUtil.param('site', null);
+ AlfrescoUtil.param('formId', null);
+
+ var connector = remote.connect("alfresco");
+ var data = connector.get("/saem/get-seda-properties?nodeRef=" + model.nodeRef);
+ var result = eval('(' + data + ')');
+
+ model.sedaproperties = result.items;
+}
+
+main();
--- /dev/null
+seda.properties.title=Propriétés SEDA
+label.service.versant=Service versant
+label.transfert.identifier=Identifiant du transfert
+label.transfert.date=Date du transfert
+label.unite.documentaire.date.debut=Date de début
+label.unite.documentaire.date.fin=Date de fin
+
+label.niveau.description=Niveau de description
+label.sort.final=Sort final
+label.regle.sort.final=Règle de sort final
+label.commentaire.versement=Commentaire du versement
+label.mots.cles=Mots-clés
+
+label.identifiant.origine=Identifiant d'origine
+label.description=Description
+label.type.document=Type de document
+label.document.md5=Hash MD5
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>SAEM Form Component</shortname>
+ <description>Component that renders a form</description>
+ <url>/components/form/archive-management</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<meta http-equiv="X-UA-Compatible" content="IE=8" >
+<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/saem/css/create-archive-form.css"/>
+<@script type="text/javascript" src="${page.url.context}/res/saem/js/jquery-1.9.1.min.js"></@script>
+<@script type="text/javascript" src="${page.url.context}/res/saem/js/archive-management.js"></@script>
+<@script src="${page.url.context}/res/saem/js/datepickerjquery-ui.js"></@script>
+<@link rel="stylesheet" href="${page.url.context}/res/saem/css/datepickerjquery-ui.css" />
+
\ No newline at end of file
--- /dev/null
+ <script type="text/javascript">
+
+ function saemparam(key) {
+ var result = new RegExp(key + "=([^&]*)", "i").exec(window.location.search);
+ return result && result[1] || "";
+ }
+
+
+ $(document).ready(function() {
+
+ var dataurl = null;
+ var profil = null;
+ var destination = null;
+ var actionParams = {};
+
+ if(saemparam("archive") != 0){
+ dataurl = "/share/proxy/alfresco/saem/archivemanagement?archive=" + saemparam('archive');
+ actionParams.archive = saemparam('archive');
+ }
+
+ if(saemparam("archiveRead") != 0){
+ dataurl = "/share/proxy/alfresco/saem/archivemanagement?archiveRead=" + saemparam('archiveRead');
+ actionParams.archive = saemparam('archiveRead');
+ }
+
+
+ if (saemparam("profil") != 0) {
+ dataurl = "/share/proxy/alfresco/saem/archivemanagement?profil=" + saemparam('profil');
+ profil = saemparam("profil");
+ actionParams.profil = profil;
+ }
+
+ if (saemparam("destination") != 0) {
+ destination = saemparam("destination");
+ actionParams.destination = destination;
+ }
+
+ if(saemparam("nodeRef") != 0){
+ dataurl = "/share/proxy/alfresco/saem/archivemanagement?nodeRef=" + saemparam('nodeRef');
+ //actionParams.nodeRef = saemparam("nodeRef");
+ }
+
+ mode = "new";
+ if(saemparam("mode") != 0){
+ mode = saemparam("mode");
+ }
+
+ /** Affichage des bouttons suivant le mode "lecture" ou "modification" **/
+ if(saemparam("mode")=="read"){
+ $("div.saem-form-content-mode-buttons").css("display", "none");
+ }
+ /*****/
+
+ dataurl += "&mode="+mode;
+
+ $(".saem-form-main").createArchiveForm({
+ loadDataURL: dataurl,
+ editDataURL: "/share/proxy/alfresco/saem/archivemanagement",
+ addItemURL: "/share/proxy/alfresco/saem/archivemanagement",
+ removeDataURL: "/share/proxy/alfresco/saem/archivemanagement",
+ actionURL: "/share/proxy/alfresco/saem/create-archive",
+ editURL: "/share/proxy/alfresco/saem/create-archive",
+ actionParams: actionParams,
+ mode:mode
+ });
+
+ });
+
+ </script>
+
+ <div class="saem-form-main">
+ <div class="saem-form-main-top-border"></div>
+
+ <div class="saem-form-menu">
+
+ <div class="saem-root-cat" id="saem-entete">
+ <div class="saem-root-cat-title">
+ <table cellspacing="0" cellpadding="0" border="0" class="saem-root-cat-inf">
+ <tbody>
+ <tr>
+ <td class="saem-root-cat-title-nberreur">
+
+ </td>
+ <td class="saem-root-cat-inf-td-folder">
+ <a class="saem-root-cat-inf-td-folder-link" href="#"> </a>
+ </td>
+ <td class="saem-root-cat-inf-td-name">
+ <span class="saem-root-cat-inf-td-name-link">En-tête du bordereau</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ </div>
+
+
+
+
+
+ <div class="saem-root-cat" id="saem-description">
+ <div class="saem-root-cat-title">
+ <table cellspacing="0" cellpadding="0" border="0" class="saem-root-cat-inf">
+ <tbody>
+ <tr>
+ <td class="saem-root-cat-title-nberreur">
+
+ </td>
+ <td class="saem-root-cat-inf-td-folder">
+ <a class="saem-root-cat-inf-td-folder-link" href="#"> </a>
+ </td>
+ <td class="saem-root-cat-inf-td-name">
+ <span class="saem-root-cat-inf-td-name-link">Description du versement</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="saem-form-move-div">
+ <div class="saem-form-move-div-normal"></div>
+ </div>
+ </div>
+
+
+ <div class="saem-form-content">
+ <div class="saem-form-content-margin">
+ <div class="saem-form-content-general-buttons">
+
+
+ <div class="saem-form-button" style="display:inline-block;">
+ <div class="saem-form-create-content">
+ <span class="saem-form-first-child saem-button-edit" style="display:none">
+ <button type="button" tabindex="0">Modifier le bordereau de versement</button>
+ </span>
+ </div>
+ </div>
+
+ <div class="saem-form-button" style="display:inline-block;">
+ <div class="saem-form-create-content">
+ <span class="saem-form-first-child saem-button-soumettre" style="display:none">
+ <button type="button" tabindex="0">Soumettre le bordereau de versement</button>
+ </span>
+ </div>
+ </div>
+ </div>
+
+ <div class="saem-form-content-mode-buttons">
+
+ <div class="saem-form-content-mode-buttons-content">
+ <span class="saem-form-content-mode-buttons-first-child saem-form-content-mode-buttons-first-child-expert">
+ <button type="button" tabindex="0" title="Vue simplifiée"></button>
+ </span>
+ </div>
+
+ <div class="saem-form-content-mode-buttons-content">
+ <span class="saem-form-content-mode-buttons-first-child saem-form-content-mode-buttons-first-child-simple-hide">
+ <button type="button" tabindex="0" title="Vue détaillée"></button>
+ </span>
+ </div>
+
+ </div>
+
+
+ <div class="saem-form-content-ariane">
+
+ <div class="saem-form-content-ariane-element">
+ <span class="saem-form-content-ariane-element-first-child saem-root">
+ <button type="button" tabindex="0" title="Plus haut"></button>
+ </span>
+ </div>
+
+ <div class="saem-form-content-ariane-separator"> </div>
+ </div>
+
+ <div id="saem-form-content-insertion">
+
+ </div>
+ </div>
+ </div>
+
+
+ <div id="saem-loader" class="saem-loader">
+ <div class="saem-loader-zone">
+ <div align="center">
+ <img src="/share/res/saem/css/ajax-loader.gif" />
+ </div>
+ <div align="center" class="saem-loader-text">
+ Chargement .....
+ </div>
+ </div>
+ </div>
+ </div>
+
+
\ No newline at end of file
--- /dev/null
+<webscript>
+ <shortname>SAEM Form Component POPUP</shortname>
+ <description>Component that renders a popup</description>
+ <url>/components/form/create-archive-popup</url>
+</webscript>
\ No newline at end of file
--- /dev/null
+<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/saem/css/create-archive-popup.css"/>
\ No newline at end of file
--- /dev/null
+<#assign el=args.htmlid?html>
+<div id="${el}-createArchive" class="create-archive">
+ <div id="${el}-dialogTitle" class="hd">${msg("title")}</div>
+ <div class="bd">
+ <form id="${el}-form" action="" method="post">
+ <div class="yui-g">
+ <h2 id="${el}-dialogHeader">${msg("header")}</h2>
+ </div>
+ <div class="yui-gd">
+ <div class="yui-u" style="margin-left:8em">
+ <div class="saem-select">
+ <#if items?has_content>
+ <select id="${args.htmlid}-profils" name="profils">
+ <#list items as item><option value="${item.nodeRef}">${item.name}</option></#list>
+ </select>
+ <#else>
+ <div class="missing-profils">${msg("message.missing-profils")}</div>
+ </#if>
+ </div>
+ </div>
+ </div>
+ <div class="bdft">
+ <#if items?has_content>
+ <input type="button" id="${el}-ok" value="${msg("button.ok")}" tabindex="0" />
+ </#if>
+ <input type="button" id="${el}-cancel" value="${msg("button.cancel")}" tabindex="0" />
+ </div>
+ <input type="hidden" id="${el}-destination-hidden" name="destination" value=""/>
+ </form>
+ </div>
+</div>
\ No newline at end of file
--- /dev/null
+<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
+
+function populateList(){
+
+
+ var result = remote.connect("alfresco").get("/saem/get-profils-seda");
+
+ if (result.status == status.STATUS_OK)
+ {
+ var json = eval('(' + result.response + ')');
+ model.items = json.items;
+ }
+ else{
+ model.items = null;
+ }
+};
+
+populateList();
\ No newline at end of file
--- /dev/null
+label.profilsselect=Profil associé
+message.missing-profils=Aucun profil disponible
\ No newline at end of file
--- /dev/null
+label.profilsselect=Profil associé
+message.missing-profils=Aucun profil disponible
\ No newline at end of file
--- /dev/null
+<#if field.endpointType?exists>
+
+<#include "org/alfresco/components/form/controls/common/picker.inc.ftl" />
+
+
+<#assign controlId = fieldHtmlId + "-cntrl">
+
+<script type="text/javascript">//<![CDATA[
+(function()
+{
+ <@renderPickerJS field "picker" />
+
+ picker.setOptions(
+ {
+ itemType: "${field.control.params.itemType}",
+ parentNodeRef: "${field.control.params.parentNodeRef!"alfresco://company/home"}",
+ rootNode: "${field.control.params.rootNode!"alfresco://company/home"}",
+ multipleSelectMode: ${(field.control.params.multipleSelectMode!true)?string},
+ itemFamily: "${field.control.params.itemFamily}",
+ params: "${field.control.params.params!""}",
+ compactMode: false
+ });
+
+})();
+//]]></script>
+
+<div class="form-field">
+ <#if form.mode == "view">
+ <div id="${controlId}" class="viewmode-field">
+ <#if (field.endpointMandatory!false || field.mandatory!false) && field.value == "">
+ <span class="incomplete-warning"><img src="${url.context}/components/form/images/warning-16.png" title="${msg("form.field.incomplete")}" /><span>
+ </#if>
+ <span class="viewmode-label">${field.label?html}:</span>
+ <span id="${controlId}-currentValueDisplay" class="viewmode-value current-values"></span>
+ </div>
+ <#else>
+ <label for="${controlId}">${field.label?html}:<#if field.mandatory!false><span class="mandatory-indicator">${msg("form.required.fields.marker")}</span></#if></label>
+
+ <div id="${controlId}" class="object-finder">
+
+ <div id="${controlId}-currentValueDisplay" class="current-values"></div>
+
+ <#if field.disabled == false>
+ <input type="hidden" id="${fieldHtmlId}" name="${field.name}" value="${field.value?html}" />
+ <input type="hidden" id="${controlId}-added" name="${field.name}_added" />
+ <input type="hidden" id="${controlId}-removed" name="${field.name}_removed" />
+ <div id="${controlId}-itemGroupActions" class="show-picker inlineable"></div>
+
+ <@renderPickerHTML controlId />
+ </#if>
+ </div>
+ </#if>
+</div>
+
+</#if>
\ No newline at end of file
--- /dev/null
+<#include "include/alfresco-template.ftl" />
+
+<@templateHeader />
+
+<@templateBody>
+ <div id="alf-hd">
+ <@region id="header" scope="global" />
+ <div id="template_x002e_title_x002e_repository_x0023_default">
+ <div class="page-title theme-bg-color-1 theme-border-1">
+ <h1 class="theme-color-3" id="titlesaemform"></h1>
+ </div>
+ </div>
+ </div>
+ <div id="bd">
+ <div class="share-form">
+ <@region id="form" scope="template" />
+ </div>
+ </div>
+
+</@>
+
+<@templateFooter>
+ <div id="alf-ft">
+ <@region id="footer" scope="global" />
+ </div>
+</@>
--- /dev/null
+<#include "include/alfresco-template.ftl" />
+
+<@templateHeader />
+
+<@templateBody>
+ <div id="alf-hd">
+ <@region id="header" scope="global" />
+ <div id="template_x002e_title_x002e_repository_x0023_default">
+ <div class="page-title theme-bg-color-1 theme-border-1">
+ <h1 class="theme-color-3">Préparer un versement</h1>
+ </div>
+ </div>
+ </div>
+ <div id="bd">
+ <div class="share-form">
+ <@region id="form" scope="template" />
+ </div>
+ </div>
+
+</@>
+
+<@templateFooter>
+ <div id="alf-ft">
+ <@region id="footer" scope="global" />
+ </div>
+</@>
--- /dev/null
+<#include "include/alfresco-template.ftl" />
+<@templateHeader>
+ <@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/doclib-actions.js" group="document-details"/>
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/document-details/document-details-panel.css" group="document-details"/>
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/folder-details/folder-details-panel.css" />
+ <@templateHtmlEditorAssets />
+</@>
+
+<@templateBody>
+ <@markup id="alf-hd">
+ <div id="alf-hd">
+ <@region id="mobile-app" scope="template"/>
+ <@region id="header" scope="global"/>
+ <@region id="title" scope="template"/>
+ <@region id="navigation" scope="template"/>
+ </div>
+ </@>
+ <@markup id="bd">
+ <div id="bd">
+ <@region id="actions-common" scope="template"/>
+ <@region id="actions" scope="template"/>
+ <@region id="node-header" scope="template"/>
+ <div class="yui-gc">
+ <div class="yui-u first">
+ <#if (config.scoped['DocumentDetails']['document-details'].getChildValue('display-web-preview') == "true")>
+ <@region id="web-preview" scope="template"/>
+ </#if>
+ <@region id="comments" scope="template"/>
+ </div>
+ <div class="yui-u">
+ <@region id="document-actions" scope="template"/>
+ <@region id="document-tags" scope="template"/>
+ <@region id="document-links" scope="template"/>
+ <@region id="document-metadata" scope="template"/>
+ <@region id="document-sync" scope="template"/>
+ <@region id="document-permissions" scope="template"/>
+ <@region id="document-workflows" scope="template"/>
+ <@region id="document-versions" scope="template"/>
+ <@region id="document-publishing" scope="template"/>
+ <#if imapServerEnabled>
+ <@region id="document-attachments" scope="template"/>
+ </#if>
+ </div>
+ </div>
+
+ <@region id="html-upload" scope="template"/>
+ <@region id="flash-upload" scope="template"/>
+ <@region id="file-upload" scope="template"/>
+ <@region id="dnd-upload" scope="template"/>
+ </div>
+ <@region id="doclib-custom" scope="template"/>
+ </@>
+</@>
+
+<@templateFooter>
+ <@markup id="alf-ft">
+ <div id="alf-ft">
+ <@region id="footer" scope="global"/>
+ </div>
+ </@>
+</@>
--- /dev/null
+<#include "include/alfresco-template.ftl" />
+<@templateHeader>
+ <@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/doclib-actions.js"></@script>
+ <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/folder-details/folder-details-panel.css" />
+ <@templateHtmlEditorAssets />
+</@>
+
+<@templateBody>
+ <@markup id="alf-hd">
+ <div id="alf-hd">
+ <@region id="header" scope="global"/>
+ <@region id="title" scope="template"/>
+ <@region id="navigation" scope="template"/>
+ </div>
+ </@>
+ <@markup id="bd">
+ <div id="bd">
+ <@region id="actions-common" scope="template"/>
+ <@region id="actions" scope="template"/>
+ <@region id="node-header" scope="template"/>
+ <div class="yui-gc">
+ <div class="yui-u first">
+ <@region id="comments" scope="template"/>
+ </div>
+ <div class="yui-u">
+ <@region id="folder-metadata" scope="template"/>
+ <@region id="folder-actions" scope="template"/>
+ <@region id="folder-tags" scope="template"/>
+ <@region id="folder-links" scope="template"/>
+ <@region id="folder-sync" scope="template"/>
+ <@region id="folder-permissions" scope="template"/>
+ </div>
+ </div>
+ </div>
+ <@region id="doclib-custom" scope="template"/>
+ </@>
+</@>
+
+<@templateFooter>
+ <@markup id="alf-ft">
+ <div id="alf-ft">
+ <@region id="footer" scope="global"/>
+ </div>
+ </@>
+</@>
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.extensibility.impl.DefaultSubComponentEvaluator;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il faut afficher ou masquer chaque propriété
+ *
+ * @Class : HideSedaProperties.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: HideSedaProperties.java $
+ *
+ */
+public class HideSedaProperties extends DefaultSubComponentEvaluator {
+
+ private static final Log LOG = LogFactory.getLog(HideSedaProperties.class);
+
+ public boolean evaluate(RequestContext context, Map<String, String> params) {
+
+ String nodeRef = context.getUriTokens().get("nodeRef");
+ if (nodeRef == null) {
+ nodeRef = context.getParameter("nodeRef");
+ }
+
+ try {
+ Connector conn = context.getServiceRegistry().getConnectorService()
+ .getConnector("alfresco", context.getUserId(), ServletUtil.getSession());
+ Response response = conn.call("/api/node/" + nodeRef.replace(":/", ""));
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ return !checkIfSEDAPropertyExist(response);
+ }
+ } catch (ConnectorServiceException e) {
+ LOG.error("Erreur lors de la tentative de récupération des propriétés seda", e);
+ }
+
+ return true;
+ }
+
+ private boolean checkIfSEDAPropertyExist(Response response) {
+ try {
+ Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder()
+ .parse(response.getResponseStream());
+ NodeList list = dom.getElementsByTagName("cmis:propertyString");
+ NodeList list2 = dom.getElementsByTagName("cmis:propertyBoolean");
+ for (int i = 0; i < list.getLength(); i++) {
+ Element element = (Element) list.item(i);
+ String propertyName = element.getAttribute("propertyDefinitionId");
+ //Pour les dossiers
+ if (propertyName.equals("saem:seda_sous_objet_archive_xml")) {
+ return true;
+ }
+ //Pour les documents
+ if (propertyName.equals("saem:seda_document_xml")) {
+ return true;
+ }
+ }
+ for (int i = 0; i < list2.getLength(); i++) {
+ Element element = (Element) list2.item(i);
+ String propertyName = element.getAttribute("propertyDefinitionId");
+ if (propertyName.equals("saem:isarchive")) {
+ return true;
+ }
+ }
+ } catch (SAXException | IOException | ParserConfigurationException e) {
+ LOG.error("Erreur lors de la tentative de récupération des propriétés seda", e);
+ }
+ return false;
+ }
+}
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import org.alfresco.web.evaluator.BaseEvaluator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il est possible de visualiser le bordereau d'archive
+ *
+ * @Class : IsArchiveBordereauViewable.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsArchiveBordereauViewable.java $
+ *
+ */
+public class IsArchiveBordereauViewable extends BaseEvaluator {
+
+ private static final String ALFRESCO = "alfresco";
+ private static final String URL = "/saem/is-archive-bordereau-viewable?nodeRef=";
+
+ private static final Log LOG = LogFactory.getLog(IsArchiveBordereauViewable.class);
+
+ public boolean evaluate(JSONObject jsonObject) {
+
+ String nodeRefString = (String) jsonObject.get("nodeRef");
+ final RequestContext rc = ThreadLocalRequestContext.getRequestContext();
+
+ Connector conn;
+ try {
+ conn = rc.getServiceRegistry().getConnectorService()
+ .getConnector(ALFRESCO, rc.getUser().getId(), ServletUtil.getSession());
+
+ Response response = conn.call(new StringBuilder(URL).append(nodeRefString).toString());
+
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ org.json.JSONObject json = new org.json.JSONObject(response.getResponse());
+ return (boolean) json.get("result");
+ }
+
+ } catch (ConnectorServiceException | JSONException e) {
+ LOG.error("erreur lors de l'évaluation de possibilité d'affichage de 'Visualiser le bordereau de versement' dans le menu de l'archive", e);
+ }
+
+ return true;
+ }
+}
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import org.alfresco.web.evaluator.BaseEvaluator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il est possible de modifier une archive
+ *
+ * @Class : IsArchiveModifiable.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsArchiveModifiable.java $
+ *
+ */
+public class IsArchiveModifiable extends BaseEvaluator {
+
+ private static final String ALFRESCO = "alfresco";
+ private static final String URL = "/saem/is-archive-modifiable?nodeRef=";
+
+ private static final Log LOG = LogFactory.getLog(IsArchiveModifiable.class);
+
+ public boolean evaluate(JSONObject jsonObject) {
+
+ String nodeRefString = (String) jsonObject.get("nodeRef");
+ final RequestContext rc = ThreadLocalRequestContext.getRequestContext();
+
+ Connector conn;
+ try {
+ conn = rc.getServiceRegistry().getConnectorService()
+ .getConnector(ALFRESCO, rc.getUser().getId(), ServletUtil.getSession());
+
+ Response response = conn.call(new StringBuilder(URL).append(nodeRefString).toString());
+
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ org.json.JSONObject json = new org.json.JSONObject(response.getResponse());
+ return (boolean) json.get("result");
+ }
+
+ } catch (ConnectorServiceException | JSONException e) {
+ LOG.error("erreur lors de l'évaluation de possibilité d'affichage de 'Modifier l'archive' dans le menu", e);
+ }
+
+ return true;
+ }
+}
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import org.alfresco.web.evaluator.BaseEvaluator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il est possible de visualiser le bordereau de document
+ *
+ * @Class : IsDocumentBordereauViewable.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsDocumentBordereauViewable.java $
+ *
+ */
+public class IsDocumentBordereauViewable extends BaseEvaluator {
+
+ private static final String ALFRESCO = "alfresco";
+ private static final String URL = "/saem/is-document-bordereau-viewable?nodeRef=";
+
+ private static final Log LOG = LogFactory.getLog(IsDocumentBordereauViewable.class);
+
+ public boolean evaluate(JSONObject jsonObject) {
+
+ String nodeRefString = (String) jsonObject.get("nodeRef");
+ final RequestContext rc = ThreadLocalRequestContext.getRequestContext();
+
+ Connector conn;
+ try {
+ conn = rc.getServiceRegistry().getConnectorService()
+ .getConnector(ALFRESCO, rc.getUser().getId(), ServletUtil.getSession());
+
+ Response response = conn.call(new StringBuilder(URL).append(nodeRefString).toString());
+
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ org.json.JSONObject json = new org.json.JSONObject(response.getResponse());
+ return (boolean) json.get("result");
+ }
+
+ } catch (ConnectorServiceException | JSONException e) {
+ LOG.error("erreur lors de l'évaluation de possibilité d'affichage de 'Visualiser bordereau' dans le menu du document", e);
+ }
+
+ return true;
+ }
+}
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import org.alfresco.web.evaluator.BaseEvaluator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il est possible d'éliminer une archive
+ *
+ * @Class : IsEliminationLaunchable.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsEliminationLaunchable.java $
+ *
+ */
+public class IsEliminationLaunchable extends BaseEvaluator {
+
+ private static final String ALFRESCO = "alfresco";
+ private static final String URL = "/saem/is-elimination-launchable?nodeRef=";
+
+ private static final Log LOG = LogFactory.getLog(IsEliminationLaunchable.class);
+
+ public boolean evaluate(JSONObject jsonObject) {
+ String nodeRefString = (String) jsonObject.get("nodeRef");
+ final RequestContext rc = ThreadLocalRequestContext.getRequestContext();
+
+ Connector conn;
+ try {
+ conn = rc.getServiceRegistry().getConnectorService()
+ .getConnector(ALFRESCO, rc.getUser().getId(), ServletUtil.getSession());
+
+ Response response = conn.call(new StringBuilder(URL).append(nodeRefString).toString());
+
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ org.json.JSONObject json = new org.json.JSONObject(response.getResponse());
+ return (boolean) json.get("result");
+ }
+
+ } catch (ConnectorServiceException | JSONException e) {
+ LOG.error("erreur lors de l'évaluation de possibilité de lancement de l'elimination", e);
+ }
+
+ return true;
+ }
+}
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import org.alfresco.web.evaluator.BaseEvaluator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il est possible de restituer une archive
+ *
+ * @Class : IsRestitutionLaunchable.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsRestitutionLaunchable.java $
+ *
+ */
+public class IsRestitutionLaunchable extends BaseEvaluator {
+
+ private static final String ALFRESCO = "alfresco";
+ private static final String URL = "/saem/is-restitution-launchable?nodeRef=";
+
+ private static final Log LOG = LogFactory.getLog(IsRestitutionLaunchable.class);
+
+ public boolean evaluate(JSONObject jsonObject) {
+ String nodeRefString = (String) jsonObject.get("nodeRef");
+ final RequestContext rc = ThreadLocalRequestContext.getRequestContext();
+
+ Connector conn;
+ try {
+ conn = rc.getServiceRegistry().getConnectorService()
+ .getConnector(ALFRESCO, rc.getUser().getId(), ServletUtil.getSession());
+
+ Response response = conn.call(new StringBuilder(URL).append(nodeRefString).toString());
+
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ org.json.JSONObject json = new org.json.JSONObject(response.getResponse());
+ return (boolean) json.get("result");
+ }
+
+ } catch (ConnectorServiceException | JSONException e) {
+ LOG.error("erreur lors de l'évaluation de possibilité de lancement de la restitution", e);
+ }
+
+ return true;
+ }
+}
--- /dev/null
+package eu.akka.saem.share.evaluator;
+
+import org.alfresco.web.evaluator.BaseEvaluator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.json.JSONException;
+import org.json.simple.JSONObject;
+import org.springframework.extensions.surf.RequestContext;
+import org.springframework.extensions.surf.ServletUtil;
+import org.springframework.extensions.surf.exception.ConnectorServiceException;
+import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.connector.Connector;
+import org.springframework.extensions.webscripts.connector.Response;
+
+/**
+ *
+ * Evaluator permettant de determiner s'il est possible de verser une archive
+ *
+ * @Class : IsWorkflowLaunchable.java
+ * @Package : eu.akka.saem.share.evaluator
+ * @Date : $Date: 25 févr. 2014 $:
+ * @author : $Author: THOMAS.POGNANT $
+ * @version : $Revision: $:
+ * @Id : $Id: IsWorkflowLaunchable.java $
+ *
+ */
+public class IsWorkflowLaunchable extends BaseEvaluator {
+
+ private static final String ALFRESCO = "alfresco";
+ private static final String URL = "/saem/is-workflow-launchable?nodeRef=";
+
+ private static final Log LOG = LogFactory.getLog(IsWorkflowLaunchable.class);
+
+ /* (non-Javadoc)
+ * @see org.alfresco.web.evaluator.BaseEvaluator#evaluate(org.json.simple.JSONObject)
+ */
+ public boolean evaluate(JSONObject jsonObject) {
+ String nodeRefString = (String) jsonObject.get("nodeRef");
+ final RequestContext rc = ThreadLocalRequestContext.getRequestContext();
+
+ Connector conn;
+ try {
+ conn = rc.getServiceRegistry().getConnectorService()
+ .getConnector(ALFRESCO, rc.getUser().getId(), ServletUtil.getSession());
+
+ Response response = conn.call(new StringBuilder(URL).append(nodeRefString).toString());
+
+ if (response.getStatus().getCode() == Status.STATUS_OK) {
+ org.json.JSONObject json = new org.json.JSONObject(response.getResponse());
+ return (boolean) json.get("result");
+ }
+
+ } catch (ConnectorServiceException | JSONException e) {
+ LOG.error("erreur lors de l'évaluation de possibilité de lancement de workflow", e);
+ }
+
+ return true;
+ }
+}
--- /dev/null
+/**
+ * Copyright (C) 2005-2012 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * Document Library Actions module
+ *
+ * @namespace Alfresco.doclib
+ * @class Alfresco.doclib.Actions
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML,
+ $combine = Alfresco.util.combinePaths,
+ $siteURL = Alfresco.util.siteURL,
+ $isValueSet = Alfresco.util.isValueSet;
+
+ /**
+ * Cloud folder picker dialog.
+ * This will be defined globally, because the sync actions are available in the actions panel as well as in the
+ * sync panel. And clicking those actions from different panels creates different panels in different contexts.
+ */
+ var cloudFolderPicker;
+
+ /**
+ * Alfresco.doclib.Actions implementation
+ */
+ Alfresco.doclib.Actions = {};
+ Alfresco.doclib.Actions.prototype =
+ {
+ /**
+ * Current actions view type: set by owning class to "browse" or "details".
+ *
+ * @property actionsView
+ * @type string
+ */
+ actionsView: null,
+
+ /**
+ * Register a Document Library action via Bubbling event
+ *
+ * @method onRegisterAction
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (actionName, fn)
+ */
+ onRegisterAction: function dlA_onRegisterAction(layer, args)
+ {
+ var obj = args[1];
+ if (obj && $isValueSet(obj.actionName) && $isValueSet(obj.fn))
+ {
+ this.registerAction(obj.actionName, obj.fn);
+ }
+ else
+ {
+ Alfresco.logger.error("DL_onRegisterAction: Custom action registion invalid: " + obj);
+ }
+ },
+
+ /**
+ * Register a Document Library action
+ *
+ * @method registerAction
+ * @param actionName {string} Action name
+ * @param fn {function} Handler function
+ * @return {boolean} Success status of registration
+ */
+ registerAction: function DL_registerAction(actionName, fn)
+ {
+ if ($isValueSet(actionName) && $isValueSet(fn))
+ {
+ this.constructor.prototype[actionName] = fn;
+ return true;
+ }
+ return false;
+ },
+
+ /**
+ * Renders a single action for a given record.
+ * Callers should then use
+ * <pre>
+ * YAHOO.lang.substitute(actionHTML, this.getActionUrls(record))
+ * </pre>
+ * on the final concatenated HTML for multiple actions to populate placeholder URLs.
+ *
+ * @method renderAction
+ * @param p_action {object} Object literal representing the node
+ * @param p_record {string} Optional siteId override for site-based locations
+ * @return {string} HTML containing action markup
+ */
+ renderAction: function dlA_renderAction(p_action, p_record)
+ {
+ var urlContext = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/actions/",
+ iconStyle = 'style="background-image:url(' + urlContext + '{icon}-16.png)" ',
+ actionTypeMarkup =
+ {
+ "link": '<div class="{id}"><a title="{label}" class="simple-link" href="{href}" ' + iconStyle + '{target}><span>{label}</span></a></div>',
+ "pagelink": '<div class="{id}"><a title="{label}" class="simple-link" href="{pageUrl}" ' + iconStyle + '><span>{label}</span></a></div>',
+ "javascript": '<div class="{id}" id="{jsfunction}"><a title="{label}" class="action-link" href="#"' + iconStyle + '><span>{label}</span></a></div>'
+ };
+
+ // Store quick look-up for client-side actions
+ p_record.actionParams[p_action.id] = p_action.params;
+
+ var markupParams =
+ {
+ "id": p_action.id,
+ "icon": p_action.icon,
+ "label": $html(Alfresco.util.substituteDotNotation(this.msg(p_action.label), p_record))
+ };
+
+ // Parameter substitution for each action type
+ if (p_action.type === "link")
+ {
+ if (p_action.params.href)
+ {
+ markupParams.href = Alfresco.util.substituteDotNotation(p_action.params.href, p_record);
+ markupParams.target = p_action.params.target ? "target=\"" + p_action.params.target + "\"" : "";
+ }
+ else
+ {
+ Alfresco.logger.warn("Action configuration error: Missing 'href' parameter for actionId: ", p_action.id);
+ }
+ }
+ else if (p_action.type === "pagelink")
+ {
+ if (p_action.params.page)
+ {
+ markupParams.pageUrl = Alfresco.util.substituteDotNotation(p_action.params.page, p_record);
+
+ /**
+ * If the page starts with a "{" character we're going to assume it's a placeholder variable
+ * that will be resolved by the getActionsUrls() function. In which case, we do not want to
+ * use the $siteURL() function here as that will result in a double-prefix.
+ */
+ if (p_action.params.page.charAt(0) !== "{")
+ {
+ var recordSiteName = $isValueSet(p_record.location.site) ? p_record.location.site.name : null;
+ markupParams.pageUrl = $siteURL(markupParams.pageUrl,
+ {
+ site: recordSiteName
+ });
+ }
+ }
+ else
+ {
+ Alfresco.logger.warn("Action configuration error: Missing 'page' parameter for actionId: ", p_action.id);
+ }
+ }
+ else if (p_action.type === "javascript")
+ {
+ if (p_action.params["function"])
+ {
+ markupParams.jsfunction = p_action.params["function"];
+ }
+ else
+ {
+ Alfresco.logger.warn("Action configuration error: Missing 'function' parameter for actionId: ", p_action.id);
+ }
+ }
+
+ return YAHOO.lang.substitute(actionTypeMarkup[p_action.type], markupParams);
+ },
+
+ /**
+ * The urls to be used when creating links in the action cell
+ *
+ * @method getActionUrls
+ * @param recordData {object} Object literal representing the node
+ * @param siteId {string} Optional siteId override for site-based locations
+ * @return {object} Object literal containing URLs to be substituted in action placeholders
+ */
+ getActionUrls: function dlA_getActionUrls(record, siteId)
+ {
+ var jsNode = record.jsNode,
+ nodeRef = jsNode.isLink ? jsNode.linkedNode.nodeRef : jsNode.nodeRef,
+ strNodeRef = nodeRef.toString(),
+ nodeRefUri = nodeRef.uri,
+ contentUrl = jsNode.contentURL,
+ workingCopy = record.workingCopy || {},
+ recordSiteId = $isValueSet(record.location.site) ? record.location.site.name : null,
+ fnPageURL = Alfresco.util.bind(function(page)
+ {
+ return Alfresco.util.siteURL(page,
+ {
+ site: YAHOO.lang.isString(siteId) ? siteId : recordSiteId
+ });
+ }, this),
+ actionUrls =
+ {
+ downloadUrl: $combine(Alfresco.constants.PROXY_URI, contentUrl) + "?a=true",
+ viewUrl: $combine(Alfresco.constants.PROXY_URI, contentUrl) + "\" target=\"_blank",
+ documentDetailsUrl: fnPageURL("document-details?nodeRef=" + strNodeRef),
+ folderDetailsUrl: fnPageURL("folder-details?nodeRef=" + strNodeRef),
+ editMetadataUrl: fnPageURL("edit-metadata?nodeRef=" + strNodeRef),
+ inlineEditUrl: fnPageURL("inline-edit?nodeRef=" + strNodeRef),
+ managePermissionsUrl: fnPageURL("manage-permissions?nodeRef=" + strNodeRef),
+ manageTranslationsUrl: fnPageURL("manage-translations?nodeRef=" + strNodeRef),
+ workingCopyUrl: fnPageURL("document-details?nodeRef=" + (workingCopy.workingCopyNodeRef || strNodeRef)),
+ workingCopySourceUrl: fnPageURL("document-details?nodeRef=" + (workingCopy.sourceNodeRef || strNodeRef)),
+ viewGoogleDocUrl: workingCopy.googleDocUrl + "\" target=\"_blank",
+ explorerViewUrl: $combine(this.options.repositoryUrl, "/n/showSpaceDetails/", nodeRefUri) + "\" target=\"_blank",
+ cloudViewUrl: $combine(Alfresco.constants.URL_SERVICECONTEXT, "cloud/cloudUrl?nodeRef=" +strNodeRef)
+ };
+
+ actionUrls.sourceRepositoryUrl = this.viewInSourceRepositoryURL(record, actionUrls) + "\" target=\"_blank";
+
+ return actionUrls;
+ },
+
+
+ /**
+ * Helper for actions of type "javascript" to get the node's action descriptor with params resolved (unless resolve is set to false).
+ *
+ * @method getAction
+ * @param record {object} Object literal representing one file or folder to be actioned
+ * @param owner {HTMLElement} The action html element
+ * @param resolve {Boolean} (Optional) Set to false if the action param's {} shouldn't get resolved
+ */
+ getAction: function dlA_getAction(record, owner, resolve)
+ {
+ var actionId = owner.className,
+ action = Alfresco.util.findInArray(record.actions, actionId, "id") || {};
+
+ if (resolve === false)
+ {
+ // Return action without resolved parameters
+ return action;
+ }
+ else
+ {
+ // Resolve action's parameters before returning them
+ action = Alfresco.util.deepCopy(action);
+ var params = action.params || {};
+ for (var key in params)
+ {
+ params[key] = YAHOO.lang.substitute(params[key], record, function getActionParams_substitute(p_key, p_value, p_meta)
+ {
+ return Alfresco.util.findValueByDotNotation(record, p_key);
+ });
+ }
+ return action;
+ }
+ },
+
+ /**
+ * Tries to get a common parent nodeRef for an action that requires one.
+ *
+ * @method getParentNodeRef
+ * @param record {object} Object literal representing one file or folder to be actioned
+ * @return {string|null} Parent nodeRef or null
+ */
+ getParentNodeRef: function dlA_getParentNodeRef(record)
+ {
+ var nodeRef = null;
+
+ if (YAHOO.lang.isArray(record))
+ {
+ try
+ {
+ nodeRef = this.doclistMetadata.parent.nodeRef;
+ }
+ catch (e)
+ {
+ nodeRef = null;
+ }
+
+ if (nodeRef === null)
+ {
+ for (var i = 1, j = record.length, sameParent = true; i < j && sameParent; i++)
+ {
+ sameParent = (record[i].parent.nodeRef == record[i - 1].parent.nodeRef)
+ }
+
+ nodeRef = sameParent ? record[0].parent.nodeRef : this.doclistMetadata.container;
+ }
+ }
+ else
+ {
+ nodeRef = record.parent.nodeRef;
+ }
+
+ return nodeRef;
+ },
+
+ /**
+ * Record metadata.
+ *
+ * @override
+ * @method onActionDetails
+ * @param record {object} Object literal representing one file or folder to be actioned
+ */
+ onActionDetails: function dlA_onActionDetails(record)
+ {
+ var scope = this,
+ nodeRef = record.nodeRef,
+ jsNode = record.jsNode;
+
+ // Intercept before dialog show
+ var doBeforeDialogShow = function dlA_onActionDetails_doBeforeDialogShow(p_form, p_dialog)
+ {
+ // Dialog title
+ var fileSpan = '<span class="light">' + $html(record.displayName) + '</span>';
+
+ Alfresco.util.populateHTML(
+ [ p_dialog.id + "-dialogTitle", scope.msg("edit-details.title", fileSpan) ]
+ );
+
+ // Edit metadata link button
+ this.widgets.editMetadata = Alfresco.util.createYUIButton(p_dialog, "editMetadata", null,
+ {
+ type: "link",
+ label: scope.msg("edit-details.label.edit-metadata"),
+ href: $siteURL("edit-metadata?nodeRef=" + nodeRef)
+ });
+ };
+
+ var templateUrl = YAHOO.lang.substitute(Alfresco.constants.URL_SERVICECONTEXT + "components/form?itemKind={itemKind}&itemId={itemId}&destination={destination}&mode={mode}&submitType={submitType}&formId={formId}&showCancelButton=true",
+ {
+ itemKind: "node",
+ itemId: nodeRef,
+ mode: "edit",
+ submitType: "json",
+ formId: "doclib-simple-metadata"
+ });
+
+ // Using Forms Service, so always create new instance
+ var editDetails = new Alfresco.module.SimpleDialog(this.id + "-editDetails-" + Alfresco.util.generateDomId());
+
+ editDetails.setOptions(
+ {
+ width: "40em",
+ templateUrl: templateUrl,
+ actionUrl: null,
+ destroyOnHide: true,
+ doBeforeDialogShow:
+ {
+ fn: doBeforeDialogShow,
+ scope: this
+ },
+ onSuccess:
+ {
+ fn: function dlA_onActionDetails_success(response)
+ {
+ // Reload the node's metadata
+ var webscriptPath = "components/documentlibrary/data";
+ if ($isValueSet(this.options.siteId))
+ {
+ webscriptPath += "/site/" + encodeURIComponent(this.options.siteId)
+ }
+ Alfresco.util.Ajax.request(
+ {
+ url: $combine(Alfresco.constants.URL_SERVICECONTEXT, webscriptPath, "/node/", jsNode.nodeRef.uri) + "?view=" + this.actionsView,
+ successCallback:
+ {
+ fn: function dlA_onActionDetails_refreshSuccess(response)
+ {
+ var record = response.json.item
+ record.jsNode = new Alfresco.util.Node(response.json.item.node);
+
+ // Fire "renamed" event
+ YAHOO.Bubbling.fire(record.node.isContainer ? "folderRenamed" : "fileRenamed",
+ {
+ file: record
+ });
+
+ // Fire "tagRefresh" event
+ YAHOO.Bubbling.fire("tagRefresh");
+
+ // Display success message
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.details.success")
+ });
+
+ // Refresh the document list...
+ this._updateDocList.call(this);
+ },
+ scope: this
+ },
+ failureCallback:
+ {
+ fn: function dlA_onActionDetails_refreshFailure(response)
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.details.failure")
+ });
+ },
+ scope: this
+ }
+ });
+ },
+ scope: this
+ },
+ onFailure:
+ {
+ fn: function dLA_onActionDetails_failure(response)
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.details.failure")
+ });
+ },
+ scope: this
+ }
+ }).show();
+ },
+
+ /**
+ * Locate record.
+ *
+ * @method onActionLocate
+ * @param record {object} Object literal representing one file or folder to be actioned
+ */
+ onActionLocate: function dlA_onActionLocate(record)
+ {
+ var jsNode = record.jsNode,
+ path = record.location.path,
+ file = jsNode.isLink ? jsNode.linkedNode.properties.name : record.displayName,
+ recordSiteName = $isValueSet(record.location.site) ? record.location.site.name : null;
+
+ if ($isValueSet(this.options.siteId) && recordSiteName !== this.options.siteId)
+ {
+ window.location = $siteURL((recordSiteName === null ? "repository" : "documentlibrary") + "?file=" + encodeURIComponent(file) + "&path=" + encodeURIComponent(path),
+ {
+ site: recordSiteName
+ });
+ }
+ else
+ {
+ this.options.highlightFile = file;
+
+ // Change active filter to path
+ YAHOO.Bubbling.fire("changeFilter",
+ {
+ filterId: "path",
+ filterData: path
+ });
+ }
+ },
+
+ /**
+ * Delete record.
+ *
+ * @method onActionDelete
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionDelete: function dlA_onActionDelete(record)
+ {
+ var me = this,
+ jsNode = record.jsNode,
+ content = jsNode.isContainer ? "folder" : "document",
+ displayName = record.displayName,
+ isCloud = (this.options.syncMode === "CLOUD")
+
+ var displayPromptText = this.msg("message.confirm.delete", displayName);
+ if (jsNode.hasAspect("sync:syncSetMemberNode"))
+ {
+ if (isCloud)
+ {
+ displayPromptText += this.msg("actions.synced.cloud." + content + ".delete", displayName);
+ }
+ else
+ {
+ displayPromptText += this.msg("actions.synced." + content + ".delete", displayName);
+ }
+ }
+
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ title: this.msg("actions." + content + ".delete"),
+ text: displayPromptText,
+ noEscape: true,
+ buttons: [
+ {
+ text: this.msg("button.delete"),
+ handler: function dlA_onActionDelete_delete()
+ {
+ this.destroy();
+ me._onActionDeleteConfirm.call(me, record);
+ }
+ },
+ {
+ text: this.msg("button.cancel"),
+ handler: function dlA_onActionDelete_cancel()
+ {
+ this.destroy();
+ },
+ isDefault: true
+ }]
+ });
+ },
+
+ /**
+ * Delete record confirmed.
+ *
+ * @method _onActionDeleteConfirm
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @private
+ */
+ _onActionDeleteConfirm: function dlA__onActionDeleteConfirm(record)
+ {
+ var jsNode = record.jsNode,
+ path = record.location.path,
+ fileName = record.location.file,
+ filePath = $combine(path, fileName),
+ displayName = record.displayName,
+ nodeRef = jsNode.nodeRef,
+ parentNodeRef = this.getParentNodeRef(record);
+
+ this.modules.actions.genericAction(
+ {
+ success:
+ {
+ activity:
+ {
+ siteId: this.options.siteId,
+ activityType: jsNode.isContainer ? "folder-deleted" : "file-deleted",
+ page: "documentlibrary",
+ activityData:
+ {
+ fileName: fileName,
+ path: path,
+ nodeRef: nodeRef.toString(),
+ parentNodeRef: parentNodeRef.toString()
+ }
+ },
+ event:
+ {
+ name: jsNode.isContainer ? "folderDeleted" : "fileDeleted",
+ obj:
+ {
+ path: filePath
+ }
+ },
+ message: this.msg("message.delete.success", displayName)
+ },
+ failure:
+ {
+ message: this.msg("message.delete.failure", displayName)
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.DELETE,
+ name: "file/node/{nodeRef}",
+ params:
+ {
+ nodeRef: nodeRef.uri
+ }
+ },
+ wait:
+ {
+ message: this.msg("message.multiple-delete.please-wait")
+ }
+ });
+ },
+
+ /**
+ * Edit Offline.
+ * NOTE: Placeholder only, clients MUST implement their own editOffline action
+ *
+ * @method onActionEditOffline
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionEditOffline: function dlA_onActionEditOffline(record)
+ {
+ Alfresco.logger.error("onActionEditOffline", "Abstract implementation not overridden");
+ },
+
+ /**
+ * Valid online edit mimetypes, mapped to application ProgID.
+ * Currently allowed are Microsoft Office 2003 and 2007 mimetypes for Excel, PowerPoint and Word only
+ *
+ * @property onlineEditMimetypes
+ * @type object
+ */
+ onlineEditMimetypes:
+ {
+ "application/msword": "Word.Document",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "Word.Document",
+ "application/vnd.ms-word.document.macroenabled.12": "Word.Document",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "Word.Document",
+ "application/vnd.ms-word.template.macroenabled.12": "Word.Document",
+
+ "application/vnd.ms-powerpoint": "PowerPoint.Slide",
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": "PowerPoint.Slide",
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12": "PowerPoint.Slide",
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow": "PowerPoint.Slide",
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12": "PowerPoint.Slide",
+ "application/vnd.openxmlformats-officedocument.presentationml.template": "PowerPoint.Slide",
+ "application/vnd.ms-powerpoint.template.macroenabled.12": "PowerPoint.Slide",
+ "application/vnd.ms-powerpoint.addin.macroenabled.12": "PowerPoint.Slide",
+ "application/vnd.openxmlformats-officedocument.presentationml.slide": "PowerPoint.Slide",
+ "application/vnd.ms-powerpoint.slide.macroEnabled.12": "PowerPoint.Slide",
+
+ "application/vnd.ms-excel": "Excel.Sheet",
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "Excel.Sheet",
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template": "Excel.Sheet",
+ "application/vnd.ms-excel.sheet.macroenabled.12": "Excel.Sheet",
+ "application/vnd.ms-excel.template.macroenabled.12": "Excel.Sheet",
+ "application/vnd.ms-excel.addin.macroenabled.12": "Excel.Sheet",
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12": "Excel.Sheet",
+ "application/vnd.visio": "Visio.Drawing"
+ },
+
+ /**
+ * Edit Online.
+ *
+ * @method onActionEditOnline
+ * @param record {object} Object literal representing file or folder to be actioned
+ */
+ onActionEditOnline: function dlA_onActionEditOnline(record)
+ {
+ if (this._launchOnlineEditor(record))
+ {
+ YAHOO.Bubbling.fire("metadataRefresh");
+ }
+ else
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.edit-online.office.failure")
+ });
+ }
+ },
+
+ /**
+ * Opens the appropriate Microsoft Office application for online editing.
+ * Supports: Microsoft Office 2003, 2007 & 2010.
+ *
+ * @method Alfresco.util.sharePointOpenDocument
+ * @param record {object} Object literal representing file or folder to be actioned
+ * @return {boolean} True if the action was completed successfully, false otherwise.
+ */
+ _launchOnlineEditor: function dlA__launchOnlineEditor(record)
+ {
+ var controlProgID = "SharePoint.OpenDocuments",
+ jsNode = record.jsNode,
+ loc = record.location,
+ mimetype = jsNode.mimetype,
+ appProgID = null,
+ activeXControl = null,
+ extensionMap =
+ {
+ doc: "application/msword",
+ docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ docm: "application/vnd.ms-word.document.macroenabled.12",
+ dotx: "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
+ dotm: "application/vnd.ms-word.template.macroenabled.12",
+
+ ppt: "application/vnd.ms-powerpoint",
+ pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ pptm: "application/vnd.ms-powerpoint.presentation.macroenabled.12",
+ ppsx: "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
+ ppsm: "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
+ potx: "application/vnd.openxmlformats-officedocument.presentationml.template",
+ potm: "application/vnd.ms-powerpoint.template.macroenabled.12",
+ ppam: "application/vnd.ms-powerpoint.addin.macroenabled.12",
+ sldx: "application/vnd.openxmlformats-officedocument.presentationml.slide",
+ sldm: "application/vnd.ms-powerpoint.slide.macroEnabled.12",
+
+ xls: "application/vnd.ms-excel",
+ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
+ xlsm: "application/vnd.ms-excel.sheet.macroenabled.12",
+ xltm: "application/vnd.ms-excel.template.macroenabled.12",
+ xlam: "application/vnd.ms-excel.addin.macroenabled.12",
+ xlsb: "application/vnd.ms-excel.sheet.binary.macroenabled.12"
+ };
+
+ // Try to resolve the record to an application ProgID; by mimetype first, then file extension.
+ if (this.onlineEditMimetypes.hasOwnProperty(mimetype))
+ {
+ appProgID = this.onlineEditMimetypes[mimetype];
+ }
+ else
+ {
+ var extn = Alfresco.util.getFileExtension(record.location.file);
+ if (extn !== null)
+ {
+ extn = extn.toLowerCase();
+ if (extensionMap.hasOwnProperty(extn))
+ {
+ mimetype = extensionMap[extn];
+ if (this.onlineEditMimetypes.hasOwnProperty(mimetype))
+ {
+ appProgID = this.onlineEditMimetypes[mimetype];
+ }
+ }
+ }
+ }
+
+ if (appProgID !== null)
+ {
+ // Ensure we have the record's onlineEditUrl populated
+ if (!$isValueSet(record.onlineEditUrl))
+ {
+ record.onlineEditUrl = Alfresco.util.onlineEditUrl(this.doclistMetadata.custom.vtiServer, loc);
+ }
+
+ if (YAHOO.env.ua.ie > 0)
+ {
+ return this._launchOnlineEditorIE(controlProgID, record, appProgID);
+ }
+
+ if (Alfresco.util.isSharePointPluginInstalled())
+ {
+ return this._launchOnlineEditorPlugin(record, appProgID);
+ }
+ else
+ {
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ text: this.msg("actions.editOnline.failure", loc.file)
+ });
+ return false;
+ }
+ }
+
+ // No success in launching application via ActiveX control; launch the WebDAV URL anyway
+ return window.open(record.onlineEditUrl, "_blank");
+ },
+
+ /**
+ * Opens the appropriate Microsoft Office application for online editing.
+ * Supports: Microsoft Office 2003, 2007 & 2010.
+ *
+ * @method Alfresco.util.sharePointOpenDocument
+ * @param record {object} Object literal representing file or folder to be actioned
+ * @return {boolean} True if the action was completed successfully, false otherwise.
+ */
+ _launchOnlineEditorIE: function dlA__launchOnlineEditorIE(controlProgID, record, appProgID)
+ {
+ // Try each version of the SharePoint control in turn, newest first
+ try
+ {
+ if (appProgID === "Visio.Drawing")
+ throw ("Visio should be invoked using activeXControl.EditDocument2.");
+ activeXControl = new ActiveXObject(controlProgID + ".3");
+ return activeXControl.EditDocument3(window, record.onlineEditUrl, true, appProgID);
+ }
+ catch(e)
+ {
+ try
+ {
+ activeXControl = new ActiveXObject(controlProgID + ".2");
+ return activeXControl.EditDocument2(window, record.onlineEditUrl, appProgID);
+ }
+ catch(e1)
+ {
+ try
+ {
+ activeXControl = new ActiveXObject(controlProgID + ".1");
+ return activeXControl.EditDocument(record.onlineEditUrl, appProgID);
+ }
+ catch(e2)
+ {
+ // Do nothing
+ }
+ }
+ }
+ return false;
+ },
+
+ /**
+ * Opens the appropriate Microsoft Office application for online editing.
+ * Supports: Microsoft Office 2010 & 2011 for Mac.
+ *
+ * @method Alfresco.util.sharePointOpenDocument
+ * @param record {object} Object literal representing file or folder to be actioned
+ * @return {boolean} True if the action was completed successfully, false otherwise.
+ */
+ _launchOnlineEditorPlugin: function dlA__launchOnlineEditorPlugin(record, appProgID)
+ {
+ var plugin = document.getElementById("SharePointPlugin");
+ if (plugin == null && Alfresco.util.isSharePointPluginInstalled())
+ {
+ var pluginMimeType = null;
+ if (YAHOO.env.ua.webkit && Alfresco.util.isBrowserPluginInstalled("application/x-sharepoint-webkit"))
+ pluginMimeType = "application/x-sharepoint-webkit";
+ else
+ pluginMimeType = "application/x-sharepoint";
+ var pluginNode = document.createElement("object");
+ pluginNode.id = "SharePointPlugin";
+ pluginNode.type = pluginMimeType;
+ pluginNode.width = 0;
+ pluginNode.height = 0;
+ pluginNode.style.setProperty("visibility", "hidden", "");
+ document.body.appendChild(pluginNode);
+ plugin = document.getElementById("SharePointPlugin");
+
+ if (!plugin)
+ {
+ return false;
+ }
+ }
+
+ try
+ {
+ if (appProgID === "Visio.Drawing")
+ throw ("Visio should be invoked using activeXControl.EditDocument2.");
+ return plugin.EditDocument3(window, record.onlineEditUrl, true, appProgID);
+ }
+ catch(e)
+ {
+ try
+ {
+ return plugin.EditDocument2(window, record.onlineEditUrl, appProgID);
+ }
+ catch(e1)
+ {
+ try
+ {
+ return plugin.EditDocument(record.onlineEditUrl, appProgID);
+ }
+ catch(e2)
+ {
+ return false;
+ }
+ }
+ }
+ },
+
+ /**
+ * Checkout to Google Docs.
+ * NOTE: Placeholder only, clients MUST implement their own checkoutToGoogleDocs action
+ *
+ * @method onActionCheckoutToGoogleDocs
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionCheckoutToGoogleDocs: function dlA_onActionCheckoutToGoogleDocs(record)
+ {
+ Alfresco.logger.error("onActionCheckoutToGoogleDocs", "Abstract implementation not overridden");
+ },
+
+ onRedirectArchiveModify: function dlA_onRedirectArchiveModify(record)
+ {
+ location.href="/share/page/archive-management?archive="+record.nodeRef+"&mode=edit";
+ },
+
+ onRedirectArchiveBordereauViewer: function dlA_onRedirectArchiveBordereauViewer(record)
+ {
+ location.href="/share/page/archive-management?archiveRead="+record.nodeRef+"&mode=read";
+ },
+
+ onRedirectDocumentBordereauViewer: function dlA_onRedirectDocumentBordereauViewer(record)
+ {
+ location.href="/share/page/archive-management?nodeRef="+record.nodeRef+"&mode=read";
+ },
+
+ /**
+ * Check in a new version from Google Docs.
+ * NOTE: Placeholder only, clients MUST implement their own checkinFromGoogleDocs action
+ *
+ * @method onActionCheckinFromGoogleDocs
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionCheckinFromGoogleDocs: function dlA_onActionCheckinFromGoogleDocs(record)
+ {
+ Alfresco.logger.error("onActionCheckinFromGoogleDocs", "Abstract implementation not overridden");
+ },
+
+ /**
+ * Simple Repo Action.
+ *
+ * Accepts the following <param> declarations from the <action> config:
+ *
+ * action - The name of the repo action (i.e. extract-metadata)
+ * success - The name of the callback function
+ * successMessage - The msg key to use when the repo action succeded (i.e. message.extract-metadata.success)
+ * failure - The name of the callback function
+ * failureMessage - The msg key to use when the repo action failed (i.e. message.extract-metadata.failure)
+ * * - All remaining parameters will be treated as repo action parameters
+ *
+ * Example:
+ * <action id="addAspectExample" type="javascript">
+ * <param name="function">onActionSimpleRepoAction</param>
+ * <param name="action">add-features</param>
+ * <param name="aspect-name">rd:status</param>
+ * <param name="successMessage">addAspectExample.success</param>
+ * <param name="failureMessage">addAspectExample.failure</param>
+ * </action>
+ *
+ * @method onActionSimpleRepoAction
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionSimpleRepoAction: function dlA_onActionSimpleRepoAction(record, owner)
+ {
+ // Get action params
+ var params = this.getAction(record, owner).params,
+ displayName = record.displayName,
+ namedParams = ["function", "action", "success", "successMessage", "failure", "failureMessage"],
+ repoActionParams = {};
+
+ for (var name in params)
+ {
+ if (params.hasOwnProperty(name) && !Alfresco.util.arrayContains(namedParams, name))
+ {
+ repoActionParams[name] = params[name];
+ }
+ }
+
+ // Prepare genericAction config
+ var config =
+ {
+ success:
+ {
+ event:
+ {
+ name: "metadataRefresh",
+ obj: record
+ }
+ },
+ failure:
+ {
+ message: this.msg(params.failureMessage, displayName)
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.POST,
+ stem: Alfresco.constants.PROXY_URI + "api/",
+ name: "actionQueue"
+ },
+ config:
+ {
+ requestContentType: Alfresco.util.Ajax.JSON,
+ dataObj:
+ {
+ actionedUponNode: record.nodeRef,
+ actionDefinitionName: params.action,
+ parameterValues: repoActionParams
+ }
+ }
+ };
+
+ // Add configured success callbacks and messages if provided
+ if (YAHOO.lang.isFunction(this[params.success]))
+ {
+ config.success.callback =
+ {
+ fn: this[params.success],
+ obj: record,
+ scope: this
+ };
+ }
+ if (params.successMessage)
+ {
+ config.success.message = this.msg(params.successMessage, displayName);
+ }
+
+ // Acd configured failure callback and message if provided
+ if (YAHOO.lang.isFunction(this[params.failure]))
+ {
+ config.failure.callback =
+ {
+ fn: this[params.failure],
+ obj: record,
+ scope: this
+ };
+ }
+ if (params.failureMessage)
+ {
+ config.failure.message = this.msg(params.failureMessage, displayName);
+ }
+
+ // Execute the repo action
+ this.modules.actions.genericAction(config);
+ },
+
+ /**
+ * Form Dialog Action.
+ *
+ * Accepts <param name=""></param> declarations in share config xml for the following names:
+ * success - The name of the callback function
+ * successMessage - The msg key to use when the repo action succeded (i.e. message.extract-metadata.success)
+ * failure - The name of the callback function
+ * failureMessage - The msg key to use when the repo action failed (i.e. message.extract-metadata.failure)
+ * ...and any other parameter mathing the properties for GET /service/components/form webscript
+ * i.e itemid, itemkind, mode etc...
+ *
+ * @method onActionFormDialog
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionFormDialog: function dlA_onActionFormDialog(record, owner)
+ {
+ // Get action & params and start create the config for displayForm
+ var action = this.getAction(record, owner),
+ params = action.params,
+ config =
+ {
+ title: this.msg(action.label)
+ },
+ displayName = record.displayName;
+
+ // Make sure we don't pass the function as a form parameter
+ delete params["function"];
+
+ // Add configured success callback
+ var success = params["success"];
+ delete params["success"];
+ config.success =
+ {
+ fn: function(response, obj)
+ {
+ // Invoke callback if configured and available
+ if (YAHOO.lang.isFunction(this[success]))
+ {
+ this[success].call(this, response, obj);
+ }
+
+ // Fire metadataRefresh so other components may update themselves
+ YAHOO.Bubbling.fire("metadataRefresh", obj);
+ },
+ obj: record,
+ scope: this
+ };
+
+ // Add configure success message
+ if (params.successMessage)
+ {
+ config.successMessage = this.msg(params.successMessage, displayName);
+ delete params["successMessage"];
+ }
+
+ // Add configured failure callback
+ if (YAHOO.lang.isFunction(this[params.failure]))
+ {
+ config.failure =
+ {
+ fn: this[params.failure],
+ obj: record,
+ scope: this
+ };
+ delete params["failure"];
+ }
+ // Add configure success message
+ if (params.failureMessage)
+ {
+ config.failureMessage = this.msg(params.failureMessage, displayName);
+ delete params["failureMessage"];
+ }
+
+ // Use the remaining properties as form properties
+ config.properties = params;
+
+ // Finally display form as dialog
+ Alfresco.util.PopupManager.displayForm(config);
+ },
+
+ /**
+ * Upload new version.
+ *
+ * @method onActionUploadNewVersion
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionUploadNewVersion: function dlA_onActionUploadNewVersion(record)
+ {
+ var jsNode = record.jsNode,
+ displayName = record.displayName,
+ nodeRef = jsNode.nodeRef,
+ version = record.version;
+
+ if (!this.fileUpload)
+ {
+ this.fileUpload = Alfresco.getFileUploadInstance();
+ }
+
+ // Show uploader for multiple files
+ var description = this.msg("label.filter-description", displayName),
+ extensions = "*";
+
+ if (displayName && new RegExp(/[^\.]+\.[^\.]+/).exec(displayName))
+ {
+ // Only add a filtering extension if filename contains a name and a suffix
+ extensions = "*" + displayName.substring(displayName.lastIndexOf("."));
+ }
+
+ if (record.workingCopy && record.workingCopy.workingCopyVersion)
+ {
+ version = record.workingCopy.workingCopyVersion;
+ }
+
+ var singleUpdateConfig =
+ {
+ updateNodeRef: nodeRef.toString(),
+ updateFilename: displayName,
+ updateVersion: version,
+ overwrite: true,
+ filter: [
+ {
+ description: description,
+ extensions: extensions
+ }],
+ mode: this.fileUpload.MODE_SINGLE_UPDATE,
+ onFileUploadComplete:
+ {
+ fn: this.onNewVersionUploadComplete,
+ scope: this
+ }
+ };
+ if ($isValueSet(this.options.siteId))
+ {
+ singleUpdateConfig.siteId = this.options.siteId;
+ singleUpdateConfig.containerId = this.options.containerId;
+ }
+ this.fileUpload.show(singleUpdateConfig);
+ },
+
+ /**
+ * Handles creating activity events after file upload completion
+ *
+ * @method _uploadComplete
+ * @protected
+ * @param complete {object} Object literal containing details of successful and failed uploads
+ * @param uploadType {String} Either "added" or "updated" depending on the file action
+ */
+ _uploadComplete: function dlA__uploadComplete(complete, uploadType)
+ {
+ var success = complete.successful.length, activityData, file;
+ if (success > 0)
+ {
+ if (success < (this.options.groupActivitiesAt || 5))
+ {
+ // Below cutoff for grouping Activities into one
+ for (var i = 0; i < success; i++)
+ {
+ file = complete.successful[i];
+ activityData =
+ {
+ fileName: file.fileName,
+ nodeRef: file.nodeRef
+ };
+ this.modules.actions.postActivity(this.options.siteId, "file-" + uploadType, "document-details", activityData);
+ }
+ }
+ else
+ {
+ // grouped into one message
+ activityData =
+ {
+ fileCount: success,
+ path: this.currentPath,
+ parentNodeRef: this.doclistMetadata.parent.nodeRef
+ };
+ this.modules.actions.postActivity(this.options.siteId, "files-" + uploadType, "documentlibrary", activityData);
+ }
+ }
+ },
+
+ /**
+ * Called from the uploader component after one or more files have been uploaded.
+ *
+ * @method onFileUploadComplete
+ * @param complete {object} Object literal containing details of successful and failed uploads
+ */
+ onFileUploadComplete: function dlA_onFileUploadComplete(complete)
+ {
+ this._uploadComplete(complete, "added");
+ },
+
+ /**
+ * Called from the uploader component after one or more files have been updated.
+ *
+ * @method onNewVersionUploadComplete
+ * @param complete {object} Object literal containing details of successful and failed uploads
+ */
+ onNewVersionUploadComplete: function dlA_onNewVersionUploadComplete(complete)
+ {
+ this._uploadComplete(complete, "updated");
+ },
+
+ /**
+ * Cancel editing.
+ *
+ * @method onActionCancelEditing
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionCancelEditing: function dlA_onActionCancelEditing(record)
+ {
+ var displayName = record.displayName;
+
+ this.modules.actions.genericAction(
+ {
+ success:
+ {
+ event:
+ {
+ name: "metadataRefresh"
+ },
+ message: this.msg("message.edit-cancel.success", displayName)
+ },
+ failure:
+ {
+ message: this.msg("message.edit-cancel.failure", displayName)
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.POST,
+ name: "cancel-checkout/node/{nodeRef}",
+ params:
+ {
+ nodeRef: record.jsNode.nodeRef.uri
+ }
+ }
+ });
+ },
+
+ /**
+ * Copy single document or folder.
+ *
+ * @method onActionCopyTo
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionCopyTo: function dlA_onActionCopyTo(record)
+ {
+ this._copyMoveTo("copy", record);
+ },
+
+ /**
+ * Move single document or folder.
+ *
+ * @method onActionMoveTo
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionMoveTo: function dlA_onActionMoveTo(record)
+ {
+ this._copyMoveTo("move", record);
+ },
+
+ /**
+ * Copy/Move To implementation.
+ *
+ * @method _copyMoveTo
+ * @param mode {String} Operation mode: copy|move
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @private
+ */
+ _copyMoveTo: function dlA__copyMoveTo(mode, record)
+ {
+ // Check mode is an allowed one
+ if (!mode in
+ {
+ copy: true,
+ move: true
+ })
+ {
+ throw new Error("'" + mode + "' is not a valid Copy/Move to mode.");
+ }
+
+ if (!this.modules.copyMoveTo)
+ {
+ this.modules.copyMoveTo = new Alfresco.module.DoclibCopyMoveTo(this.id + "-copyMoveTo");
+ }
+
+ var allowedViewModes =
+ [
+ Alfresco.module.DoclibGlobalFolder.VIEW_MODE_SITE
+ ];
+ if (this.options.repositoryBrowsing === true)
+ {
+ allowedViewModes.push(Alfresco.module.DoclibGlobalFolder.VIEW_MODE_REPOSITORY, Alfresco.module.DoclibGlobalFolder.VIEW_MODE_USERHOME);
+ }
+
+ this.modules.copyMoveTo.setOptions(
+ {
+ allowedViewModes: allowedViewModes,
+ mode: mode,
+ siteId: this.options.siteId,
+ containerId: this.options.containerId,
+ path: this.currentPath,
+ files: record,
+ rootNode: this.options.rootNode,
+ parentId: this.getParentNodeRef(record)
+ }).showDialog();
+ },
+
+ /**
+ * Assign workflow.
+ *
+ * @method onActionAssignWorkflow
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionAssignWorkflow: function dlA_onActionAssignWorkflow(record)
+ {
+ var nodeRefs = "",
+ destination = this.getParentNodeRef(record);
+
+ if (YAHOO.lang.isArray(record))
+ {
+ for (var i = 0, il = record.length; i < il; i++)
+ {
+ nodeRefs += (i === 0 ? "" : ",") + record[i].nodeRef;
+ }
+ }
+ else
+ {
+ nodeRefs = record.nodeRef;
+ }
+ var postBody =
+ {
+ selectedItems: nodeRefs
+ };
+ if (destination)
+ {
+ postBody.destination = destination;
+ }
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+
+ onActionAssignWorkflowVersement: function dlA_onActionAssignWorkflowVersement(record)
+ {
+ var nodeRefs = "",
+ destination = this.getParentNodeRef(record);
+
+ if (YAHOO.lang.isArray(record))
+ {
+ for (var i = 0, il = record.length; i < il; i++)
+ {
+ nodeRefs += (i === 0 ? "" : ",") + record[i].nodeRef;
+ }
+ }
+ else
+ {
+ nodeRefs = record.nodeRef;
+ }
+ var postBody =
+ {
+ selectedItems: nodeRefs,
+ workflowName: "versement"
+ };
+ if (destination)
+ {
+ postBody.destination = destination;
+ };
+
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+
+ onActionAssignWorkflowRestitution: function dlA_onActionAssignWorkflowRestitution(record)
+ {
+ var nodeRefs = "",
+ destination = this.getParentNodeRef(record);
+
+ if (YAHOO.lang.isArray(record))
+ {
+ for (var i = 0, il = record.length; i < il; i++)
+ {
+ nodeRefs += (i === 0 ? "" : ",") + record[i].nodeRef;
+ }
+ }
+ else
+ {
+ nodeRefs = record.nodeRef;
+ }
+ var postBody =
+ {
+ selectedItems: nodeRefs,
+ workflowName: "restitution"
+ };
+ if (destination)
+ {
+ postBody.destination = destination;
+ };
+
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+
+ /**
+ * Set permissions on a single document or folder.
+ *
+ * @method onActionManagePermissions
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionManagePermissions: function dlA_onActionManagePermissions(record)
+ {
+ if (!this.modules.permissions)
+ {
+ this.modules.permissions = new Alfresco.module.DoclibPermissions(this.id + "-permissions");
+ }
+
+ this.modules.permissions.setOptions(
+ {
+ siteId: this.options.siteId,
+ containerId: this.options.containerId,
+ path: this.currentPath,
+ files: record
+ }).showDialog();
+ },
+
+ /**
+ * Manage aspects.
+ *
+ * @method onActionManageAspects
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionManageAspects: function dlA_onActionManageAspects(record)
+ {
+ if (!this.modules.aspects)
+ {
+ this.modules.aspects = new Alfresco.module.DoclibAspects(this.id + "-aspects");
+ }
+
+ this.modules.aspects.setOptions(
+ {
+ file: record
+ }).show();
+ },
+
+ /**
+ * Change Type
+ *
+ * @method onActionChangeType
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionChangeType: function dlA_onActionChangeType(record)
+ {
+ var jsNode = record.jsNode,
+ currentType = jsNode.type,
+ displayName = record.displayName,
+ actionUrl = Alfresco.constants.PROXY_URI + $combine("slingshot/doclib/type/node", jsNode.nodeRef.uri);
+
+ var doSetupFormsValidation = function dlA_oACT_doSetupFormsValidation(p_form)
+ {
+ // Validation
+ p_form.addValidation(this.id + "-changeType-type", function fnValidateType(field, args, event, form, silent, message)
+ {
+ return field.options[field.selectedIndex].value !== "-";
+ }, null, "change", null, { validationType: "mandatory" });
+ };
+
+ // Always create a new instance
+ this.modules.changeType = new Alfresco.module.SimpleDialog(this.id + "-changeType").setOptions(
+ {
+ width: "30em",
+ templateUrl: Alfresco.constants.URL_SERVICECONTEXT + "modules/documentlibrary/change-type?currentType=" + encodeURIComponent(currentType),
+ actionUrl: actionUrl,
+ doSetupFormsValidation:
+ {
+ fn: doSetupFormsValidation,
+ scope: this
+ },
+ firstFocus: this.id + "-changeType-type",
+ onSuccess:
+ {
+ fn: function dlA_onActionChangeType_success(response)
+ {
+ YAHOO.Bubbling.fire("metadataRefresh",
+ {
+ highlightFile: displayName
+ });
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.change-type.success", displayName)
+ });
+ },
+ scope: this
+ },
+ onFailure:
+ {
+ fn: function dlA_onActionChangeType_failure(response)
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.change-type.failure", displayName)
+ });
+ },
+ scope: this
+ }
+ });
+ this.modules.changeType.show();
+ },
+
+ /**
+ * View in source Repository URL helper
+ *
+ * @method viewInSourceRepositoryURL
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @param actionUrls {object} Action urls for this record
+ */
+ viewInSourceRepositoryURL: function dlA_viewInSourceRepositoryURL(record, actionUrls)
+ {
+ var node = record.node,
+ repoId = record.location.repositoryId,
+ urlMapping = this.options.replicationUrlMapping,
+ siteUrl;
+
+ if (!repoId || !urlMapping || !urlMapping[repoId])
+ {
+ return "#";
+ }
+
+ // Generate a URL to the relevant details page
+ siteUrl = node.isContainer ? actionUrls.folderDetailsUrl : actionUrls.documentDetailsUrl;
+ // Strip off this webapp's context as the mapped one might be different
+ siteUrl = siteUrl.substring(Alfresco.constants.URL_CONTEXT.length);
+
+ return $combine(urlMapping[repoId], "/", siteUrl);
+ },
+
+ /**
+ * Social Publishing
+ *
+ * @method onActionPublish
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionPublish: function dlA_onActionPublish(record)
+ {
+ // Call the Social Publishing Module
+ Alfresco.module.getSocialPublishingInstance().show(
+ {
+ nodeRef: record.nodeRef,
+ filename: record.fileName
+ });
+ },
+
+ /**
+ * CLOUD SYNC
+ */
+
+ /**
+ * Create Sync
+ * loads folder picker populated with networks, sites and folders from The Cloud.
+ *
+ * @method onActionCloudSync
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionCloudSync: function dlA_onActionCloudSync(record)
+ {
+ // Instantiate Cloud Folder Picker & Cloud Auth Dialogue if they don't exist
+ if (!cloudFolderPicker)
+ {
+ cloudFolderPicker = new Alfresco.module.DoclibCloudFolder(this.id + "-cloud-folder");
+
+ var me = this;
+
+ // Set up handler for when the sync location has been chosen:
+ YAHOO.Bubbling.on("folderSelected", function cloudSync_onCloudFolderSelected(event, args)
+ {
+ this.updateSyncOptions();
+
+ Alfresco.util.Ajax.jsonPost(
+ {
+ url: Alfresco.constants.PROXY_URI + "enterprise/sync/syncsetdefinitions",
+ dataObj: YAHOO.lang.merge(this.options.syncOptions,
+ {
+ memberNodeRefs: me.getMemberNodeRefs(this.options.files),
+ remoteTenantId: this.options.targetNetwork,
+ targetFolderNodeRef: args[1].selectedFolder.nodeRef
+ }),
+ successCallback: {
+ fn: function cloudSync_onCloudFolderSelectedSuccess()
+ {
+ YAHOO.Bubbling.fire("metadataRefresh");
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.sync.success")
+ });
+ },
+ scope: this
+ },
+ failureMessage: this.msg("message.sync.failure")
+ })
+ }, cloudFolderPicker);
+ }
+ else
+ {
+ var optionInputs = cloudFolderPicker.widgets.optionInputs;
+ if (optionInputs)
+ {
+ for (var i = 0; i < optionInputs.length; i++)
+ {
+ optionInputs[i].checked = optionInputs[i].defaultChecked;
+ }
+ }
+ }
+
+ if(!this.modules.cloudAuth)
+ {
+ this.modules.cloudAuth = new Alfresco.module.CloudAuth(this.id + "cloudAuth");
+ }
+
+ cloudFolderPicker.setOptions(
+ {
+ files: record
+ });
+
+ this.modules.cloudAuth.setOptions(
+ {
+ authCallback: cloudFolderPicker.showDialog,
+ authCallbackContext: cloudFolderPicker
+ }).checkAuth();
+ },
+
+ /**
+ * Remove Sync
+ * loads folder picker populated with networks, sites and folders from The Cloud.
+ *
+ * @method onActionCloudUnsync
+ * @param record {object} Object literal representing the file or folder to be actioned
+ */
+ onActionCloudUnsync: function dlA_onActionCloudUnsync(record)
+ {
+ var me = this,
+ content = record.jsNode.isContainer ? "folder" : "document",
+ displayName = record.displayName,
+ isCloud = (this.options.syncMode === "CLOUD"),
+ deleteRemoteFile = isCloud ? "" : '<div><input type="checkbox" id="requestDeleteRemote" class="requestDeleteRemote-checkBox"><span class="requestDeleteRemote-text">' + this.msg("sync.remove." + content + ".from.cloud", displayName) + '</span></div>';
+
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ title: this.msg("actions." + content + ".cloud-unsync"),
+ noEscape: true,
+ text: this.msg("message.unsync.confirm", displayName) + deleteRemoteFile,
+ buttons: [
+ {
+ text: this.msg("button.unsync"),
+ handler: function dlA_onActionCloudUnsync_unsync()
+ {
+ var requestDeleteRemote = isCloud ? false : Dom.getAttribute("requestDeleteRemote", "checked");
+ this.destroy();
+ Alfresco.util.Ajax.request(
+ {
+ url: Alfresco.constants.PROXY_URI + "enterprise/sync/syncsetmembers/" + record.jsNode.nodeRef.uri + "?requestDeleteRemote=" + requestDeleteRemote,
+ method: Alfresco.util.Ajax.DELETE,
+ successCallback: {
+ fn: function cloudSync_onCloudUnsync_success()
+ {
+ YAHOO.Bubbling.fire("metadataRefresh");
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: me.msg("message.unsync.success")
+ })
+ },
+ scope: me
+ },
+ failureMessage: me.msg("message.unsync.failure")
+ });
+ }
+ },
+ {
+ text: this.msg("button.cancel"),
+ handler: function dlA_onActionCloudUnsync_cancel()
+ {
+ this.destroy();
+ },
+ isDefault: true
+ }]
+ });
+ },
+
+ /**
+ * Triggered when the Cloud Sync Icon is clicked
+ * Shows the status and location in cloud.
+ *
+ * @method onCloudSyncIndicatorAction
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @param target {HTML DOM Element} HTML Element that was the target of the initial action.
+ */
+ onCloudSyncIndicatorAction: function dlA_onCloudSyncIndicatorAction(record, target)
+ {
+ var balloon = new Alfresco.util.createInfoBalloon(this.widgets.dataTable.getTrEl(target),
+ {
+ text: this.msg("label.loading"),
+ width: "455px"
+ });
+
+ // Show Balloon with initial message:
+ balloon.show();
+
+ Alfresco.util.Ajax.request(
+ {
+ url: Alfresco.constants.PROXY_URI + "slingshot/doclib2/node/" + record.nodeRef.replace('://', '/'),
+ successCallback:
+ {
+ fn: function onCloudSyncGettingNodeDetailsAction_success(response)
+ {
+ var me = this,
+ configOptions =
+ {
+ showTitle: true,
+ showRequestSyncButton: true,
+ showUnsyncButton: true,
+ showMoreInfoLink: true
+ };
+
+ Alfresco.util.getSyncStatus(this, record, response.json, configOptions, function(callbackResult)
+ {
+ if (callbackResult != null)
+ {
+ // Render Error Banner
+ balloon.html(callbackResult.html);
+
+ balloon.requestsync = Alfresco.util.createYUIButton(me, "button-requestsyn", function()
+ {
+ me.onActionCloudSyncRequest(record);
+ balloon.hide();
+ },
+ {
+ id: me.id
+ });
+ if (!callbackResult.showRequestSyncButton && balloon.requestsync != null)
+ {
+ balloon.requestsync.setStyle('display', 'none');
+ }
+
+ balloon.unsync = Alfresco.util.createYUIButton(me, "button-unsync", function()
+ {
+ me.onActionCloudUnsync(record);
+ balloon.hide();
+ },
+ {
+ id: me.id
+ });
+ if (!callbackResult.showUnsyncButton && balloon.unsync != null)
+ {
+ balloon.unsync.setStyle('display', 'none');
+ }
+
+ var root = balloon.content;
+ Alfresco.util.syncClickOnShowDetailsLinkEvent(me, root);
+ Alfresco.util.syncClickOnHideLinkEvent(me, root);
+ Alfresco.util.syncClickOnTransientErrorShowDetailsLinkEvent(me, root);
+ Alfresco.util.syncClickOnTransientErrorHideLinkEvent(me, root);
+ }
+ else
+ {
+ balloon.hide();
+ }
+ });
+ },
+ scope: this
+ },
+ failureCallback:
+ {
+ fn: function onCloudSyncGettingNodeDetailsAction_failure(response)
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("sync.unable.get.details")
+ });
+ },
+ scope: this
+ }
+ });
+ },
+
+ /**
+ * Request Sync
+ *
+ * @method onActionCloudSyncRequest
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @param target {HTML DOM Element} HTML Element that was the target of the initial action.
+ */
+ onActionCloudSyncRequest: function dlA_onActionCloudSyncRequest(record, target)
+ {
+ Alfresco.util.Ajax.jsonPost(
+ {
+ url: Alfresco.constants.PROXY_URI + "enterprise/sync/syncrequest",
+ dataObj:
+ {
+ memberNodeRefs: this.getMemberNodeRefs(record)
+ },
+ successCallback: {
+ fn: function cloudSync_onActionCloudSyncRequest_success()
+ {
+ YAHOO.Bubbling.fire("metadataRefresh");
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.request.sync.success")
+ })
+ },
+ scope: this
+ },
+ failureMessage: this.msg("message.request.sync.failure")
+ })
+ },
+
+ /**
+ * Helper method for getting the MemberNodeRefs from an object
+ *
+ * @method getMemberNodeRefs
+ * @param record {object} Object literal representing one file or folder to be actioned
+ * @return {object} An array of MemberNodeRefs
+ */
+ getMemberNodeRefs: function dlA_onGetMemberNodeRefs(record)
+ {
+ var memberNodeRefs = new Array();
+ if (YAHOO.lang.isArray(record))
+ {
+ for (var i in record)
+ {
+ memberNodeRefs.push(record[i].nodeRef);
+ }
+ }
+ else
+ {
+ memberNodeRefs.push(record.nodeRef);
+ }
+ return memberNodeRefs;
+ },
+
+ /**
+ * Triggered when the Cloud Sync Failed Icon is clicked
+ * Shows the status and location in cloud.
+ *
+ * @method onCloudSyncFailedIndicatorAction
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @param target {HTML DOM Element} HTML Element that was the target of the initial action.
+ */
+ onCloudSyncFailedIndicatorAction: function dlA_onCloudSyncFailedIndicatorAction(record, target)
+ {
+ this.onCloudSyncIndicatorAction(record, target);
+ },
+
+ /**
+ * Triggered when the Cloud Indirect Sync Icon is clicked
+ * Shows the status and location in cloud.
+ *
+ * @method onCloudIndirectSyncIndicatorAction
+ * @param record {object} Object literal representing the file or folder to be actioned
+ * @param target {HTML DOM Element} HTML Element that was the target of the initial action.
+ */
+ onCloudIndirectSyncIndicatorAction: function dlA_onCloudIndirectSyncIndicatorAction(record, target)
+ {
+ this.onCloudSyncIndicatorAction(record, target);
+ },
+ onCloudIndirectSyncFailedIndicatorAction: function dlA_onCloudIndirectSyncFailedIndicatorAction(record, target)
+ {
+ this.onCloudSyncIndicatorAction(record, target);
+ },
+
+ /**
+ * Triggers the archiving and download of a single folders contents
+ *
+ * @method onActionFolderDownload
+ * @param record {object} Object literal representing the folder to be actioned
+ */
+ onActionFolderDownload: function dlA_onActionFolderDownload(record) {
+
+ var downloadDialog = Alfresco.getArchiveAndDownloadInstance(),
+ config = { nodesToArchive: [{"nodeRef": record.nodeRef}],
+ archiveName: record.fileName };
+ downloadDialog.show(config);
+ },
+
+ /**
+ * Triggers the archiving and download of the currently selected documents/folders.
+ *
+ * @method onActionDownload
+ * @param record {array} The list of selected records.
+ */
+ onActionDownload: function dla_onActionDownload(record) {
+ var downloadDialog = Alfresco.getArchiveAndDownloadInstance(),
+ config = { nodesToArchive: [] };
+
+ if (record.length == 1)
+ {
+ config.nodesToArchive.push({"nodeRef": record[0].nodeRef});
+ config.archiveName = record[0].fileName;
+ }
+ else
+ {
+ for (var i=0; i<record.length; i++)
+ {
+ config.nodesToArchive.push({"nodeRef": record[i].nodeRef})
+ }
+ }
+ downloadDialog.show(config);
+ }
+ };
+})();
--- /dev/null
+/* Data Table */
+
+.expired-dua .toolbar
+{
+ padding: 8px 5px 1px;
+}
+
+.expired-dua .toolbar a
+{
+ margin-left: 8px;
+}
+
+.expired-dua .yui-dt table
+{
+ border: medium none;
+ width: 100%;
+}
+
+.expired-dua .yui-dt thead
+{
+ display: none;
+}
+
+.expired-dua .yui-dt tbody
+{
+ outline: none;
+}
+
+div.expired-dua .yui-dt-data tr.yui-dt-even,
+div.expired-dua .yui-dt-data tr.yui-dt-odd,
+div.expired-dua .yui-dt-data tr.yui-dt-highlighted
+{
+ background-color: transparent;
+ cursor: default;
+}
+
+.expired-dua .yui-dt-data td
+{
+ border-bottom: 1px dashed #d9d9d9;
+ border-right: medium none;
+ vertical-align: top;
+}
+
+.expired-dua .yui-dt-data tr.yui-dt-last td
+{
+ border-bottom: medium none;
+}
+
+.expired-dua .yui-dt-data td .yui-dt-liner
+{
+ padding: 4px;
+}
+
+.expired-dua .yui-dt-data td.yui-dt-col-icon .yui-dt-liner
+{
+ padding: 4px;
+ text-align: center;
+}
+
+.expired-dua .yui-dt-message td
+{
+ border: medium none;
+}
+
+.expired-dua .detail
+{
+ clear: left;
+ line-height: 1.5em;
+ min-height: 1.5em;
+ padding-bottom: 0.2em;
+}
+
+.expired-dua .detail-social
+{
+ padding-bottom: 0;
+ padding-top: 0.4em;
+}
+
+.expired-dua .detail-social span.item
+{
+ line-height: 1.2em;
+}
+
+.expired-dua .detail span.item
+{
+ float: left;
+ margin-right: 0.8em;
+}
+
+.expired-dua .yui-dt-highlighted .yui-dt-col-actions div
+{
+ visibility: visible;
+}
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (C) 2005-2010 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * Dashboard ExpiredDua component.
+ *
+ * @namespace Alfresco.dashlet
+ * @class Alfresco.dashlet.ExpiredDua
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event,
+ Selector = YAHOO.util.Selector;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML,
+ $links = Alfresco.util.activateLinks;
+
+ /**
+ * Use the getDomId function to get some unique names for global event handling
+ */
+ var DELETE_EVENTCLASS = Alfresco.util.generateDomId(null, "delete-archive");
+
+ if (typeof jQuery === "undefined") {
+ var script = document.createElement('script');
+ script.src = 'http://code.jquery.com/jquery-latest.min.js';
+ script.type = 'text/javascript';
+ document.getElementsByTagName('head')[0].appendChild(script);
+ }
+
+ Alfresco.dashlet.ExpiredDua = function ExpiredDua_constructor(htmlId)
+ {
+ Alfresco.dashlet.ExpiredDua.superclass.constructor.call(this, "Alfresco.dashlet.ExpiredDua", htmlId, ["datasource", "datatable", "animation"]);
+ return this;
+ };
+
+
+ Alfresco.dashlet.ExpiredDuaEvent = {
+
+ onDeleteArchive: function(nodeRef, deleteId)
+ {
+ var scriptURL = "/share/proxy/alfresco/saem/launch-elimination-action?noderef="+nodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(){
+ location.reload();
+ },
+ failure: function(){
+ alert("Erreur dans le lancement d'élimination");
+ }
+ },
+ null);
+ },
+
+ onSortNameArchive: function(event)
+ {
+ var dataTable = this.dataTable;
+ if (dataTable)
+ {
+ var dataSource = dataTable.getDataSource();
+ var url = dataSource.liveData;
+ var urlSplit = url.split("?");
+ if (urlSplit.length > 1){
+ var params = urlSplit[1].split("&");
+
+ for (var i = 0; i < params.length; i++)
+ {
+ if (params[i].split("=")[0] == "sort")
+ {
+ switch(params[i].split("=")[1]){
+
+ case "nameasc":
+ url = urlSplit[0] + "?sort=namedesc";
+ break;
+ case "namedesc":
+ url = urlSplit[0] + "?sort=nameasc";
+ break;
+ default:
+ url = urlSplit[0] + "?sort=nameasc";
+ }
+ break;
+ }
+ }
+ }
+ else{
+ url = urlSplit[0] + "?sort=nameasc";
+ }
+
+ dataSource.liveData = url;
+ dataTable.load();
+ }
+ },
+
+ onSortDateArchive: function(event)
+ {
+ var dataTable = this.dataTable;
+ if (dataTable)
+ {
+ var dataSource = dataTable.getDataSource();
+ var url = dataSource.liveData;
+ var urlSplit = url.split("?");
+ if (urlSplit.length > 1){
+ var params = urlSplit[1].split("&");
+
+ for (var i = 0; i < params.length; i++)
+ {
+ if (params[i].split("=")[0] == "sort")
+ {
+ switch(params[i].split("=")[1]){
+
+ case "dateasc":
+ url = urlSplit[0] + "?sort=datedesc";
+ break;
+ case "datedesc":
+ url = urlSplit[0] + "?sort=dateasc";
+ break;
+ default:
+ url = urlSplit[0] + "?sort=dateasc";
+ }
+ break;
+ }
+ }
+ }
+ else{
+ url = urlSplit[0] + "?sort=dateasc";
+ }
+
+ dataSource.liveData = url;
+ dataTable.load();
+ }
+ },
+ };
+
+ YAHOO.extend(Alfresco.dashlet.ExpiredDua, Alfresco.component.Base,
+ {
+ onReady: function ExpiredDua_onReady()
+ {
+ var me = this;
+
+ Event.addListener("sortbyname-button", "click", Alfresco.dashlet.ExpiredDuaEvent.onSortNameArchive, this, true);
+ Event.addListener("sortbydate-button", "click", Alfresco.dashlet.ExpiredDuaEvent.onSortDateArchive, this, true);
+
+
+ var myColumnDefs = [
+ { key: "icon", label: "Icon", sortable: false, formatter: this.bind(this.renderCellIcon), width: 64 },
+ { key: "detail", label: "Description", sortable: false, formatter: this.bind(this.renderCellDetail) },
+ { key: "actions", label: "Actions", sortable: false, formatter: this.bind(this.renderCellActions), width: 24 }
+ ];
+
+ var myDataSource = new YAHOO.util.DataSource(Alfresco.constants.PROXY_URI + "/saem/expired-dua");
+ myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
+ myDataSource.responseSchema = {
+ resultsList: "items",
+ fields: [
+ "name",
+ "end_date",
+ "name_archive",
+ "type_archive",
+ "creator",
+ "created",
+ "description",
+ "nodeRef"],
+ metaFields: {
+ totalRecords: "totalRecords"
+ }
+ };
+
+ myDataSource.subscribe("responseEvent", function(oArgs) {
+ });
+ var rowFormatter = function(elTr, oRecord) {
+ return true;
+ };
+ var dtOptions = {
+ formatRow: rowFormatter,
+ MSG_EMPTY: this.msg("expired-dua.empty.title"),
+ MSG_LOADING: this.msg("message.datatable.loading")
+ };
+
+ var myDataTable = new YAHOO.widget.DataTable(this.id + "-expired-dua", myColumnDefs, myDataSource, dtOptions);
+
+ var me = this;
+
+ this.dataSource = myDataSource;
+ this.dataTable = myDataTable;
+
+
+ var registerEventHandler = function ExpiredDua_onReady_registerEventHandler(cssClass, fnHandler)
+ {
+ var fnEventHandler = function ExpiredDua_onReady_fnEventHandler(layer, args)
+ {
+ var owner = YAHOO.Bubbling.getOwnerByTagName(args[1].anchor, "div");
+ if (owner !== null)
+ {
+ fnHandler.call(me, args[1].target.offsetParent, owner);
+ }
+
+ return true;
+ };
+ YAHOO.Bubbling.addDefaultAction(cssClass, fnEventHandler);
+ };
+
+ },
+
+
+ /**
+ * Icon custom datacell formatter
+ *
+ * @method renderCellIcon
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellIcon: function ExpiredDua_renderCellIcon(elCell, oRecord, oColumn, oData)
+ {
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+
+ var archive = oRecord.getData();
+
+ if (!archive.isInfo)
+ {
+ var scriptURL = "/share/proxy/alfresco/saem/search?folderId="+archive.nodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+ var documentPath = "/share/page/site/" + encodeURIComponent(msg.items[0].site.shortName).toLowerCase() + "/" + encodeURIComponent(msg.items[0].container).toLowerCase() + "#filter=path" + encodeURIComponent("|/" + msg.items[0].path + "/" + msg.items[0].name);
+ var img = "folder-64.png";
+ elCell.innerHTML = '<a href="' + documentPath + '"><img src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64.png"/></a>';
+ },
+ failure: function(){
+ }
+ },
+ null);
+ }
+ },
+
+ /**
+ * Name & description custom datacell formatter
+ *
+ * @method renderCellDetail
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellDetail: function ExpiredDua_renderCellDetail(elCell, oRecord, oColumn, oData)
+ {
+ var archive = oRecord.getData();
+
+ if (!archive.isInfo)
+ {
+ var scriptURL = "/share/proxy/alfresco/saem/search?folderId="+archive.nodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+
+ desc = "";
+
+ var documentPath = "/share/page/site/" + encodeURIComponent(msg.items[0].site.shortName).toLowerCase() + "/" + encodeURIComponent(msg.items[0].container).toLowerCase() + "#filter=path" + encodeURIComponent("|/" + msg.items[0].path + "/" + msg.items[0].name);
+
+ // Description non-blank?
+ desc += '<a class="archive-name" href="' + documentPath + '"><h2>' + archive.name_archive + '</h2></a>';
+ desc += '<div class="archive-creator"><span>Créée par : ' + archive.creator + '</span></div>';
+ desc += '<div class="archive-created"><span>le : ' + archive.created + '</span></div>';
+ desc += '<div class="archive-fin-dua"><span>Fin de DUA : ' + archive.end_date + '</span></div>';
+ desc += '<div class="archive-name"><span>Type : ' + archive.type_archive + '</span></div>';
+
+ elCell.innerHTML = desc;
+ },
+ failure: function(){
+ }
+ },
+ null);
+ }
+ },
+
+ /**
+ * Actions custom datacell formatter
+ *
+ * @method renderCellActions
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellActions: function ExpiredDua_renderCellActions(elCell, oRecord, oColumn, oData)
+ {
+ var archive = oRecord.getData();
+
+ if(!archive.isInfo)
+ {
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+
+ var scriptURL = "/share/proxy/alfresco/saem/is-elimination-launchable?nodeRef="+archive.nodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+
+ var msg = JSON.parse(response.responseText);
+ var desc = "";
+
+ if (msg.result){
+ desc += '<a id="' + DELETE_EVENTCLASS + '" onclick="Alfresco.dashlet.ExpiredDuaEvent.onDeleteArchive(\''+archive.nodeRef+'\',\''+DELETE_EVENTCLASS+'\')" title="Lancer le workflow d\'élimination"><img title="eliminer" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/myTreatments/suppr-16.png"/></a>';
+ }
+
+ elCell.innerHTML = desc;
+
+ },
+ failure: function(){
+ var desc = "";
+ elCell.innerHTML = desc;
+ }
+ },
+ null);
+ }
+ }
+ });
+})();
\ No newline at end of file
--- /dev/null
+.dashlet
+{
+ border: none;
+}
+
+@media screen and (min-width: 1430px) {
+
+ div .logoAction
+ {
+ padding-left: 15px;
+ margin-right: 10px;
+ float: left;
+ width: 15%;
+ }
+
+ div .nomDesc
+ {
+ padding-left: 5px;
+ float: left;
+ width: 60%;
+ margin-left: 5%;
+ }
+
+ a.aMyActions
+ {
+ text-decoration: none;
+ height:100%;
+ width:49%;
+ display:block;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ }
+
+ a.gauche
+ {
+ float: left;
+ }
+
+ a.droite
+ {
+ float: left;
+ border-left: 1px solid #ccc;
+ }
+
+ a.bas
+ {
+ border-top: 1px solid #ccc;
+ }
+}
+
+@media screen and (max-width: 1429px) {
+
+ div .logoAction
+ {
+ padding-left: 15px;
+ margin-right: 10px;
+ width: 15%;
+ }
+
+ div .nomDesc
+ {
+ padding-left: 5px;
+ width: 90%;
+ margin-left: 5%;
+ }
+
+ a.aMyActions
+ {
+ text-decoration: none;
+ height:100%;
+ width:49%;
+ display:block;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ }
+
+ a.gauche
+ {
+ float: left;
+ }
+
+ a.droite
+ {
+ float: left;
+ border-left: 1px solid #ccc;
+ }
+
+ a.bas
+ {
+ border-top: 1px solid #ccc;
+ }
+}
+
+@media screen and (max-width: 1429px) {
+
+ div .logoAction
+ {
+ padding-left: 15px;
+ margin-right: 10px;
+ width: 15%;
+ }
+
+ div .nomDesc
+ {
+ padding-left: 5px;
+ /*width: 90%;*/
+ height: 50px;
+ margin-left: 5%;
+ }
+
+ a.aMyActions
+ {
+ text-decoration: none;
+ height:100%;
+ width:49%;
+ display:block;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ }
+
+ a.gauche
+ {
+ float: left;
+ }
+
+ a.droite
+ {
+ float: left;
+ border-left: 1px solid #ccc;
+ }
+
+ a.bas
+ {
+ border-top: 1px solid #ccc;
+ }
+}
\ No newline at end of file
--- /dev/null
+(function()
+{
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event,
+ $siteURL = Alfresco.util.siteURL,
+ Selector = YAHOO.util.Selector;
+
+ var $html = Alfresco.util.encodeHTML,
+ $links = Alfresco.util.activateLinks;
+
+ Alfresco.dashlet.MyActions = function MyActions_constructor(htmlId)
+ {
+ Alfresco.dashlet.MyActions.superclass.constructor.call(this, "Alfresco.dashlet.MyActions", htmlId, ["animation"]);
+ return this;
+ };
+
+
+ Alfresco.dashlet.MyActionsEvent = {
+
+ onPreparerVersement: function(event)
+ {
+
+ // Intercept before dialog show
+ var doBeforeDialogShow = function DLTB_onNewFolder_doBeforeDialogShow(p_form, p_dialog)
+ {
+ Dom.get(p_dialog.id + "-dialogTitle").innerHTML = this.msg("Préparer un versement");
+ Dom.get(p_dialog.id + "-dialogHeader").innerHTML = this.msg("Choisir le profil du versement");
+ Dom.get(p_dialog.id + "-destination-hidden").value = "findlater";
+ };
+
+ var createArchive = new Alfresco.module.SimpleDialog(this.id + "-createArchive");
+
+ createArchive.setOptions(
+ {
+ width: "40em",
+ templateUrl: Alfresco.constants.URL_SERVICECONTEXT + "components/form/create-archive-popup",
+ actionUrl: Alfresco.constants.PROXY_URI + "/saem/submit-create-archive-popup",
+ destroyOnHide: true,
+ doBeforeDialogShow:
+ {
+ fn: doBeforeDialogShow,
+ scope: this
+ },
+ onSuccess:
+ {
+ fn: function DLTB_onNewArchive_success(response)
+ {
+ var currentNodeRef = response.config.dataObj.destination;
+ var profileNodeRef = response.config.dataObj.profils;
+
+ var scriptURL = "/share/proxy/alfresco/saem/preVersementDestination?profil="+profileNodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+
+ window.location.assign(Alfresco.constants.URL_CONTEXT + "page/archive-management?" + "destination=" + msg.destinationPreVersement + "&profil=" + profileNodeRef);
+ },
+ failure: function(){
+ console.log("erreur dans la recup de la destination");
+ }
+ },
+ null);
+
+ },
+ scope: this
+ },
+ onFailure:
+ {
+ fn: function DLTB_onNewArchive_failure(response)
+ {
+ if (response)
+ {
+ var archiveName = Dom.get(this.id + "-profils").value;
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.new-archive.failure", archiveName)
+ });
+ }
+ else
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.failure")
+ });
+ }
+ },
+ scope: this
+ }
+ }).show();
+
+
+ },
+
+ onRechercheAvance: function(event)
+ {
+ document.location.href = document.location.origin + "/share/page/advsearch";
+ },
+
+ onLancerVersement: function(event)
+ {
+ var url = document.location.origin + "/share/page/";
+
+ var destination;
+ var postBody =
+ {
+ workflowName: "versement"
+ };
+ if (destination)
+ {
+ postBody.destination = "";
+ };
+
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+
+ onLancerRestitution: function(event)
+ {
+ var url = document.location.origin + "/share/page/";
+
+ var destination;
+ var postBody =
+ {
+ workflowName: "restitution"
+ };
+ if (destination)
+ {
+ postBody.destination = "";
+ };
+
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+
+ };
+
+ YAHOO.extend(Alfresco.dashlet.MyActions, Alfresco.component.Base,
+ {
+ onReady: function MyActions_onReady()
+ {
+ Event.addListener("preparerVersement-button", "click", Alfresco.dashlet.MyActionsEvent.onPreparerVersement, this, true);
+ Event.addListener("rechercheAvance-button", "click", Alfresco.dashlet.MyActionsEvent.onRechercheAvance, this, true);
+ Event.addListener("lancerVersement-button", "click", Alfresco.dashlet.MyActionsEvent.onLancerVersement, this, true);
+ Event.addListener("lancerRestitution-button", "click", Alfresco.dashlet.MyActionsEvent.onLancerRestitution, this, true);
+
+ },
+ });
+})();
\ No newline at end of file
--- /dev/null
+a.lienActions
+{
+ cursor: pointer;
+ margin-top: 3px;
+ margin-left: 10px;
+ display: block;
+ float: left;
+}
+
+img.linkArchive
+{
+ width: 20px;
+}
+
+.my-treatments table
+{
+ width: 100%;
+}
+
+.my-treatments .scrollableList
+{
+ padding: 0px 0px;
+}
+
+.my-treatments th a
+{
+ font-weight: bold;
+}
\ No newline at end of file
--- /dev/null
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event,
+ $siteURL = Alfresco.util.siteURL,
+ Selector = YAHOO.util.Selector;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML,
+ $links = Alfresco.util.activateLinks,
+ $userProfile = Alfresco.util.userProfileLink,
+ $siteDashboard = Alfresco.util.siteDashboardLink,
+ $relTime = Alfresco.util.relativeTime;
+
+ /**
+ * Dashboard MyFavourites constructor.
+ *
+ * @param {String}
+ * htmlId The HTML id of the parent element
+ * @return {Alfresco.dashlet.MyFavourites} The new component instance
+ * @constructor
+ */
+ Alfresco.dashlet.MyTreatments = function MyTreatments_constructor(htmlId)
+ {
+ return Alfresco.dashlet.MyTreatments.superclass.constructor.call(this, "Alfresco.dashlet.MyTreatments", htmlId, ["datatable", "datasource", "paginator", "autocomplete"]);
+ };
+
+ Alfresco.dashlet.MyTreatmentsEvent = {
+
+ onDeleteArchive: function(nodeRef)
+ {
+ var scriptURL = "/share/proxy/alfresco/saem/launch-elimination-action?noderef="+nodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(){
+ location.reload();
+ },
+ failure: function(){
+ alert("Erreur dans le lancement d'élimination");
+ }
+ },
+ null);
+ },
+
+ onLancerVersement: function(nodeRef)
+ {
+ var url = document.location.origin + "/share/page/";
+
+ var destination;
+ var postBody =
+ {
+ selectedItems: nodeRef,
+ workflowName: "versement"
+ };
+ if (destination)
+ {
+ postBody.destination = nodeRef;
+ };
+
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+
+ onLancerRestitution: function(nodeRef)
+ {
+ var url = document.location.origin + "/share/page/";
+
+ var destination;
+ var postBody =
+ {
+ selectedItems: nodeRef,
+ workflowName: "restitution"
+ };
+ if (destination)
+ {
+ postBody.destination = nodeRef;
+ };
+
+ Alfresco.util.navigateTo($siteURL("start-workflow"), "POST", postBody);
+ },
+ };
+
+ YAHOO.extend(Alfresco.dashlet.MyTreatments, Alfresco.component.Base,
+ {
+
+ options:
+ {
+
+ },
+
+ bodyContainer: null,
+
+ dataTable: null,
+
+ dataSource: null,
+
+ /**
+ * Fired by YUI when parent element is available for scripting
+ *
+ * @method onReady
+ */
+ onReady: function MyTreatments_onReady()
+ {
+ this.bodyContainer = Dom.get(this.id + "-my-treatments");
+
+ this.init();
+ },
+
+ init: function MyTreatments_init()
+ {
+ if (this.dataTable)
+ {
+ this.dataTable.destroy();
+ }
+ this.loadData();
+ },
+
+ loadData: function MyTreatments_loadData()
+ {
+
+ var putActionsLogos = function(elCell, oRecord, oColumn, sData) {
+
+ var actionsTab = oRecord._oData.actions.split(";");
+
+ for(var i = 0; i < actionsTab.length; i++){
+
+ switch(actionsTab[i]){
+
+ case "restituer":
+ var scriptURL = "/share/proxy/alfresco/saem/is-restitution-launchable?nodeRef="+oRecord._oData.nodeRef;
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+ if (msg.result){
+ elCell.innerHTML += '<a class="lienActions" onclick="Alfresco.dashlet.MyTreatmentsEvent.onLancerRestitution(\'' + oRecord._oData.nodeRef + '\')"><img title="restituer" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/myTreatments/restituer-16.png"/>' + "</a>";
+ }
+
+ },
+ failure: function(){
+ }
+ },
+ null);
+ break;
+ case "verser":
+ var scriptURL = "/share/proxy/alfresco/saem/is-workflow-launchable?nodeRef="+oRecord._oData.nodeRef;
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+ if (msg.result){
+ elCell.innerHTML += '<a class="lienActions" onclick="Alfresco.dashlet.MyTreatmentsEvent.onLancerVersement(\'' + oRecord._oData.nodeRef + '\')"><img title="verser" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/myTreatments/conserve-16.png"/>' + "</a>";
+ }
+
+ },
+ failure: function(){
+ }
+ },
+ null);
+ break;
+ case "eliminer":
+ var scriptURL = "/share/proxy/alfresco/saem/is-elimination-launchable?nodeRef="+oRecord._oData.nodeRef;
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+ if (msg.result){
+ elCell.innerHTML += '<a class="lienActions" onclick="Alfresco.dashlet.MyTreatmentsEvent.onDeleteArchive(\'' + oRecord._oData.nodeRef + '\')"><img title="eliminer" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/myTreatments/suppr-16.png"/>' + "</a>";
+ }
+
+ },
+ failure: function(){
+ }
+ },
+ null);
+ break;
+ }
+ }
+ };
+
+ var putLogoArchive = function(elCell, oRecord, oColumn, sData) {
+
+ var statut = oRecord._oData.statut;
+ var img = "";
+
+ switch(statut){
+
+ case "restituer":
+ img = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/images/folder-32-violet.png";
+ break;
+ case "verser":
+ img = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/images/folder-32-bleu.png";
+ break;
+ case "definitif":
+ img = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/images/folder-32-marron.png";
+ break;
+ case "intermediaire":
+ img = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/images/folder-32-vert.png";
+ break;
+ case "normal":
+ img = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/images/folder-32.png";
+ break;
+ case "eliminer":
+ img = Alfresco.constants.URL_RESCONTEXT + "components/documentlibrary/images/folder-32-rouge.png";
+ break;
+ }
+
+ elCell.innerHTML = "<center><img class='linkArchive' src=" + img + "/></center>";
+ }
+
+ var putLinkArchive = function(elCell, oRecord, oColumn, sData) {
+
+ var nodeRef = oRecord._oData.nodeRef;
+ var name = oRecord._oData.name;
+
+ var scriptURL = "/share/proxy/alfresco/saem/search?folderId="+nodeRef;
+
+ YAHOO.util.Connect.asyncRequest("GET", scriptURL,{
+ success: function(response){
+ var msg = JSON.parse(response.responseText);
+
+ var documentPath = "/share/page/site/" + encodeURIComponent(msg.items[0].site.shortName).toLowerCase() + "/" + encodeURIComponent(msg.items[0].container).toLowerCase() + "#filter=path" + encodeURIComponent("|/" + msg.items[0].path + "/" + msg.items[0].name);
+
+ elCell.innerHTML = "<a href='" + documentPath + "'>" + name + "</a>";
+ },
+ failure: function(){
+ console.log("Erreur dans la recup du lien du noderef");
+ }
+ },
+ null);
+ };
+
+ var myColumnDefs = [
+ {key:"logo", label: this.msg("dashlet.myTreatments.logo"), sortable:true,resizeable:true, formatter:putLogoArchive},
+ {key:"name", label: this.msg("dashlet.myTreatments.nom"), sortable:true,resizeable:true, formatter:putLinkArchive},
+ {key:"flux", label: this.msg("dashlet.myTreatments.flux"), sortable:true,resizeable:true},
+ {key:"author", label: this.msg("dashlet.myTreatments.auteur"), sortable:true,resizeable:true},
+ {key:"statut", label: this.msg("dashlet.myTreatments.statut"), sortable:true,resizeable:true},
+ {key:"date", label: this.msg("dashlet.myTreatments.date"), sortable:true,resizeable:true},
+ {key:"actions", label: this.msg("dashlet.myTreatments.actions"), sortable:true,resizeable:true, formatter:putActionsLogos}
+ ];
+ var myDataSource = new YAHOO.util.DataSource(Alfresco.constants.PROXY_URI + "saem/myTreatments");
+ myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
+ myDataSource.responseSchema = {
+ resultsList: "items",
+ fields: [
+ "name",
+ "statut",
+ "flux",
+ "author",
+ "date",
+ "nodeRef",
+ "actions"],
+ metaFields: {
+ totalRecords: "totalRecords"
+ }
+ };
+ myDataSource.subscribe("responseEvent", function(oArgs) {
+ });
+ var rowFormatter = function(elTr, oRecord) {
+ return true;
+ };
+
+ var dtOptions = {
+ formatRow: rowFormatter,
+ paginator: new YAHOO.widget.Paginator({
+ rowsPerPage: 10,
+ rowExpansion: true,
+ template :
+ '<center><p class="pg-nav">' +
+ '{FirstPageLink} {PreviousPageLink} {PageLinks}' +
+ '{NextPageLink} {LastPageLink}' +
+ '</p></center>',
+
+ // Options for FirstPageLink component
+ firstPageLinkLabel : "<< premier",
+ firstPageLinkClass : "yui-pg-first",
+
+ // Options for LastPageLink component
+ lastPageLinkLabel : "dernier >>",
+ lastPageLinkClass : "yui-pg-last",
+
+ // Options for PreviousPageLink component
+ previousPageLinkLabel : "< précédent",
+ previousPageLinkClass : "yui-pg-previous",
+
+ // Options for NextPageLink component
+ nextPageLinkLabel : "suivant >",
+ nextPageLinkClass : "yui-pg-next"
+ }),
+
+ MSG_EMPTY: this.msg("empty.title"),
+ MSG_LOADING: this.msg("msg.loading"),
+
+ };
+ var myDataTable = new YAHOO.widget.DataTable(this.bodyContainer, myColumnDefs, myDataSource, dtOptions);
+
+ var me = this;
+
+ this.dataSource = myDataSource;
+ this.dataTable = myDataTable;
+ }
+
+ });
+})();
--- /dev/null
+/**
+ * Copyright (C) 2005-2012 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * DocumentListViewRenderer component.
+ *
+ * @namespace Alfresco
+ * @class Alfresco.DocumentListViewRenderer
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML,
+ $isValueSet = Alfresco.util.isValueSet;
+
+ /**
+ * ViewRenderer constructor.
+ *
+ * @param name {String} The name of the viewRenderer
+ * @return {Alfresco.DocumentListViewRenderer} The new ViewRenderer instance
+ * @constructor
+ */
+ Alfresco.DocumentListViewRenderer = function(name)
+ {
+ /*
+ * Initialise prototype properties
+ */
+ this.name = name;
+ this.parentElementIdSuffix = "-documents";
+ this.rowClassName = "yui-dt-rec";
+ this.actionsCssClassName = this.name;
+ this.actionsColumnWidth = 200;
+ this.actionsSplitAtModifier = 1;
+ this.thumbnailColumnWidth = 100;
+ this.buttonElementIdSuffix = "-" + this.name + "View";
+ this.buttonCssClass = this.name + "-view";
+ this.metadataBannerViewName = this.name;
+ this.metadataLineViewName = this.name;
+
+ return this;
+ };
+
+ Alfresco.DocumentListViewRenderer.prototype =
+ {
+
+ /**
+ * Performs any setup needed immediately after registration
+ *
+ * @method setupRenderer
+ * @param scope {object} The DocumentList object
+ */
+ setupRenderer: function DL_VR_setupRenderer(scope)
+ {
+ Dom.addClass(scope.id + this.buttonElementIdSuffix, this.buttonCssClass);
+ },
+
+ /**
+ * Render the view using the given scope (documentList), request and response.
+ *
+ * @method renderView
+ * @param scope {object} The DocumentList object
+ * @param sRequest {string} Original request
+ * @param oResponse {object} Response object
+ * @param oPayload {MIXED} (optional) Additional argument(s)
+ */
+ renderView: function DL_VR_renderView(scope, sRequest, oResponse, oPayload)
+ {
+ YAHOO.util.Dom.setStyle(scope.id + this.parentElementIdSuffix, 'display', '');
+ scope.widgets.dataTable.onDataReturnInitializeTable.call(scope.widgets.dataTable, sRequest, oResponse, oPayload);
+ },
+
+ /**
+ * Performs any teardown or visual changes to deselect this view in the interface
+ *
+ * @method destroyView
+ * @param scope {object} The DocumentList object
+ * @param sRequest {string} Original request
+ * @param oResponse {object} Response object
+ * @param oPayload {MIXED} (optional) Additional argument(s)
+ */
+ destroyView: function DL_VR_destroyView(scope, sRequest, oResponse, oPayload)
+ {
+ YAHOO.util.Dom.setStyle(scope.id + this.parentElementIdSuffix, 'display', 'none');
+ },
+
+ /**
+ * Selector custom datacell formatter
+ *
+ * @method renderCellSelected
+ * @param scope {object} The DocumentList object
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellSelected: function DL_VR_renderCellSelected(scope, elCell, oRecord, oColumn, oData)
+ {
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+
+ var jsNode = oRecord.getData("jsNode"),
+ nodeRef = jsNode.nodeRef;
+
+ elCell.innerHTML = '<input id="checkbox-' + oRecord.getId() + '" type="checkbox" name="fileChecked" value="'+ nodeRef + '"' + (scope.selectedFiles[nodeRef] ? ' checked="checked">' : '>');
+ },
+
+ /**
+ * Status custom datacell formatter
+ *
+ * @method renderCellStatus
+ * @param scope {object} The DocumentList object
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellStatus: function DL_VR_renderCellStatus(scope, elCell, oRecord, oColumn, oData)
+ {
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+
+ var record = oRecord.getData(),
+ node = record.jsNode,
+ indicators = record.indicators,
+ indicator, label, desc = "";
+
+ if (indicators && indicators.length > 0)
+ {
+ for (var i = 0, ii = indicators.length; i < ii; i++)
+ {
+ indicator = indicators[i];
+ // Note: deliberate bypass of scope.msg() function
+ label = Alfresco.util.message(indicator.label, scope.name, indicator.labelParams);
+ label = Alfresco.util.substituteDotNotation(label, record);
+
+ desc += '<div class="status">';
+
+ if (indicator.action)
+ {
+ desc += '<a class="indicator-action" data-action="' + indicator.action + '">';
+ }
+
+ desc += '<img src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/indicators/' + indicator.icon + '" title="' + label + '" alt="' + indicator.id + '" />';
+ if (indicator.action)
+ {
+ desc += '</a>';
+ desc += '</div>';
+ }
+ }
+ }
+
+ elCell.innerHTML = desc;
+ },
+
+ /**
+ * Render the thumbnail cell
+ *
+ * @method renderCellThumbnail
+ * @param scope {object} The DocumentList object
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellThumbnail: function DL_VR_renderCellThumbnail(scope, elCell, oRecord, oColumn, oData)
+ {
+ var record = oRecord.getData(),
+ node = record.jsNode,
+ properties = node.properties,
+ name = record.displayName,
+ isContainer = node.isContainer,
+ isLink = node.isLink,
+ extn = name.substring(name.lastIndexOf(".")),
+ imgId = node.nodeRef.nodeRef; // DD added
+
+ var containerTarget; // This will only get set if thumbnail represents a container
+
+ oColumn.width = this.thumbnailColumnWidth;
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+
+ if (isContainer || (isLink && node.linkedNode.isContainer))
+ {
+ var archiveState = node.properties["saem:archive_state_prop"];
+
+ //filtre pour couleur dossier
+ if(archiveState == "intermediaire"){
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64-inter.png" /></a>';
+ }else if(archiveState == "verser"){
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64-vers.png" /></a>';
+ }else if(archiveState == "normal"){
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64.png" /></a>';
+ }else if(archiveState == "definitif"){
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64-defi.png" /></a>';
+ }else if(archiveState == "restituer"){
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64-resti.png" /></a>';
+ }else if(archiveState == "eliminer"){
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64-elim.png" /></a>';
+ }else {
+ elCell.innerHTML = '<span class="folder">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-64.png" /></a>';
+ }
+
+ containerTarget = new YAHOO.util.DDTarget(imgId); // Make the folder a target
+ }
+ else
+ {
+ elCell.innerHTML = '<span class="thumbnail">' + (isLink ? '<span class="link"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.DocumentList.generateThumbnailUrl(record) + '" alt="' + extn + '" title="' + $html(name) + '" /></a></span>';
+ }
+ var dnd = new Alfresco.DnD(imgId, scope);
+ },
+
+ /**
+ * Description/detail custom datacell formatter
+ *
+ * @method renderCellDescription
+ * @param scope {object} The DocumentList object
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellDescription: function DL_VR_renderCellDescription(scope, elCell, oRecord, oColumn, oData)
+ {
+ var desc = "", i, j,
+ record = oRecord.getData(),
+ jsNode = record.jsNode,
+ properties = jsNode.properties,
+ isContainer = jsNode.isContainer,
+ isLink = jsNode.isLink,
+ title = "",
+ titleHTML = "",
+ version = "",
+ canComment = jsNode.permissions.user.CreateChildren;
+
+ if (jsNode.isLink)
+ {
+ // Link handling
+ oRecord.setData("displayName", scope.msg("details.link-to", record.location.file));
+ }
+ else if (properties.title && properties.title !== record.displayName && scope.options.useTitle)
+ {
+ // Use title property if it's available. Supressed for links.
+ titleHTML = '<span class="title">(' + $html(properties.title) + ')</span>';
+ }
+
+ // Version display
+ if ($isValueSet(record.version) && !jsNode.isContainer && !jsNode.isLink)
+ {
+ version = '<span class="document-version">' + $html(record.version) + '</span>';
+ }
+
+ /**
+ * Render using metadata template
+ */
+ record._filenameId = Alfresco.util.generateDomId();
+
+ var metadataTemplate = record.metadataTemplate;
+ if (metadataTemplate)
+ {
+ /* Banner */
+ if (YAHOO.lang.isArray(metadataTemplate.banners))
+ {
+ var fnRenderBanner = function fnRenderBanner_substitute(p_key, p_value, p_meta)
+ {
+ var label = (p_meta !== null ? scope.msg(p_meta) + ': ': ''),
+ value = "";
+
+ // render value from properties or custom renderer
+ if (scope.renderers.hasOwnProperty(p_key) && typeof scope.renderers[p_key] === "function")
+ {
+ value = scope.renderers[p_key].call(scope, record, label);
+ }
+ else
+ {
+ if (jsNode.hasProperty(p_key))
+ {
+ value = '<span class="item">' + label + scope.renderProperty(jsNode.properties[p_key]) + '</span>';
+ }
+ }
+
+ return value;
+ };
+
+ var html, banner;
+ for (i = 0, j = metadataTemplate.banners.length; i < j; i++)
+ {
+ banner = metadataTemplate.banners[i];
+ if (!$isValueSet(banner.view) || banner.view == this.metadataBannerViewName)
+ {
+ html = YAHOO.lang.substitute(banner.template, scope.renderers, fnRenderBanner);
+ if ($isValueSet(html))
+ {
+ desc += '<div class="info-banner">' + html + '</div>';
+ }
+ }
+ }
+ }
+
+ /* Title */
+ if (YAHOO.lang.isString(metadataTemplate.title))
+ {
+ var fnRenderTitle = function fnRenderTitle_substitute(p_key, p_value, p_meta)
+ {
+ var label = (p_meta !== null ? '<em>' + scope.msg(p_meta) + '</em>: ': ''),
+ value = "";
+
+ // render value from properties or custom renderer
+ if (scope.renderers.hasOwnProperty(p_key) && typeof scope.renderers[p_key] === "function")
+ {
+ value = scope.renderers[p_key].call(scope, record, label);
+ }
+ else
+ {
+ if (jsNode.hasProperty(p_key))
+ {
+ value = '<div class="filename">' + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record);
+ value += label + scope.renderProperty(jsNode.properties[p_key]) + '</a></span></div>';
+ }
+ }
+
+ return value;
+ };
+
+ desc += YAHOO.lang.substitute(metadataTemplate.title, scope.renderers, fnRenderTitle);
+ }
+ else
+ {
+ // Insitu editing for title (filename)
+ if (jsNode.hasPermission("Write") && !jsNode.isLocked && !jsNode.hasAspect("cm:workingcopy"))
+ {
+ scope.insituEditors.push(
+ {
+ context: record._filenameId,
+ params:
+ {
+ type: "textBox",
+ nodeRef: jsNode.nodeRef.toString(),
+ name: "prop_cm_name",
+ value: record.fileName,
+ fnSelect: function fnSelect(elInput, value)
+ {
+ // If the file has an extension, omit it from the edit selection
+ var extnPos = value.lastIndexOf(Alfresco.util.getFileExtension(value)) - 1;
+ if (extnPos > 0)
+ {
+ Alfresco.util.selectText(elInput, 0, extnPos);
+ }
+ else
+ {
+ elInput.select();
+ }
+ },
+ validations: [
+ {
+ type: Alfresco.forms.validation.nodeName,
+ when: "keyup",
+ message: scope.msg("validation-hint.nodeName")
+ },
+ {
+ type: Alfresco.forms.validation.length,
+ args: { min: 1, max: 255, crop: true },
+ when: "keyup",
+ message: scope.msg("validation-hint.length.min.max", 1, 255)
+ }],
+ title: scope.msg("tip.insitu-rename"),
+ errorMessage: scope.msg("message.insitu-edit.name.failure")
+ },
+ callback:
+ {
+ fn: scope._insituCallback,
+ scope: scope,
+ obj: record
+ }
+ });
+ }
+
+ desc += '<h3 class="filename"><span id="' + record._filenameId + '">' + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record);
+ desc += $html(record.displayName) + '</a></span>' + titleHTML + version + '</h3>';
+ }
+
+ if (YAHOO.lang.isArray(metadataTemplate.lines))
+ {
+ var fnRenderTemplate = function fnRenderTemplate_substitute(p_key, p_value, p_meta)
+ {
+ var label = (p_meta !== null ? '<em>' + scope.msg(p_meta) + '</em>: ': ''),
+ value = "";
+
+ // render value from properties or custom renderer
+ if (scope.renderers.hasOwnProperty(p_key) && typeof scope.renderers[p_key] === "function")
+ {
+ value = scope.renderers[p_key].call(scope, record, label);
+ }
+ else
+ {
+ if (jsNode.hasProperty(p_key))
+ {
+ value = '<span class="item">' + label + scope.renderProperty(jsNode.properties[p_key]) + '</span>';
+ }
+ }
+
+ return value;
+ };
+
+ var html, line;
+ for (i = 0, j = metadataTemplate.lines.length; i < j; i++)
+ {
+ line = metadataTemplate.lines[i];
+ if (!$isValueSet(line.view) || line.view == this.metadataLineViewName)
+ {
+ html = YAHOO.lang.substitute(line.template, scope.renderers, fnRenderTemplate);
+ if ($isValueSet(html))
+ {
+ desc += '<div class="detail">' + html + '</div>';
+ }
+ }
+ }
+ }
+ }
+
+ elCell.innerHTML = desc;
+
+ Event.on(Dom.getElementsByClassName("banner-more-info-link", "span", elCell), "click", function showMoreInfoLinkClick(event)
+ {
+ scope.onCloudSyncIndicatorAction(record, Event.getTarget(event))
+ }, {}, scope);
+ },
+
+ /**
+ * Actions custom datacell formatter
+ *
+ * @method renderCellActions
+ * @param scope {object} The DocumentList object
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ renderCellActions: function DL_VR_renderCellActions(scope, elCell, oRecord, oColumn, oData)
+ {
+ oColumn.width = this.actionsColumnWidth;
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+ Dom.addClass(elCell.parentNode, oRecord.getData("type"));
+
+ elCell.innerHTML = '<div id="' + scope.id + '-actions-' + oRecord.getId() + '" class="hidden"></div>';
+ },
+
+ /**
+ * Get the dataTable record identifier, i.e. yui-recXX, from the given row element.
+ *
+ * @method getDataTableRecordIdFromRowElement
+ * @param scope {object} The DocumentList object
+ * @param rowElement {HTMLElement} row element.
+ * @return {String} the dataTable recordId
+ */
+ getDataTableRecordIdFromRowElement: function DL_VR_getDataTableRecordIdFromRowElement(scope, rowElement)
+ {
+ if (scope != null && rowElement != null)
+ {
+ var element = rowElement;
+ if (!Dom.hasClass(rowElement, this.rowClassName))
+ {
+ element = Dom.getAncestorByClassName(rowElement, this.rowClassName);
+ }
+ return element.id;
+ }
+ },
+
+ /**
+ * Get the row element from the given dataTable record.
+ *
+ * @method getRowElementFromDataTableRecordId
+ * @param scope {object} The DocumentList object
+ * @param oRecord {object}
+ * @return {HTMLElement} row element
+ */
+ getRowElementFromDataTableRecord: function DL_VR_getRowElementFromDataTableRecordId(scope, oRecord)
+ {
+ if (scope != null && oRecord != null)
+ {
+ return scope.widgets.dataTable.getTrEl(oRecord);
+ }
+ },
+
+ /**
+ * Get the row's selection element, i.e. checkbox, from the given dataTable record.
+ *
+ * @method getRowSelectElementFromDataTableRecord
+ * @param scope {object} The DocumentList object
+ * @param oRecord {object}
+ * @return {HTMLElement} row element
+ */
+ getRowSelectElementFromDataTableRecord: function DL_VR_getRowSelectElementFromDataTableRecord(scope, oRecord)
+ {
+ if (scope != null && oRecord != null)
+ {
+ return Dom.get("checkbox-" + oRecord.getId());
+ }
+ },
+
+ /**
+ * Custom event handler to highlight row.
+ *
+ * @method onEventHighlightRow
+ * @param scope {object} The DocumentList object
+ * @param oArgs.event {HTMLEvent} Event object.
+ * @param oArgs.target {HTMLElement} Target element.
+ * @param rowElement {HTMLElement} row element, optionally force a target other than event's
+ */
+ onEventHighlightRow: function DL_VR_onEventHighlightRow(scope, oArgs, rowElement)
+ {
+ // Call through to get the row highlighted by YUI
+ scope.widgets.dataTable.onEventHighlightRow.call(scope.widgets.dataTable, oArgs);
+
+ var targetElement;
+ if (rowElement)
+ {
+ targetElement = rowElement;
+ }
+ else
+ {
+ targetElement = oArgs.target;
+ }
+
+ // elActions is the element id of the active table cell where we'll inject the actions
+ var elActions = Dom.get(scope.id + "-actions-" + targetElement.id);
+
+ // Inject the correct action elements into the actionsId element
+ if (elActions && elActions.firstChild === null)
+ {
+ // Retrieve the actionSet for this record
+ var oRecord = scope.widgets.dataTable.getRecord(this.getDataTableRecordIdFromRowElement(scope, targetElement)),
+ record = oRecord.getData(),
+ jsNode = record.jsNode,
+ actions = record.actions,
+ actionsEl = document.createElement("div"),
+ actionHTML = "",
+ actionsSel;
+
+ record.actionParams = {};
+ for (var i = 0, ii = actions.length; i < ii; i++)
+ {
+ actionHTML += scope.renderAction(actions[i], record);
+ }
+
+ // Token replacement - action Urls
+ actionsEl.innerHTML = YAHOO.lang.substitute(actionHTML, scope.getActionUrls(record));
+
+ // Simple or detailed view
+ Dom.addClass(actionsEl, "action-set");
+ Dom.addClass(actionsEl, this.actionsCssClassName);
+
+ // Need the "More >" container?
+ actionsSel = YAHOO.util.Selector.query("div", actionsEl);
+ if (actionsSel.length > scope.options.actionsSplitAt + this.actionsSplitAtModifier)
+ {
+ var moreContainer = Dom.get(scope.id + "-moreActions").cloneNode(true),
+ containerDivs = YAHOO.util.Selector.query("div", moreContainer);
+
+ // Insert the two necessary DIVs before the third action item
+ Dom.insertBefore(containerDivs[0], actionsSel[scope.options.actionsSplitAt]);
+ Dom.insertBefore(containerDivs[1], actionsSel[scope.options.actionsSplitAt]);
+
+ // Now make action items three onwards children of the 2nd DIV
+ var index, moreActions = actionsSel.slice(scope.options.actionsSplitAt);
+ for (index in moreActions)
+ {
+ if (moreActions.hasOwnProperty(index))
+ {
+ containerDivs[1].appendChild(moreActions[index]);
+ }
+ }
+ }
+
+ elActions.appendChild(actionsEl);
+ }
+
+ if (!Dom.hasClass(document.body, "masked"))
+ {
+ scope.currentActionsMenu = elActions;
+ // Show the actions
+ Dom.removeClass(elActions, "hidden");
+ }
+ },
+
+ /**
+ * Custom event handler to unhighlight row.
+ *
+ * @method onEventUnhighlightRow
+ * @param scope {object} The DocumentList object
+ * @param oArgs.event {HTMLEvent} Event object.
+ * @param oArgs.target {HTMLElement} Target element.
+ * @param rowElement {HTMLElement} row element, optionally force a target other than event's
+ */
+ onEventUnhighlightRow: function DL_VR_onEventUnhighlightRow(scope, oArgs, rowElement)
+ {
+ // Call through to get the row unhighlighted by YUI
+ scope.widgets.dataTable.onEventUnhighlightRow.call(scope.widgets.dataTable, oArgs);
+
+ var targetElement;
+ if (rowElement)
+ {
+ targetElement = rowElement;
+ }
+ else
+ {
+ targetElement = oArgs.target;
+ }
+
+ var elActions = Dom.get(scope.id + "-actions-" + (targetElement.id));
+
+ // Don't hide unless the More Actions drop-down is showing, or a dialog mask is present
+ if (elActions || Dom.hasClass(document.body, "masked"))
+ {
+ if (scope.hideMoreActionsFn)
+ {
+ scope.hideMoreActionsFn.call(this);
+ }
+ // Just hide the action links, rather than removing them from the DOM
+ Dom.addClass(elActions, "hidden");
+ }
+ },
+
+ /**
+ * Show more actions pop-up.
+ *
+ * @method onActionShowMore
+ * @param scope {object} The DocumentList object
+ * @param record {object} Object literal representing file or folder to be actioned
+ * @param elMore {element} DOM Element of "More Actions" link
+ */
+ onActionShowMore: function DL_VR_onActionShowMore(scope, record, elMore)
+ {
+ // Fix "More Actions" hover style
+ Dom.addClass(elMore.firstChild, "highlighted");
+
+ // Get the pop-up div, sibling of the "More Actions" link
+ var elMoreActions = Dom.getNextSibling(elMore);
+ Dom.removeClass(elMoreActions, "hidden");
+ scope.hideMoreActionsFn = function DL_oASM_fnHidePopup()
+ {
+ scope.hideMoreActionsFn = null;
+
+ Dom.removeClass(elMore.firstChild, "highlighted");
+ Dom.addClass(elMoreActions, "hidden");
+ };
+ },
+
+ /**
+ * File or folder renamed event handler
+ *
+ * @method onFileRenamed
+ * @param scope {object} The DocumentList object
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onFileRenamed: function DL_VR_onFileRenamed(scope, layer, args)
+ {
+ var obj = args[1];
+ if (obj && (obj.file !== null))
+ {
+ var recordFound = scope._findRecordByParameter(obj.file.node.nodeRef, "nodeRef");
+ if (recordFound !== null)
+ {
+ scope.widgets.dataTable.updateRow(recordFound, obj.file);
+ var el = scope.widgets.dataTable.getTrEl(recordFound);
+ Alfresco.util.Anim.pulse(el);
+ }
+ }
+ },
+
+ /**
+ * Highlight file event handler
+ * Used when a component (including the DocList itself on loading) wants to scroll to and highlight a file
+ *
+ * @method onHighlightFile
+ * @param scope {object} The DocumentList object
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (filename to be highlighted)
+ */
+ onHighlightFile: function DL_VR_onHighlightFile(scope, layer, args)
+ {
+ var obj = args[1];
+ if ((obj !== null) && ($isValueSet(obj.fileName)))
+ {
+ Alfresco.logger.debug("DL_VR_onHighlightFile: ", obj.fileName);
+ var recordFound = scope._findRecordByParameter(obj.fileName, "displayName");
+ if (recordFound !== null)
+ {
+ // Scroll the record into view and highlight it
+ var el = this.getRowElementFromDataTableRecord(scope, recordFound),
+ yPos = Dom.getY(el);
+
+ if (YAHOO.env.ua.ie > 0)
+ {
+ yPos = yPos - (document.body.clientHeight / 3);
+ }
+ else
+ {
+ yPos = yPos - (window.innerHeight / 3);
+ }
+ window.scrollTo(0, yPos);
+ Alfresco.util.Anim.pulse(el);
+ scope.options.highlightFile = null;
+
+ // Select the file
+ var rowSelectEl = this.getRowSelectElementFromDataTableRecord(scope, recordFound);
+ rowSelectEl.checked = true;
+ scope.selectedFiles[recordFound.getData("nodeRef")] = true;
+ YAHOO.Bubbling.fire("selectedFilesChanged");
+ }
+ }
+ },
+
+ /**
+ * Sets the given message HTML as the text string of the YUI datatable
+ *
+ * @method _setEmptyDataSourceMessage
+ * @param scope {object} The DocumentList object
+ * @param messageHtml {string} the message HTML
+ */
+ _setEmptyDataSourceMessage: function DL_VR_setEmptyDataSourceMessage(scope, messageHtml)
+ {
+ scope.widgets.dataTable.set("MSG_EMPTY", messageHtml);
+ },
+
+ /**
+ * Constructs the display of upload indicators and instructions for empty spaces.
+ *
+ * @method renderEmptyDataSourceHtml
+ * @param scope {object} The DocumentList object
+ * @param permissions {object} the current user's permissions
+ */
+ renderEmptyDataSourceHtml: function DL_VR_renderEmptyDataSourceHtml(scope, permissions)
+ {
+ var me = scope;
+
+ // Work out the current status of the document list (this will be used to determine what user assistance
+ // is provided if the doc list is empty, or appears as empty)...
+ var itemCounts = me.doclistMetadata.itemCounts,
+ empty = (itemCounts.documents === 0 && itemCounts.folders === 0),
+ hiddenFolders = (itemCounts.documents === 0 && !me.options.showFolders && itemCounts.folders > 0);
+
+ // Define a re-usable function for seting IDs...
+ // Get the children of the supplied node and append "-instance" to any child nodes that have an
+ // "id" attribute in the template. This ensures that the clone has a unique ID within the
+ // page and can be accurately targeted later (i.e. to add event listeners to).
+ var updateIDs = function DL_updateIDs(node)
+ {
+ var children = Dom.getChildren(node);
+ for (var i = 0, ii = children.length; i < ii; i++)
+ {
+ if (children[i].id !== null && children[i].id !== "")
+ {
+ children[i].id += "-instance";
+ }
+ }
+ };
+
+ // In documentlist.lib.ftl there are a number of DOM structures that are not displayed, these can
+ // cloned to display the relevant information to the user based on content, display options, site
+ // ownership and access rights. All of theses DOM "snippets" need to be added to a main container
+ // which controls the overall display (of borders, etc).
+ var template = Dom.get(me.id + "-main-template"),
+ main = template.cloneNode(true),
+ container = Dom.getFirstChild(main),
+ templateInstance = null,
+ elements = null;
+
+ if (permissions)
+ {
+ me._userCanUpload = me.doclistMetadata.parent.permissions.user.CreateChildren && YAHOO.env.ua.mobile === null;
+
+ // Only allow drag and drop behaviour if the filter is changed to an actual
+ // path (if the filter is anything else such as tags then there won't be a specific
+ // location to upload to!)...
+ me._removeDragAndDrop();
+ if (me.currentFilter.filterId === "path")
+ {
+ me._addDragAndDrop();
+ }
+
+ if (me._userCanUpload && me.dragAndDropEnabled)
+ {
+ Dom.addClass(container, "docListInstructionsWithDND");
+ }
+ else
+ {
+ Dom.addClass(container, "docListInstructions");
+ }
+
+ // Work out what to display based on the boolean values calculated earlier...
+ if (empty && !me._userCanUpload)
+ {
+ // If folder is empty, there are no hidden folders and the user cannot upload, then show the no items info...
+ template = Dom.get(me.id + "-no-items-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ container.appendChild(templateInstance);
+ }
+ else if (hiddenFolders)
+ {
+ // ...or, if there are hidden subfolders then show the option to reveal them...
+ template = Dom.get(me.id + "-hidden-subfolders-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ updateIDs(templateInstance);
+ elements = Dom.getElementsByClassName("docListLinkedInstruction", "a", templateInstance);
+ if (elements.length == 1)
+ {
+ elements[0].innerHTML = me.msg("show.folders", itemCounts.folders);
+ }
+ container.appendChild(templateInstance);
+ }
+ else if (empty && me._userCanUpload && me.dragAndDropEnabled)
+ {
+ // ...or, if the folder is empty, there are no hidden folders, the user can upload AND the browser supports
+ // the DND process, show the HTML5 DND instructions...
+ template = Dom.get(me.id + "-dnd-instructions-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ container.appendChild(templateInstance);
+ }
+ else if (empty && me._userCanUpload && !me.dragAndDropEnabled)
+ {
+ // ...but if the folder is empty, there are no hidden folders, the user can upload BUT the browser does
+ // NOT support the DND process then just show the standard upload instructions...
+ template = Dom.get(me.id + "-upload-instructions-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ updateIDs(templateInstance);
+ container.appendChild(templateInstance);
+ }
+
+ if (empty && me._userCanUpload && me.dragAndDropEnabled)
+ {
+ // Clone the other options node...
+ template = Dom.get(me.id + "-other-options-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ container.appendChild(templateInstance);
+
+ if (empty && me._userCanUpload)
+ {
+ if (me.dragAndDropEnabled)
+ {
+ // Show the standard upload other options node...
+ template = Dom.get(me.id + "-standard-upload-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ updateIDs(templateInstance);
+ container.appendChild(templateInstance);
+ }
+
+ // Show the New Folder other options node...
+ template = Dom.get(me.id + "-new-folder-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ updateIDs(templateInstance);
+ container.appendChild(templateInstance);
+ }
+ }
+ }
+ else
+ {
+ Dom.addClass(container, "docListInstructions");
+
+ // Work out what to display based on the boolean values calculated earlier...
+ if (hiddenFolders)
+ {
+ // If there are hidden subfolders then show the option to reveal them...
+ template = Dom.get(me.id + "-hidden-subfolders-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ updateIDs(templateInstance);
+ elements = Dom.getElementsByClassName("docListLinkedInstruction", "a", templateInstance);
+ if (elements.length == 1)
+ {
+ elements[0].innerHTML = me.msg("show.folders", itemCounts.folders);
+ }
+ container.appendChild(templateInstance);
+ }
+ else
+ {
+ // Show the no items info...
+ template = Dom.get(me.id + "-no-items-template");
+ templateInstance = template.cloneNode(true);
+ Dom.removeClass(templateInstance, "hidden");
+ container.appendChild(templateInstance);
+ }
+ }
+
+ // Add a node in with a style of "clear" set to both to ensure that the main div is given
+ // a height to accomodate the floated content...
+ var clearingNode = document.createElement("div");
+ Dom.setStyle(clearingNode, "clear", "both");
+ container.appendChild(clearingNode);
+
+ this._setEmptyDataSourceMessage(me, main.innerHTML);
+ }
+
+ };
+
+})();
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (C) 2005-2012 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @module DocumentLibrary
+ */
+
+/**
+ * Gallery view extension of DocumentListViewRenderer component.
+ *
+ * @namespace Alfresco
+ * @class Alfresco.DocumentListGalleryViewRenderer
+ * @extends Alfresco.DocumentListViewRenderer
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event,
+ Anim = YAHOO.util.Anim;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML;
+
+ /**
+ * Preferences
+ */
+ var PREFERENCES_DOCLIST = "org.alfresco.share.documentList",
+ PREF_GALLERY_COLUMNS = PREFERENCES_DOCLIST + ".galleryColumns",
+ DND_CONTAINER_ID = 'ygddfdiv';
+
+ // Other constants
+ var DEFAULT_GALLERY_COLUMNS = 7, // Only used if option is undefined
+ DETAIL_PANEL_WIDTH = '377px',
+ DETAIL_PANEL_OFFSET = [-40, -20],
+ DETAIL_PANEL_DEFAULT_TIMEOUT = 700,
+ WINDOW_RESIZE_CHECK_TIME = 20,
+ WINDOW_RESIZE_MIN_TIME = 100,
+ ANIMATE_ON_WINDOW_RESIZE = false,
+ ANIMATE_ON_COLUMN_CHANGE = true;
+
+ /**
+ * GalleryViewRenderer constructor.
+ *
+ * @param name {String} The name of the GalleryViewRenderer
+ * @return {Alfresco.DocumentListGalleryViewRenderer} The new GalleryViewRenderer instance
+ * @constructor
+ */
+ Alfresco.DocumentListGalleryViewRenderer = function(name, galleryColumns)
+ {
+ Alfresco.DocumentListGalleryViewRenderer.superclass.constructor.call(this, name);
+ this.parentElementIdSuffix = "-gallery";
+ this.parentElementEmptytIdSuffix = "-gallery-empty";
+ this.rowClassName = "alf-gallery-item";
+ this.infoPanelClassName = "alf-detail";
+ this.metadataBannerViewName = "detailed";
+ this.metadataLineViewName = "detailed";
+ this.galleryColumns = galleryColumns;
+ this.infoPanelPopupTimeout = DETAIL_PANEL_DEFAULT_TIMEOUT;
+ this.windowResizeCheckTime = WINDOW_RESIZE_CHECK_TIME;
+ this.windowResizeMinTime = WINDOW_RESIZE_MIN_TIME;
+ this.documentList = null;
+ return this;
+ };
+
+ /**
+ * Extend from Alfresco.DocumentListViewRenderer
+ */
+ YAHOO.extend(Alfresco.DocumentListGalleryViewRenderer, Alfresco.DocumentListViewRenderer);
+
+ /**
+ * Generates a row item HTML ID from the given dataTable record
+ *
+ * @method getRowItemId
+ * @param oRecord {object} data table record
+ * @return {string} the row HTML item ID
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemId = function DL_GVR_getRowItemId(oRecord)
+ {
+ if (this.documentList != null && oRecord != null)
+ {
+ return this.documentList.id + '-gallery-item-' + oRecord.getId();
+ }
+ };
+
+ /**
+ * Gets the row item HTML element from the given dataTable record, checking and fixing any IDs changed by AJAX calls
+ * to the dataTable as well
+ *
+ * @method getRowItem
+ * @param oRecord {object} data table record
+ * @param elCell {HTMLElement} the data table cell asking for the gallery item (optional)
+ * @return {HTMLElement} the row item
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItem = function DL_GVR_getRowItem(oRecord, elCell)
+ {
+ if (this.documentList != null && oRecord != null)
+ {
+ var galleryItemId = this.getRowItemId(oRecord);
+ // Yahoo.util.Dom.get does not work here for some reason
+ var galleryItem = document.getElementById(galleryItemId);
+ if (galleryItem === null && elCell != null)
+ {
+ // AJAX call must have updated the table, change our ID as well
+ var rowElement = Dom.getAncestorByTagName(elCell, 'tr');
+ var oldGalleryItemId = this.documentList.id + '-gallery-item-' + rowElement.id;
+ galleryItem = document.getElementById(oldGalleryItemId);
+ if (galleryItem !== null)
+ {
+ galleryItem.setAttribute('id', galleryItemId);
+ }
+ }
+ return galleryItem;
+ }
+ };
+
+ /**
+ * Generates a row item select id from the given dataTable record
+ *
+ * @method getRowItemSelectId
+ * @param oRecord {object} data table record
+ * @return {string} the row item select control ID
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemSelectId = function DL_GVR_getRowItemSelectId(oRecord)
+ {
+ if (oRecord != null)
+ {
+ return 'checkbox-' + oRecord.getId() + '-gallery-item';
+ }
+ };
+
+ /**
+ * Gets the row item's detail popup panel element from the given row item
+ *
+ * @method getRowItemDetailElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item detail element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemDetailElement = function DL_GVR_getRowItemDetailElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemDetailElement = Dom.getChildren(rowItem)[1];
+ // YUI may have added its container
+ if (Dom.hasClass(galleryItemDetailElement, 'yui-panel-container'))
+ {
+ galleryItemDetailElement = Dom.getFirstChild(galleryItemDetailElement);
+ }
+ return galleryItemDetailElement;
+ }
+ };
+
+ /**
+ * Gets the row item's detail description element from the given row item
+ *
+ * @method getRowItemDetailDescriptionElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item detail description element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemDetailDescriptionElement = function DL_GVR_getRowItemDetailDescriptionElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemDetailDiv = this.getRowItemDetailElement(rowItem);
+ return Dom.getChildren(Dom.getFirstChild(galleryItemDetailDiv))[3];
+ }
+ };
+
+ /**
+ * Gets the row item's detail thumbnail element from the given row item
+ *
+ * @method getRowItemDetailThumbnailElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item detail thumbnail element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemDetailThumbnailElement = function DL_GVR_getRowItemDetailThumbnailElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemDetailDiv = this.getRowItemDetailElement(rowItem);
+ return Dom.getFirstChild(Dom.getFirstChild(galleryItemDetailDiv));
+ }
+ };
+
+ /**
+ * Gets the row item's thumbnail element from the given row item
+ *
+ * @method getRowItemThumbnailElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item thumbnail element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemThumbnailElement = function DL_GVR_getRowItemThumbnailElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ return Dom.getFirstChild(rowItem);
+ }
+ };
+
+ /**
+ * Gets the row item's header element from the given row item
+ *
+ * @method getRowItemHeaderElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item header element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemHeaderElement = function DL_GVR_getRowItemHeaderElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemThumbnailDiv = this.getRowItemThumbnailElement(rowItem);
+ return Dom.getFirstChild(galleryItemThumbnailDiv);
+ }
+ };
+
+ /**
+ * Gets the row item's selection element from the given row item
+ *
+ * @method getRowItemSelectElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item selection element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemSelectElement = function DL_GVR_getRowItemSelectElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemHeaderElement = this.getRowItemHeaderElement(rowItem);
+ return Dom.getFirstChild(galleryItemHeaderElement);
+ }
+ };
+
+ /**
+ * Gets the row item's label element from the given row item
+ *
+ * @method getRowItemLabelElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item label element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemLabelElement = function DL_GVR_getRowItemLabelElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemThumbnailDiv = this.getRowItemThumbnailElement(rowItem);
+ return Dom.getChildren(galleryItemThumbnailDiv)[1];
+ }
+ };
+
+ /**
+ * Gets the row item's status element from the given row item
+ *
+ * @method getRowItemStatusElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item status element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemStatusElement = function DL_GVR_getRowItemStatusElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemDetailDiv = this.getRowItemDetailElement(rowItem);
+ return Dom.getChildren(Dom.getFirstChild(galleryItemDetailDiv))[1];
+ }
+ };
+
+ /**
+ * Gets the row item's actions element from the given row item
+ *
+ * @method getRowItemActionsElement
+ * @param rowItem {HTMLElement} The row item object
+ * @return {HTMLElement} the row item actions element
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowItemActionsElement = function DL_GVR_getRowItemActionsElement(rowItem)
+ {
+ if (rowItem != null)
+ {
+ var galleryItemDetailDiv = this.getRowItemDetailElement(rowItem);
+ return Dom.getChildren(Dom.getFirstChild(galleryItemDetailDiv))[2];
+ }
+ };
+
+ // Override some of the standard ViewRenderer methods
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getDataTableRecordIdFromRowElement = function DL_GVR_getDataTableRecordIdFromRowElement(scope, rowElement)
+ {
+ var elementId = Alfresco.DocumentListGalleryViewRenderer.superclass.getDataTableRecordIdFromRowElement.call(this, scope, rowElement);
+ if (elementId != null)
+ {
+ return elementId.replace(scope.id + '-gallery-item-', '');
+ }
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowElementFromDataTableRecord = function DL_GVR_getRowElementFromDataTableRecord(scope, oRecord)
+ {
+ var galleryItemId = this.getRowItemId(oRecord);
+ // Yahoo.util.Dom.get does not work here for some reason
+ return document.getElementById(galleryItemId);
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getRowSelectElementFromDataTableRecord = function DL_GVR_getRowSelectElementFromDataTableRecord(scope, oRecord)
+ {
+ var selectId = this.getRowItemSelectId(oRecord);
+ return Dom.get(selectId);
+ };
+
+ /**
+ * Sets up the gallery item hover delegates.
+ *
+ * @method setupItemHovers
+ * @param scope {HTMLElement} The document list object
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.setupItemHovers = function DL_GVR_setupItemHovers(scope)
+ {
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+
+ // On mouseover show the select checkbox and detail pull down
+ Event.delegate(container, 'mouseover', Alfresco.DocumentListGalleryViewRenderer.onMouseOverItem,
+ 'div.' + this.rowClassName, this);
+
+ // On mouseout hide the select checkbox and detail pull down
+ Event.delegate(container, 'mouseout', Alfresco.DocumentListGalleryViewRenderer.onMouseOutItem,
+ 'div.' + this.rowClassName, this);
+ }
+
+ /**
+ * Tear down of the gallery item hover delegates.
+ *
+ * @method destroyItemHovers
+ * @param scope {HTMLElement} The document list object
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.destroyItemHovers = function DL_GVR_destroyItemHovers(scope)
+ {
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+
+ Event.removeDelegate(container, 'mouseover',
+ Alfresco.DocumentListGalleryViewRenderer.onMouseOverItem);
+
+ Event.removeDelegate(container, 'mouseout',
+ Alfresco.DocumentListGalleryViewRenderer.onMouseOutItem);
+ }
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.setupRenderer = function DL_GVR_setupRenderer(scope)
+ {
+ Alfresco.DocumentListGalleryViewRenderer.superclass.setupRenderer.call(this, scope);
+
+ this.documentList = scope;
+
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+
+ this.galleryColumnsChangedEvent = new YAHOO.util.CustomEvent("galleryViewColumnsChangedCE");
+ YAHOO.Bubbling.subscribe("galleryViewColumnsChanged", function(layer, args) {
+ this.galleryColumnsChangedEvent.fire();
+ }, this);
+
+ this.setupItemHovers(scope);
+
+ var viewRendererInstance = this;
+
+ // On click of detail pull down show detail panel
+ Event.delegate(container, 'click', function DL_GVR_infoPopup(event, matchedEl, container)
+ {
+ viewRendererInstance.onShowGalleryItemDetail(scope, viewRendererInstance, event, matchedEl, container);
+ }, '.alf-show-detail', this);
+
+ YAHOO.Bubbling.on("selectedFilesChanged", function(layer, args) {
+ this.onSelectedFilesChanged(scope);
+ }, this);
+
+ if (!this.galleryColumns)
+ {
+ this.galleryColumns = DEFAULT_GALLERY_COLUMNS;
+ }
+
+ this.setupGalleryColumnsSlider(scope, this);
+ };
+
+ /**
+ * Override the standard dataTable since calls in Alfresco.DnD which are closely tied to it
+ * at the moment.
+ * TODO - Remove once https://issues.alfresco.com/jira/browse/ALF-15384 is implemented
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.overrideDataTable = function DL_GVR_overrideDataTable(scope)
+ {
+ var viewRendererInstance = this;
+ if (scope.widgets.dataTable)
+ {
+ if (scope.widgets.dataTable.getRecord != scope.widgets.dataTable.getHiddenRecord)
+ {
+ // Save the normal getRecord method
+ scope.widgets.dataTable.getVisibleRecord = scope.widgets.dataTable.getRecord;
+ // Define a new method which also checks for hidden elements
+ scope.widgets.dataTable.getHiddenRecord = function getHiddenRecord(row)
+ {
+ var oRecord = scope.widgets.dataTable.getVisibleRecord(row);
+ if (oRecord == null)
+ {
+ if (typeof row == "string")
+ {
+ oRecord = scope.widgets.dataTable.getVisibleRecord(row + '-hidden');
+ }
+ else
+ {
+ oRecord = scope.widgets.dataTable.getVisibleRecord(row.id + '-hidden');
+ }
+ }
+ return oRecord;
+ }
+ // Replace the getRecord function
+ scope.widgets.dataTable.getRecord = scope.widgets.dataTable.getHiddenRecord;
+ }
+ if (scope.widgets.dataTable.getContainerEl != scope.widgets.dataTable.getGalleryContainerEl)
+ {
+ // Save the normal getContainerEl method
+ scope.widgets.dataTable.origGetContainerEl = scope.widgets.dataTable.getContainerEl;
+ // Define a new method which returns the gallery container
+ scope.widgets.dataTable.getGalleryContainerEl = function getGalleryContainer()
+ {
+ return Dom.get(scope.id + viewRendererInstance.parentElementIdSuffix);
+ }
+ // Replace the getContainerEl method
+ scope.widgets.dataTable.getContainerEl = scope.widgets.dataTable.getGalleryContainerEl;
+ }
+ }
+ };
+
+ /**
+ * Restore the dataTable to its normal getContainerEl function
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.restoreDataTable = function DL_GVR_restoreDataTable(scope)
+ {
+ if (scope.widgets.dataTable.getContainerEl == scope.widgets.dataTable.getGalleryContainerEl)
+ {
+ // Restore the getContainerEl method
+ scope.widgets.dataTable.getContainerEl = scope.widgets.dataTable.origGetContainerEl;
+ }
+ };
+
+ /**
+ * Render the gallery view using the existing dataTable
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.renderView = function DL_GVR_renderView(scope, sRequest, oResponse, oPayload)
+ {
+ this.overrideDataTable(scope);
+
+ var viewRendererInstance = this;
+
+ // Call the dataTable render to setup the dataTable.recordSet
+ scope.widgets.dataTable.onDataReturnInitializeTable.call(
+ scope.widgets.dataTable, sRequest, oResponse, oPayload);
+
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+ var oRecordSet = scope.widgets.dataTable.getRecordSet();
+
+ if (oRecordSet.getLength() == 0)
+ {
+ // No records, display the empty container and exit
+ var emptyContainer = Dom.get(scope.id + this.parentElementEmptytIdSuffix);
+ container.innerHTML = emptyContainer.innerHTML;
+ Dom.getFirstChild(emptyContainer).innerHTML = '';
+ scope.widgets.dataTable.fireEvent('tableMsgShowEvent', { html: container.innerHTML });
+ Dom.removeClass(container, 'alf-gallery');
+ Dom.removeClass(container, 'hidden');
+ Dom.setStyle(container, 'height', 'auto');
+ return;
+ }
+
+ // Clear the gallery div and hide while we build it
+ container.innerHTML = '';
+ Dom.setStyle(container, 'opacity', 0);
+ Dom.addClass(container, 'alf-gallery');
+ Dom.removeClass(container, 'hidden');
+
+ var galleryItemTemplate = Dom.get(scope.id + '-gallery-item-template'),
+ galleryItem = null;
+
+ var oRecord, record, i, j;
+ for (i = 0, j = oRecordSet.getLength(); i < j; i++)
+ {
+ oRecord = oRecordSet.getRecord(i);
+ record = oRecord.getData();
+
+ // Append a gallery item div
+ var galleryItemId = this.getRowItemId(oRecord);
+ galleryItem = galleryItemTemplate.cloneNode(true);
+ Dom.removeClass(galleryItem, 'hidden');
+ galleryItem.setAttribute('id', galleryItemId);
+ container.appendChild(galleryItem);
+
+ var galleryItemThumbnailDiv = this.getRowItemThumbnailElement(galleryItem);
+ var galleryItemHeaderDiv = this.getRowItemHeaderElement(galleryItem);
+ var galleryItemDetailDiv = this.getRowItemDetailElement(galleryItem);
+ var galleryItemActionsDiv = this.getRowItemActionsElement(galleryItem);
+
+ // Set the item header id
+ galleryItemHeaderDiv.setAttribute('id', scope.id + '-item-header-' + oRecord.getId());
+
+ // Suffix of the content actions div id must match the onEventHighlightRow target id
+ galleryItemActionsDiv.setAttribute('id', scope.id + '-actions-' + galleryItemId);
+
+ // Render the thumbnail within the gallery item
+ this.renderCellThumbnail(
+ scope,
+ galleryItemThumbnailDiv,
+ oRecord,
+ galleryItem,
+ null,
+ '');
+
+ // Add the drag and drop
+ var imgId = record.jsNode.nodeRef.nodeRef;
+ var dnd = new Alfresco.DnD(imgId, scope);
+
+ // Create a YUI Panel with a relative context of its associated galleryItem
+ galleryItemDetailDiv.panel = new YAHOO.widget.Panel(galleryItemDetailDiv,
+ {
+ visible:false, draggable:false, close:false, constraintoviewport: true,
+ underlay: 'none', width: DETAIL_PANEL_WIDTH,
+ context: [galleryItem, 'tl', 'tl', [this.galleryColumnsChangedEvent], DETAIL_PANEL_OFFSET]
+ });
+ };
+
+ scope.widgets.galleryColumnsSlider.initialize();
+
+ this.currentResizeCallback = function(e)
+ {
+ viewRendererInstance.resizeView(scope, sRequest, oResponse, oPayload);
+ };
+ this.setupWindowResizeListener();
+ };
+
+ /**
+ * Clear the gallery view container
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.destroyView = function DL_GVR_destroyView(scope, sRequest, oResponse, oPayload)
+ {
+ this.restoreDataTable(scope);
+ Dom.get(scope.id + this.parentElementIdSuffix).innerHTML = '';
+ Dom.addClass(Dom.get(scope.id + this.parentElementIdSuffix), 'hidden');
+ Dom.addClass(Dom.get(scope.id + "-gallery-slider"), 'hidden');
+ // Clear the columns class on drag and drop
+ var dndContainer = Dom.get(DND_CONTAINER_ID);
+ columnOptions = [3, 4, 7, 10];
+ for ( var i = 0; i < columnOptions.length; i++) {
+ Dom.removeClass(dndContainer, 'alf-gallery-columns-' + columnOptions[i]);
+ }
+ if (this.windowResizeCallback)
+ {
+ Event.removeListener(window, 'resize', this.windowResizeCallback);
+ }
+ };
+
+ /**
+ * Handler for a click on a thumbnail once in select mode
+ *
+ * @method onSelectModeImgClicked
+ * @param event {Event} The click event
+ * @param matchedEl {HTMLElement} the element that was clicked
+ * @param container {HTMLElement} the parent container (the entire gallery)
+ */
+ Alfresco.DocumentListGalleryViewRenderer.onSelectModeImgClicked = function DL_GVR_onSelectModeImgClicked(event, matchedEl, container, scope)
+ {
+ var galleryItem = Dom.getAncestorByClassName(matchedEl, scope.rowClassName);
+ var selectDiv = Dom.getElementsByClassName('alf-select', 'div', galleryItem)[0];
+ var selectCheckbox = Dom.getFirstChild(selectDiv);
+ selectCheckbox.checked = !selectCheckbox.checked;
+ scope.documentList.selectedFiles[selectCheckbox.value] = selectCheckbox.checked;
+ YAHOO.Bubbling.fire("selectedFilesChanged");
+ };
+
+ /**
+ * Handler for mouse over a gallery item
+ *
+ * @method onMouseOverItem
+ * @param event {Event} The click event
+ * @param matchedEl {HTMLElement} the element that was clicked
+ * @param container {Object} the parent container (the entire gallery)
+ * @param viewRendererInstance {Object} the view renderer instance
+ */
+ Alfresco.DocumentListGalleryViewRenderer.onMouseOverItem = function DL_GVR_onMouseOverItem(event, matchedEl, container, viewRendererInstance)
+ {
+ Dom.addClass(matchedEl, 'alf-hover');
+ viewRendererInstance.onEventHighlightRow(viewRendererInstance.documentList, event, matchedEl);
+ };
+
+ /**
+ * Handler for mouse out of a gallery item
+ *
+ * @method onMouseOutItem
+ * @param event {Event} The click event
+ * @param matchedEl {HTMLElement} the element that was clicked
+ * @param container {Object} the parent container (the entire gallery)
+ * @param viewRendererInstance {Object} the view renderer instance
+ */
+ Alfresco.DocumentListGalleryViewRenderer.onMouseOutItem = function DL_GVR_onMouseOutItem(event, matchedEl, container, viewRendererInstance)
+ {
+ Dom.removeClass(matchedEl, 'alf-hover');
+ };
+
+ /**
+ * Handler for selection of a gallery items
+ *
+ * @method onSelectedFilesChanged
+ * @param scope {object} The DocumentList object
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.onSelectedFilesChanged = function DL_GVR_onSelectedFilesChanged(scope)
+ {
+ // Set all selected decorators
+ var oRecordSet = scope.widgets.dataTable.getRecordSet(), oRecord, record, jsNode, nodeRef, galleryItem, i, j;
+ var anySelected = false;
+ for (i = 0, j = oRecordSet.getLength(); i < j; i++)
+ {
+ oRecord = oRecordSet.getRecord(i);
+ jsNode = oRecord.getData("jsNode");
+ nodeRef = jsNode.nodeRef;
+ galleryItem = this.getRowElementFromDataTableRecord(scope, oRecord);
+ isChecked = scope.selectedFiles[nodeRef];
+ if (isChecked)
+ {
+ Dom.addClass(galleryItem, 'alf-selected');
+ anySelected = true;
+ }
+ else
+ {
+ Dom.removeClass(galleryItem, 'alf-selected');
+ }
+ }
+
+ // If any have been selected add indicator to the parent container
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+ if (anySelected)
+ {
+ if (!Dom.hasClass(container, 'alf-selected'))
+ {
+ Dom.addClass(container, 'alf-selected');
+ }
+ }
+ else
+ {
+ Dom.removeClass(container, 'alf-selected');
+ }
+ }
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.renderCellSelected = function DL_GVR_renderCellSelected(scope, elCell, oRecord, oColumn, oData)
+ {
+ var galleryItem = this.getRowItem(oRecord, elCell);
+ // Check for null galleryItem due to ALF-15529
+ if (galleryItem != null)
+ {
+ var galleryItemSelectDiv = this.getRowItemSelectElement(galleryItem);
+ var jsNode = oRecord.getData("jsNode"),
+ nodeRef = jsNode.nodeRef;
+
+ var checkboxId = this.getRowItemSelectId(oRecord);
+ galleryItemSelectDiv.innerHTML = '<input id="' + checkboxId + '" type="checkbox" name="fileChecked" value="'+ nodeRef + '"' + (scope.selectedFiles[nodeRef] ? ' checked="checked">' : '>');
+
+ Event.addListener(checkboxId, "click", function DL_GVR_checkboxClickEvent(e)
+ {
+ var eventTarget = Event.getTarget(e);
+ scope.selectedFiles[eventTarget.value] = eventTarget.checked;
+ YAHOO.Bubbling.fire("selectedFilesChanged");
+ }, this, true);
+ }
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.getThumbnail = function DL_GVR_getThumbnail(scope, elCell, oRecord, oColumn, oData, imgIdSuffix, renditionName)
+ {
+ if (imgIdSuffix == null)
+ {
+ imgIdSuffix = "-hidden";
+ }
+ if (renditionName == null)
+ {
+ renditionName = "imgpreview";
+ }
+
+ var record = oRecord.getData(),
+ node = record.jsNode,
+ properties = node.properties,
+ name = record.displayName,
+ isContainer = node.isContainer,
+ isLink = node.isLink,
+ extn = name.substring(name.lastIndexOf(".")),
+ imgId = node.nodeRef.nodeRef + imgIdSuffix, // DD added
+ imgHtml;
+
+ if (isContainer)
+ {
+ var archiveState = node.properties["saem:archive_state_prop"];
+
+ //filtre pour couleur dossier
+ if(archiveState == "intermediaire"){
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256-vert.png" />';
+ }else if(archiveState == "verser"){
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256-bleu.png" />';
+ }else if(archiveState == "normal"){
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256.png" />';
+ }else if(archiveState == "definitif"){
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256-marron.png" />';
+ }else if(archiveState == "eliminer"){
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256-rouge.png" />';
+ }else if(archiveState == "restituer"){
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256-violet.png" />';
+ }else {
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-256.png" />';
+ }
+ }
+ else
+ {
+ imgHtml = '<img id="' + imgId + '" class="alf-gallery-item-thumbnail-img" src="' + Alfresco.DocumentList.generateThumbnailUrl(record, renditionName) + '" alt="' + $html(extn) + '" title="' + $html(name) + '" />';
+ }
+ return { id: imgId, html: imgHtml, isContainer: isContainer, isLink: isLink };
+ };
+
+ /**
+ * Render a thumbnail for a given oRecord
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.renderCellThumbnail = function DL_GVR_renderCellThumbnail(scope, elCell, oRecord, oColumn, oData, imgIdSuffix, renditionName)
+ {
+ var containerTarget; // This will only get set if thumbnail represents a container
+
+ var thumbnail = this.getThumbnail(scope, elCell, oRecord, oColumn, oData, imgIdSuffix, renditionName);
+ var record = oRecord.getData();
+
+ // Just add the data table thumbnail once
+ if (!document.getElementById(thumbnail.id))
+ {
+ if (thumbnail.isContainer)
+ {
+ elCell.innerHTML += '<span class="folder">' + (thumbnail.isLink ? '<span class="link"></span>' : '') +
+ (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') +
+ Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + thumbnail.html + '</a>';
+ containerTarget = new YAHOO.util.DDTarget(thumbnail.id); // Make the folder a target
+ }
+ else
+ {
+ elCell.innerHTML += (thumbnail.isLink ? '<span class="link"></span>' : '') +
+ Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + thumbnail.html + '</a>';
+ }
+ var thumbnailElement = document.getElementById(thumbnail.id);
+ if (thumbnailElement)
+ {
+ var tempImg = new Image();
+ tempImg.onload = function()
+ {
+ if(tempImg.width > tempImg.height)
+ {
+ Dom.addClass(thumbnailElement, 'alf-landscape');
+ }
+ }
+ tempImg.src = thumbnailElement.src;
+ }
+ }
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.renderCellStatus = function DL_GVR_renderCellStatus(scope, elCell, oRecord, oColumn, oData)
+ {
+ Alfresco.DocumentListGalleryViewRenderer.superclass.renderCellStatus.call(this, scope, elCell, oRecord, oColumn, oData);
+ var galleryItem = this.getRowItem(oRecord, elCell);
+ // Check for null galleryItem due to ALF-15529
+ if (galleryItem != null)
+ {
+ // Copy status
+ var galleryItemStatusElement = this.getRowItemStatusElement(galleryItem).innerHTML = elCell.innerHTML;
+ // Clear out the table cell so there's no conflicting HTML IDs
+ elCell.innerHTML = '';
+ }
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.renderCellDescription = function DL_GVR_renderCellDescription(scope, elCell, oRecord, oColumn, oData)
+ {
+ Alfresco.DocumentListGalleryViewRenderer.superclass.renderCellDescription.call(this, scope, elCell, oRecord, oColumn, oData);
+ var galleryItem = this.getRowItem(oRecord, elCell);
+ // Check for null galleryItem due to ALF-15529
+ if (galleryItem != null)
+ {
+ // Copy description
+ var galleryItemDetailDescriptionElement = this.getRowItemDetailDescriptionElement(galleryItem).innerHTML = elCell.innerHTML;
+ // Clear out the table cell so there's no conflicting HTML IDs
+ elCell.innerHTML = '';
+ // Add a simple display label
+ this.getRowItemLabelElement(galleryItem).innerHTML =
+ Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, oRecord.getData()) + $html(oRecord.getData().displayName) + '</a>';
+ var galleryItemDetailThumbnailElement = this.getRowItemDetailThumbnailElement(galleryItem);
+ // Only set panel thumbnail if it's currently empty
+ if (galleryItemDetailThumbnailElement.innerHTML == '')
+ {
+ var thumbnail = this.getThumbnail(scope, elCell, oRecord, oColumn, oData, '-detail');
+ this.getRowItemDetailThumbnailElement(galleryItem).innerHTML = thumbnail.html;
+ }
+ }
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype.onFileRenamed = function DL_GVR_onFileRenamed(scope, layer, args)
+ {
+ var obj = args[1];
+ if (obj && (obj.file !== null))
+ {
+ var recordFound = scope._findRecordByParameter(obj.file.node.nodeRef, "nodeRef");
+ if (recordFound !== null)
+ {
+ scope.widgets.dataTable.updateRow(recordFound, obj.file);
+ var galleryItemId = this.getRowItemId(recordFound);
+ Alfresco.util.Anim.pulse(galleryItemId);
+ }
+ }
+ };
+
+ /**
+ * Does the work of actually resizing the view after resize events have stopped. Extensions
+ * will usually override this method rather than onWindowResize or checkWindowResizeTime.
+ *
+ * @method onWindowResize
+ * @param scope {object} The DocumentList object
+ * @param sRequest {string} Original request
+ * @param oResponse {object} Response object
+ * @param oPayload {MIXED} (optional) Additional argument(s)
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.resizeView = function DL_GVR_resizeView(scope, sRequest, oResponse, oPayload)
+ {
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+ var numColumns = scope.widgets.galleryColumnsSlider.getColumnValue();
+ scope.widgets.galleryColumnsSlider.setGalleryViewColumns(container, numColumns, ANIMATE_ON_WINDOW_RESIZE);
+ }
+
+ /**
+ * Timer check of resize to make sure resize has stopped, i.e. windowResizeMinTime has elapsed
+ *
+ * @method checkWindowResizeTime
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.checkWindowResizeTime = function DL_GVR_checkWindowResizeTime()
+ {
+ var viewRendererInstance = this;
+ var now = Date.now();
+ if (now - this.lastResize < viewRendererInstance.windowResizeMinTime) {
+ this.resizeTimer = setTimeout(function()
+ {
+ viewRendererInstance.checkWindowResizeTime()
+ }, viewRendererInstance.windowResizeCheckTime);
+ } else {
+ clearTimeout(this.resizeTimer);
+ this.resizeTimer = this.lastResize = 0;
+ // Only call resize if the width has actually changed
+ if (this.currentViewportWidth != Dom.getViewportWidth())
+ {
+ this.currentResizeCallback();
+ this.currentViewportWidth = Dom.getViewportWidth();
+ }
+ }
+ };
+
+ /**
+ * Handler for window resize. Uses a timer to only fire on stop of resize.
+ *
+ * @method onWindowResize
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.onWindowResize = function DL_GVR_onWindowResize()
+ {
+ var viewRendererInstance = this;
+ this.lastResize = Date.now();
+ this.resizeTimer = this.resizeTimer ||
+ setTimeout(function()
+ {
+ viewRendererInstance.checkWindowResizeTime()
+ }, viewRendererInstance.windowResizeCheckTime);
+ };
+
+ /**
+ * Sets up the event listener for window resizing
+ *
+ * @method setupWindowResizeListener
+ */
+ Alfresco.DocumentListGalleryViewRenderer.prototype.setupWindowResizeListener = function DL_GVR_setupWindowResizeListener()
+ {
+ var isIOS = ( navigator.userAgent.match(/(iPad|iPhone|iPod)/i) ? true : false );
+ if (!isIOS)
+ {
+ var viewRendererInstance = this;
+ this.currentViewportWidth = Dom.getViewportWidth();
+ if (viewRendererInstance.windowResizeCallback)
+ {
+ Event.removeListener(window, 'resize', viewRendererInstance.windowResizeCallback);
+ }
+ viewRendererInstance.windowResizeCallback = function(e)
+ {
+ viewRendererInstance.onWindowResize();
+ };
+ Event.addListener(window, "resize", viewRendererInstance.windowResizeCallback);
+ }
+ };
+
+ Alfresco.DocumentListGalleryViewRenderer.prototype._setEmptyDataSourceMessage = function DL_GVR_setEmptyDataSourceMessage(scope, messageHtml)
+ {
+ var emptyContainer = Dom.get(scope.id + this.parentElementEmptytIdSuffix);
+ Dom.getFirstChild(emptyContainer).innerHTML = messageHtml;
+ }
+
+ // Add some methods for the gallery columns slider
+
+ /**
+ * Augment prototype with main class implementation, ensuring overwrite is enabled
+ */
+ YAHOO.lang.augmentObject(Alfresco.DocumentListGalleryViewRenderer.prototype,
+ {
+ /**
+ * Setup the number of columns slider
+ *
+ * @method setupGalleryColumnsSlider
+ * @param scope {object} The DocumentList object
+ * @param galleryViewRenderer {object} The DocumentListViewRenderer
+ */
+ setupGalleryColumnsSlider: function DL_GVR_setupGalleryColumnsSlider(scope, galleryViewRenderer)
+ {
+ var container = Dom.get(scope.id + this.parentElementIdSuffix);
+
+ scope.widgets.galleryColumnsSlider = YAHOO.widget.Slider.getHorizSlider(
+ scope.id + "-gallery-slider-bg", scope.id + "-gallery-slider-thumb", 0, 60, 20);
+
+ scope.widgets.galleryColumnsSlider.animate = true;
+
+ scope.widgets.galleryColumnsSlider.subscribe("change", function(offsetFromStart)
+ {
+ var numColumns = scope.widgets.galleryColumnsSlider.getColumnValue();
+ scope.widgets.galleryColumnsSlider.setGalleryViewColumns(container, numColumns, true);
+ scope.widgets.galleryColumnsSlider.setColumnsPreference(numColumns);
+ });
+
+ // Additional slider methods
+
+ scope.widgets.galleryColumnsSlider.initialize = function()
+ {
+ Dom.removeClass(Dom.get(scope.id + "-gallery-slider"), 'hidden');
+ var initialPixelValue = scope.widgets.galleryColumnsSlider.getPixelValue(galleryViewRenderer.galleryColumns);
+ scope.widgets.galleryColumnsSlider.setValue(initialPixelValue, true, true, true);
+ scope.widgets.galleryColumnsSlider.setGalleryItemDimensions(container, galleryViewRenderer.galleryColumns, true);
+ };
+
+ scope.widgets.galleryColumnsSlider.getColumnValue = function()
+ {
+ switch(scope.widgets.galleryColumnsSlider.getValue())
+ {
+ case 0:
+ return 10;
+ case 20:
+ return 7;
+ case 40:
+ return 4;
+ case 60:
+ return 3;
+ }
+ };
+ scope.widgets.galleryColumnsSlider.getPixelValue = function(realValue)
+ {
+ switch(realValue)
+ {
+ case 10:
+ return 0;
+ case 7:
+ return 20;
+ case 4:
+ return 40;
+ case 3:
+ return 60;
+ }
+ };
+
+ scope.widgets.galleryColumnsSlider.setGalleryItemDimensions = function _setGalleryItemDimensions(container, numColumns, animate)
+ {
+ if (numColumns == null) {
+ numColumns = scope.widgets.galleryColumnsSlider.getColumnValue();
+ }
+
+ // Set calculated gallery container height
+ var numItems = scope.widgets.dataTable.getRecordSet().getLength();
+ var numRows = Math.ceil(numItems / numColumns);
+ var galleryWidth = parseInt(Dom.getComputedStyle(container, 'width'));
+ var galleryItemWidth = Math.floor(galleryWidth / numColumns) * 0.92; // account for margins
+ var galleryHeight = galleryItemWidth * numRows * 1.13;
+
+ Dom.setStyle(container, 'opacity', 0);
+ Dom.setStyle(container, 'height', galleryHeight + 'px');
+
+ // Clear then add the corresponding columns class to container and drag and drop
+ var dndContainer = Dom.get(DND_CONTAINER_ID);
+ columnOptions = [3, 4, 7, 10];
+ for ( var i = 0; i < columnOptions.length; i++) {
+ Dom.removeClass(container, 'alf-gallery-columns-' + columnOptions[i]);
+ Dom.removeClass(dndContainer, 'alf-gallery-columns-' + columnOptions[i]);
+ }
+ Dom.addClass(container, 'alf-gallery-columns-' + numColumns);
+ Dom.addClass(dndContainer, 'alf-gallery-columns-' + numColumns);
+
+ // Set gallery items' height to calculated width for square
+ var galleryItems = Dom.getChildren(container);
+ Dom.batch(galleryItems, function(el) { Dom.setStyle(el, 'height', galleryItemWidth + 'px'); });
+
+ if (animate)
+ {
+ if (!scope.widgets.galleryColumnsSlider.fadeInAnimation)
+ {
+ scope.widgets.galleryColumnsSlider.fadeInAnimation = new YAHOO.util.Anim(
+ container, { opacity: {from: 0, to: 1 } }, 0.4, YAHOO.util.Easing.easeOut);
+ }
+ scope.widgets.galleryColumnsSlider.fadeInAnimation.animate();
+ }
+ else
+ {
+ Dom.setStyle(container, 'opacity', 1);
+ }
+ }
+
+ scope.widgets.galleryColumnsSlider.setGalleryViewColumns = function _setGalleryViewColumns(container, numColumns, animate)
+ {
+ scope.widgets.galleryColumnsSlider.setGalleryItemDimensions(container, numColumns, animate);
+ YAHOO.Bubbling.fire("galleryViewColumnsChanged");
+ };
+
+ scope.widgets.galleryColumnsSlider.setColumnsPreference = function _setColumnsPreference(numColumns)
+ {
+ if (numColumns == null) {
+ numColumns = scope.widgets.galleryColumnsSlider.getColumnValue();
+ }
+ galleryViewRenderer.galleryColumns = numColumns;
+ scope.services.preferences.set(PREF_GALLERY_COLUMNS, numColumns);
+ };
+ },
+
+ onShowGalleryItemDetail: function DL_GVR_onShowGalleryItemDetail(scope, galleryViewRenderer, event, matchedEl, container)
+ {
+ var galleryItem = Dom.getAncestorByClassName(matchedEl, galleryViewRenderer.rowClassName);
+ var galleryItemDetailDiv = Dom.getElementsByClassName(galleryViewRenderer.infoPanelClassName, null, galleryItem)[0];
+
+ Dom.setStyle(galleryItemDetailDiv, 'display', '');
+ galleryItemDetailDiv.panel.render();
+ galleryItemDetailDiv.panel.show(galleryItemDetailDiv.panel);
+
+ // Hide pop-up timer function
+ var fnHideDetailPanel = function DL_GVR_fnHideDetailPanel()
+ {
+ galleryViewRenderer.onEventUnhighlightRow(scope, event, matchedEl);
+ galleryItemDetailDiv.panel.hide(galleryItemDetailDiv.panel);
+ Dom.setStyle(galleryItemDetailDiv, 'display', 'none');
+ };
+
+ // Initial after-click hide timer - 4x the mouseOut timer delay
+ if (galleryItemDetailDiv.hideTimerId)
+ {
+ window.clearTimeout(galleryItemDetailDiv.hideTimerId);
+ }
+ galleryItemDetailDiv.hideTimerId = window.setTimeout(fnHideDetailPanel, galleryViewRenderer.infoPanelPopupTimeout * 4);
+
+ // Mouse over handler
+ var onMouseOver = function DL_GVR__onMouseOver(e, obj)
+ {
+ // Clear any existing hide timer
+ if (obj.hideTimerId)
+ {
+ window.clearTimeout(obj.hideTimerId);
+ obj.hideTimerId = null;
+ }
+ };
+
+ // Mouse out handler
+ var onMouseOut = function DLSM_onMouseOut(e, obj)
+ {
+ var elTarget = Event.getTarget(e);
+ var related = elTarget.relatedTarget;
+
+ // In some cases we should ignore this mouseout event
+ if ((related !== obj) && (!Dom.isAncestor(obj, related)))
+ {
+ if (obj.hideTimerId)
+ {
+ window.clearTimeout(obj.hideTimerId);
+ }
+ obj.hideTimerId = window.setTimeout(fnHideDetailPanel, galleryViewRenderer.infoPanelPopupTimeout / 100);
+ }
+ };
+
+ Event.on(galleryItemDetailDiv, "mouseover", onMouseOver, galleryItemDetailDiv);
+ Event.on(galleryItemDetailDiv, "mouseout", onMouseOut, galleryItemDetailDiv);
+ }
+
+ });
+
+})();
+
--- /dev/null
+/**
+ * Copyright (C) 2005-2012 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * DocumentListSimpleViewRenderer component which extends DocumentListViewRenderer
+ *
+ * @namespace Alfresco
+ * @class Alfresco.DocumentListSimpleViewRenderer
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML;
+
+ /**
+ * SimpleViewRenderer constructor.
+ *
+ * @param name {String} The name of the SimpleViewRenderer
+ * @return {Alfresco.DocumentListSimpleViewRenderer} The new SimpleViewRenderer instance
+ * @constructor
+ */
+ Alfresco.DocumentListSimpleViewRenderer = function(name, galleryColumns)
+ {
+ Alfresco.DocumentListSimpleViewRenderer.superclass.constructor.call(this, name);
+ this.actionsColumnWidth = 80;
+ this.actionsSplitAtModifier = 0;
+ return this;
+ };
+
+ /**
+ * Extend from Alfresco.DocumentListViewRenderer
+ */
+ YAHOO.extend(Alfresco.DocumentListSimpleViewRenderer, Alfresco.DocumentListViewRenderer);
+
+ /**
+ * Override Alfresco.DocumentListViewRenderer.renderCellThumbnail with a simple icon and preview
+ */
+ Alfresco.DocumentListSimpleViewRenderer.prototype.renderCellThumbnail = function DL_SVR_renderCellThumbnail(scope, elCell, oRecord, oColumn, oData)
+ {
+ var record = oRecord.getData(),
+ node = record.jsNode,
+ properties = node.properties,
+ name = record.displayName,
+ isContainer = node.isContainer,
+ isLink = node.isLink,
+ extn = name.substring(name.lastIndexOf(".")),
+ imgId = node.nodeRef.nodeRef; // DD added
+
+ var containerTarget; // This will only get set if thumbnail represents a container
+
+ oColumn.width = 40;
+ Dom.setStyle(elCell, "width", oColumn.width + "px");
+ Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px");
+
+ if (isContainer)
+ {
+
+
+ var archiveState = node.properties["saem:archive_state_prop"];
+
+ //filtre pour couleur dossier
+ if(archiveState == "intermediaire"){
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32-vert.png" /></a>';
+ }else if(archiveState == "verser"){
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32-bleu.png" /></a>';
+ }else if(archiveState == "normal"){
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32.png" /></a>';
+ }else if(archiveState == "definitif"){
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32-marron.png" /></a>';
+ }else if(archiveState == "restituer"){
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32-violet.png" /></a>';
+ }else if(archiveState == "eliminer"){
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32-rouge.png" /></a>';
+ }else {
+ elCell.innerHTML = '<span class="folder-small">' + (isLink ? '<span class="link"></span>' : '') + (scope.dragAndDropEnabled ? '<span class="droppable"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/documentlibrary/images/folder-32.png" /></a>';
+ }
+
+
+ containerTarget = new YAHOO.util.DDTarget(imgId); // Make the folder a target
+ }
+ else
+ {
+ var id = scope.id + '-preview-' + oRecord.getId();
+ elCell.innerHTML = '<span id="' + id + '" class="icon32">' + (isLink ? '<span class="link"></span>' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '<img id="' + imgId + '" src="' + Alfresco.constants.URL_RESCONTEXT + 'components/images/filetypes/' + Alfresco.util.getFileIcon(name) + '" alt="' + extn + '" title="' + $html(name) + '" /></a></span>';
+
+ // Preview tooltip
+ scope.previewTooltips.push(id);
+ }
+ var dnd = new Alfresco.DnD(imgId, scope);
+ };
+
+ /**
+ * Override Alfresco.DocumentListViewRenderer.setupRenderer to setup preview tooltip
+ */
+ Alfresco.DocumentListSimpleViewRenderer.prototype.setupRenderer = function DL_SVR_setupRenderer(scope)
+ {
+ Dom.addClass(scope.id + this.buttonElementIdSuffix, this.buttonCssClass);
+ // Tooltip for thumbnail in Simple View
+ scope.widgets.previewTooltip = new YAHOO.widget.Tooltip(scope.id + "-previewTooltip",
+ {
+ width: "108px"
+ });
+ scope.widgets.previewTooltip.contextTriggerEvent.subscribe(function(type, args)
+ {
+ var context = args[0],
+ oRecord = scope.widgets.dataTable.getRecord(context.id),
+ record = oRecord.getData();
+
+ this.cfg.setProperty("text", '<img src="' + Alfresco.DocumentList.generateThumbnailUrl(record) + '" />');
+ });
+ };
+
+})();
\ No newline at end of file
--- /dev/null
+.doclist
+{
+ clear: both;
+ visibility: hidden;
+}
+
+.doclist a:hover
+{
+ text-decoration: none;
+}
+
+.doclist .align-center
+{
+ text-align: center;
+}
+
+.doclist .align-right
+{
+ text-align: right;
+}
+
+/* DocList bar */
+
+.doclist .doclist-bar
+{
+ border-bottom: 1px solid #d9d9d9;
+ margin: 0 -10px;
+ padding: 4px 0.5em 2px;
+}
+
+.doclist .doclist-bar-bottom
+{
+ border-top: 1px solid #d9d9d9;
+ display: none;
+}
+
+.doclist span.separator
+{
+ border-right: 1px dotted #c7ccce;
+ border-top: medium none;
+ left: -2px;
+ margin: 0 4px;
+ padding: 2px 0;
+ position: relative;
+ top: -4px;
+ vertical-align: bottom;
+}
+
+/* DocList bar Buttons and Paginator */
+
+.doclist .doclist-bar .file-select
+{
+ float: left;
+ width: 15%;
+}
+
+.doclist .doclist-bar .paginator
+{
+ float: left;
+ margin: 0;
+ padding: 4px 0;
+ text-align: center;
+ width: 80%;
+}
+
+.doclist .doclist-bar .yui-pg-current
+{
+ margin-right: 0;
+}
+
+/* DocList bar Select menu */
+
+.doclist .file-select .yuimenuitemlabel span
+{
+ background-position: 2px 50%;
+ background-repeat: no-repeat;
+ cursor: pointer;
+ display: block;
+ margin-left: -4px;
+ min-height: 16px;
+ padding: 2px 0px 1px 24px;
+}
+
+.doclist .file-select .selectAll
+{
+ background-image: url(images/select-all-16.png);
+}
+
+.doclist .file-select .selectNone
+{
+ background-image: url(images/select-none-16.png);
+}
+
+.doclist .file-select .selectInvert
+{
+ background-image: url(images/select-invert-16.png);
+}
+
+.doclist .file-select .selectFolders
+{
+ background-image: url(images/select-folders-16.png);
+}
+
+.doclist .file-select .selectDocuments
+{
+ background-image: url(images/select-documents-16.png);
+}
+
+/* DocList bar right-hand section */
+
+.doclist .sort-direction,
+.doclist .sort-field,
+.doclist .show-folders,
+.doclist .simple-detailed
+{
+ float: right;
+}
+
+.doclist .show-folders span.first-child,
+.doclist .simple-detailed span.first-child
+{
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ min-height: 16px;
+ padding: 0 2px;
+}
+
+.doclist .show-folders span.first-child button
+{
+ padding: 0 14px;
+}
+
+.doclist .sort-direction span.yui-button
+{
+ margin-right: 0;
+}
+
+.doclist .sort-direction span.first-child
+{
+ background-image: url(images/sort-ascending-16.png);
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ min-height: 16px;
+ padding: 0 2px;
+}
+
+.doclist .sort-direction .sort-descending span.first-child
+{
+ background-image: url(images/sort-descending-16.png);
+}
+
+.doclist .sort-field span.yui-button
+{
+ margin-left: 0;
+}
+
+.doclist .sort-field button
+{
+ padding-left: 4px;
+}
+
+.doclist .show-folders
+{
+ margin-right: 4px;
+}
+
+.doclist .show-folders span.first-child,
+.doclist .show-folders-image
+{
+ background-image: url(images/folders-hide-16.png);
+}
+
+.doclist .show-folders .yui-button-checked span.first-child
+{
+ background-image: url(images/folders-show-16.png);
+}
+
+.doclist .show-folders .separator
+{
+ margin-left: 0;
+}
+
+.doclist .simple-detailed .yui-button
+{
+ margin-left: 0;
+ margin-right: 0;
+}
+
+.doclist .simple-detailed .simple-view span.first-child
+{
+ background-image: url(images/simple-view-off-16.png);
+}
+
+.doclist .simple-detailed .simple-view.yui-button-checked span.first-child
+{
+ background-image: url(images/simple-view-on-16.png);
+}
+
+.doclist .simple-detailed .detailed-view span.first-child
+{
+ background-image: url(images/detailed-view-off-16.png);
+}
+
+.doclist .simple-detailed .detailed-view.yui-button-checked span.first-child
+{
+ background-image: url(images/detailed-view-on-16.png);
+}
+
+/* Inline "Show Folders" action */
+
+.doclist .show-folders-image
+{
+ background-position: 0px 3px;
+ cursor: pointer;
+ display: inline-block;
+ height: 16px;
+ width: 16px;
+}
+
+/* Forms */
+
+.form-container .form-fields
+{
+ border-bottom: medium none;
+ padding: 1em 1em 0em 1em;
+}
+
+/* Details Form */
+
+.form-container .edit-metadata a,
+.form-container .edit-metadata a:visited
+{
+ background: transparent url(actions/document-edit-metadata-16.png) no-repeat 12px 4px;
+ padding-left: 32px;
+}
+
+/* Data Table */
+
+.doclist .documents table
+{
+ border: medium none;
+ width: 100%;
+}
+
+.doclist .documents thead
+{
+ display: none;
+}
+
+.doclist .documents tbody
+{
+ outline: none;
+}
+
+.doclist .documents .yui-dt table
+{
+ border: none;
+}
+
+body .doclist tr.yui-dt-highlighted
+{
+ cursor: auto;
+}
+
+.doclist tr.yui-dt-odd
+{
+ background-color: #ffffff;
+}
+
+.doclist tr.yui-dt-odd.yui-dt-highlighted td.yui-dt-last,
+.doclist tr.yui-dt-even.yui-dt-highlighted td.yui-dt-last
+{
+ border-left: 1px solid #c5e6e9;
+}
+
+.doclist .documents.yui-dt .yui-dt-data td
+{
+ border-bottom: 1px dashed #d9d9d9;
+ border-right: medium none;
+ vertical-align: top;
+}
+
+.doclist .documents.yui-dt .yui-dt-data .yui-dt-last td
+{
+ border-bottom: medium none;
+}
+
+.doclist .documents.yui-dt tr.yui-dt-first td
+{
+ border-top: medium none;
+}
+
+.doclist .documents.yui-dt td.yui-dt-last
+{
+ border-left: 1px solid #fff;
+ vertical-align: middle;
+}
+
+.doclist .yui-dt-liner
+{
+ padding: 4px;
+}
+
+.doclist .yui-dt-col-thumbnail .yui-dt-liner
+{
+ text-align: center;
+}
+
+.doclist .documents.yui-dt tr.yui-dt-first td.yui-dt-empty
+{
+ border-right: medium none;
+ cursor: default;
+}
+
+.doclist .yui-dt-error
+{
+ background: red;
+ color: white;
+ font-weight: bold;
+ margin: 1em auto;
+ padding: 1em;
+}
+
+/* This rule is vital to workaround a Firefox mouseout bug */
+
+.doclist .yui-dt-col-4
+{
+ overflow: visible;
+}
+
+/* Cell Renderers */
+
+.doclist span.folder
+{
+ display: block;
+ position: relative;
+}
+
+.doclist .documents .icon32
+{
+ cursor: pointer;
+ display: block;
+ min-height: 32px;
+}
+
+.doclist .documents .icon32 span.link,
+.doclist .documents .folder-small span.link
+{
+ background: url(images/link-16.png) no-repeat;
+ height: 16px;
+ width: 16px;
+ position: absolute;
+}
+
+.doclist .documents .folder-small span.droppable
+{
+ background: url(../images/drop-arrow-left-small.png) no-repeat;
+ display: none;
+ height: 14px;
+ position: absolute;
+ width: 34px;
+ z-index: 1;
+ margin-left: 20px;
+}
+
+.doclist .documents .thumbnail
+{
+ cursor: pointer;
+ display: block;
+ height: 100px;
+ overflow: hidden;
+ padding-top: 2px;
+ position: relative;
+ width: 100px;
+}
+
+.doclist .documents .thumbnail span.link,
+.doclist .documents .folder span.link
+{
+ background: url(images/link-32.png) no-repeat;
+ height: 32px;
+ width: 32px;
+ position: absolute;
+}
+
+.doclist .documents .folder span.droppable
+{
+ background: url(../images/drop-arrow-left-large.png) no-repeat;
+ display: none;
+ height: 25px;
+ position: absolute;
+ width: 60px;
+ z-index: 1;
+ margin-left: 40px;
+}
+
+.doclist .documents .filename
+{
+ font-size: 139%;
+ font-weight: normal;
+ padding-bottom: 0.2em;
+ padding-left: 20px;
+ word-wrap: break-word;
+}
+
+.doclist .documents .filename span.title
+{
+ color: #606060;
+ font-size: 82%;
+ padding-left: 0.7em;
+}
+
+.doclist .documents .filename span.document-version
+{
+ margin-left: 0.8em;
+ padding: 1px;
+ position: relative;
+ top: -2px;
+ visibility: hidden;
+}
+
+.doclist .documents .yui-dt-highlighted .filename span.document-version
+{
+ visibility: visible;
+}
+
+.doclist .documents
+{
+ color: #333333;
+ margin: 0 -10px 0 -8px;
+}
+
+.doclist .documents a
+{
+ color: #2B6EB5;
+ cursor: pointer;
+}
+
+.doclist .documents a:active,
+.doclist .documents a:hover
+{
+ text-decoration: underline;
+}
+
+.doclist .documents .rename-file
+{
+ background-color: #e8e8e8;
+ border: 1px solid #808080;
+ cursor: pointer;
+ float: left;
+ margin-left: 2em;
+ position: relative;
+ top: -2px;
+}
+
+.doclist .documents .detail
+{
+ clear: left;
+ line-height: 1.5em;
+ min-height: 1.5em;
+ padding-bottom: 0.2em;
+ padding-left: 20px;
+}
+
+.doclist .documents .detail .faded
+{
+ color: #aaa;
+}
+
+.doclist .documents .detail em
+{
+ color: #606060;
+ font-style: normal;
+ font-weight: normal
+}
+
+.doclist .documents .detail span.item
+{
+ float: left;
+ margin-right: 1.6em;
+}
+
+.doclist .documents .detail span.item-social
+{
+ line-height: 1.2em;
+ margin-right: 0.8em;
+ margin-top: 0.4em;
+}
+
+.doclist .documents .detail span.item-simple
+{
+ padding-right: 0.5em;
+}
+
+.doclist .documents .detail span.tag
+{
+ float: left;
+ margin: 1px 0;
+}
+
+/* Categories */
+
+.doclist .documents .detail span.category-item
+{
+ background-image: url(images/category-16.png);
+ background-position: 0px 2px;
+ background-repeat: no-repeat;
+ margin-right: 0;
+ padding-bottom: 2px;
+ padding-left: 18px;
+}
+
+/* Social tagging customisations */
+
+.doclist .documents .detail a.comment
+{
+ background-image: url(../images/comment-16.png);
+}
+
+/* Document Info Banner */
+
+.doclist .info-banner
+{
+ background-color: #ffffe0;
+ background-image: url(images/warning-16.png);
+ background-position: 6px 4px;
+ background-repeat: no-repeat;
+ border: 1px solid #ffca7a;
+ clear: left;
+ font-weight: bold;
+ margin-bottom: 4px;
+ padding: 5px 0px 3px 28px;
+}
+
+.doclist .banner-more-info-link
+{
+ color: #4F94C9;
+ cursor: pointer;
+ float: right;
+ font-size: 85%;
+ font-weight: normal;
+ padding-right: 10px;
+}
+
+/* Tags */
+
+.doclist .documents .detail a.tag-link
+{
+ border-radius: 8px;
+ font-size: 93%;
+ margin-right: 0.5em;
+ padding: 2px 8px;
+ border-radius: 8px;
+}
+
+/* Actions Rollover */
+
+.doclist .documents .hidden
+{
+ visibility: hidden;
+}
+
+/* Actions */
+
+.doclist div.more-actions
+{
+ background-color: #fff;
+ border: 1px solid #2b6eb5;
+ clear: left;
+ margin-left: -22px;
+ margin-top: 1px;
+ position: absolute;
+ width: 220px;
+ z-index: 1;
+}
+
+.doclist .more-actions a.action-link,
+.doclist .more-actions a.simple-link
+{
+ border: 1px solid transparent;
+}
+
+.doclist .more-actions a:active,
+.doclist .more-actions a:hover
+{
+ background-color: #2b6eb5;
+ border: 1px solid #2b6eb5;
+ color: #fff;
+}
+
+/* Actions: Simple view */
+
+.doclist div.simple div
+{
+ float: left;
+}
+
+.doclist div.simple div.onActionShowMore
+{
+ clear: both;
+ float: none;
+}
+
+.doclist div.simple a.action-link span,
+.doclist div.simple a.simple-link span
+{
+ display: none;
+}
+
+.doclist div.simple div.more-actions
+{
+ margin-left: -142px;
+}
+
+.doclist div.simple div.more-actions div
+{
+ float: none;
+}
+
+.doclist div.simple div.more-actions a.action-link span,
+.doclist div.simple div.more-actions a.simple-link span
+{
+ display: block;
+}
+
+/* Actions: Icons */
+
+.doclist .action-set a
+{
+ background-image: url(actions/default-16.png);
+}
+
+.doclist .internal-show-more a
+{
+ background-image: url(images/plus-sign-16.png);
+}
+
+/* Drag and Drop */
+
+.dndFolderHighlight span.droppable
+{
+ display: block !important;
+}
+
+.dndFolderHighlight img
+{
+ background-color: #dceaf4;
+ outline: 2px solid #4F94C9;
+ padding: 2px;
+ position: relative;
+ top: -2px;
+}
+
+.dndDocListHighlight
+{
+ outline: 2px solid #4F94C9;
+ outline-offset: -2px;
+}
+
+.docListInstructions
+{
+ background-color: white;
+ color: #515D6B;
+ padding: 10px;
+}
+
+.docListInstructionsWithDND
+{
+ background-color: white;
+ border: 1px dashed #73B4DA;
+ color: #515D6B;
+ padding: 10px;
+}
+
+.docListInstructionColumn
+{
+ float: left;
+ width: 45%;
+}
+
+.docListInstructionColumnRightBorder
+{
+ border-right: 1px solid #D9D9D9;
+ padding-right: 30px;
+ margin-right: 10px;
+}
+
+.docListInstructions > div
+{
+ clear: both;
+}
+
+.docListInstructionImage
+{
+ float: left;
+ padding: 0 10px;
+ vertical-align: middle;
+}
+
+.docListLinkedInstruction
+{
+ cursor: pointer;
+}
+
+.docListInstructionTitle
+{
+ display: block;
+ font-size: 167%;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding-left: 10px;
+}
+
+.docListInstructionText
+{
+ font-size: 123%;
+ margin-top: 10px;
+ display: block;
+}
+
+.docListInstructionTextSmall
+{
+ margin-top: 15px;
+ display: block;
+}
+
+.docListOtherOptions
+{
+ display: block;
+ font-size: 146.5%;
+ margin-top: 10px;
+ padding-left: 10px;
+ padding-top: 30px;
+}
+
+.docListOtherOptionsImage
+{
+ padding: 10px 6px 0 10px;
+ vertical-align: middle;
+}
+
+.docListOtherOptionsText
+{
+ font-size: 108%;
+ margin-top: 10px;
+}
+
+.inlineTagReadOnly
+{
+ background-color: #DCEAF4;
+ color: #4F94C9;
+ padding: 0.1em, 0.3em;
+ margin-right: 0.5em;
+}
+
+.inlineTagEdit
+{
+ border: 1px solid #C5D6E2;
+ font-weight: normal;
+ padding: 0.3em;
+ background-color: white;
+}
+
+.inlineTagEditTag
+{
+ background-color: #EEE;
+ color: #333;;
+ padding: 0.1em 0.3em;
+ margin-right: 0.3em;
+ margin-bottom: 0.3em;
+ display: inline-block;
+ cursor: pointer;
+}
+
+.inlineTagEditTagPrimed
+{
+ background-color: #DCEAF4;
+ color: #4F94C9;
+}
+
+.inlineTagEditTag img
+{
+ vertical-align: bottom;
+ padding-bottom: 0.2em;
+ margin-left: 0.3em;
+}
+
+.inlineTagEdit input[type="text"]:focus
+{
+ outline: none;
+}
+
+.inlineTagEdit input[type="text"]
+{
+ width: inherit;
+ position: static;
+ border: none;
+}
+
+.inlineTagEditTagSelection
+{
+ vertical-align: bottom;
+ padding-bottom: 0.2em;
+ margin-left: 0.3em;
+}
+
+.inlineTagEditAutoCompleteWrapper
+{
+ padding-bottom:2em;
+ width: 12em;
+}
+
+.inlineTagEditAutoComplete
+{
+ width: inherit !important;
+}
+
+.inlineTagEditAutoComplete .yui-ac-content
+{
+ border: 1px solid #C5D6E2 !important;
+}
+
+.inlineTagEditAutoComplete li.yui-ac-highlight
+{
+ background-color: #DCEAF4 !important;
+ color: #515D6B !important;
+}
+
+
+/* Gallery View */
+
+.doclist .simple-detailed .gallery-view span.first-child
+{
+ background-image: url(images/gallery-view-off-16.png);
+}
+
+.doclist .simple-detailed .gallery-view.yui-button-checked span.first-child
+{
+ background-image: url(images/gallery-view-on-16.png);
+}
+
+.alf-gallery
+{
+ overflow: auto;
+ padding: 6px;
+}
+
+.alf-gallery-item
+{
+ margin: 0.4%;
+ float: left;
+ width: 12.9%;
+ padding: 2px;
+}
+
+
+.alf-gallery.alf-selected .alf-gallery-item
+{
+ -moz-opacity: 0.40;
+ opacity: .40;
+ filter: alpha(opacity=40);
+}
+.alf-gallery.alf-selected .alf-gallery-item-thumbnail
+{
+ filter: alpha(opacity=40);
+}
+
+.alf-gallery .alf-gallery-item.alf-hover
+{
+ -moz-opacity: 1 !important;
+ opacity: 1 !important;
+ filter: alpha(opacity=100) !important;
+}
+.alf-gallery .alf-gallery-item.alf-hover .alf-gallery-item-thumbnail
+{
+ filter: alpha(opacity=100) !important;
+}
+
+.alf-gallery-item.alf-selected
+{
+ border: 2px solid #3D6FDB;
+ padding: 0;
+ -webkit-box-shadow: 0px 0px 6px rgba(0,81,255,1);
+ -moz-box-shadow: 0px 0px 6px rgba(0,81,255,1);
+ box-shadow: 0px 0px 6px rgba(0,81,255,1);
+ -moz-opacity: 1 !important;
+ opacity: 1 !important;
+ filter: alpha(opacity=100) !important;
+}
+.alf-gallery-item.alf-selected .alf-gallery-item-thumbnail
+{
+ filter: alpha(opacity=100) !important;
+}
+
+.doclist .alf-gallery span.folder
+{
+ height: 100%;
+}
+
+.alf-gallery-item .alf-gallery-item-thumbnail
+{
+ height: 100%;
+ border: none;
+ overflow: hidden;
+ position: relative;
+}
+
+.alf-gallery-item .alf-gallery-item-thumbnail .alf-gallery-item-thumbnail-img
+{
+ width: 100%;
+ min-height: 100%;
+}
+.alf-gallery-item .alf-gallery-item-thumbnail .alf-gallery-item-thumbnail-img.alf-landscape
+{
+ width: inherit;
+ min-height: inherit;
+ height: 100%;
+ min-width: 100%;
+}
+.alf-gallery-item .alf-gallery-item-thumbnail .folder .alf-gallery-item-thumbnail-img
+{
+ background: transparent;
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; /* IE8 */
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); /* IE6 & 7 */
+ zoom: 1;
+}
+.alf-gallery-item .alf-gallery-item-thumbnail .alf-gallery-item-thumbnail-folder-img
+{
+ height: 68%;
+ min-width: 68%;
+}
+
+.alf-gallery-item .alf-header
+{
+ color: white;
+ padding: 0 4%;
+ position: absolute;
+ font-size: 1.2em;
+ width: 100%;
+ white-space: nowrap;
+ background: url("../images/black-50-transparency.png") repeat;
+ z-index: 1;
+ visibility: hidden;
+}
+.alf-gallery-item.alf-hover .alf-header,
+.alf-selected .alf-gallery-item .alf-header
+{
+ visibility: visible !important;
+}
+
+.alf-gallery-item .alf-select
+{
+ float: left;
+ position: absolute;
+ top: 50%;
+ margin-top: -10px;
+ height: 16px;
+}
+
+.alf-gallery-item .alf-show-detail
+{
+ float: right;
+ position: relative;
+ right: 4%;
+ top: 50%;
+ background-image: url(images/show-detail.png);
+ background-repeat: no-repeat;
+ padding: 0px 0px 0px 16px;
+ margin-top: -8px;
+ line-height: 16px;
+ text-decoration: none !important;
+ margin-right: 2%;
+}
+
+.alf-gallery-item .alf-separator
+{
+ margin: 12px 18px;
+ height: 1px;
+ background-color: #595959;
+}
+
+.alf-gallery-item .alf-status
+{
+ float: left;
+ margin-left: 20px;
+}
+
+.alf-gallery-item .alf-actions
+{
+ padding: 0 14px;
+ float: right;
+}
+.alf-gallery-item .alf-actions a:focus
+{
+ outline: none;
+}
+
+.alf-gallery-item .alf-description
+{
+}
+.alf-gallery-item .alf-description a:focus
+{
+ outline: none !important;
+}
+
+.alf-gallery-item .alf-detail
+{
+ visibility: hidden;
+}
+
+.alf-gallery .yui-panel .bd
+{
+ color: inherit !important;
+ padding: 20px 4px 16px 4px;
+ border-radius: 7px;
+ -webkit-border-radius: 7px;
+ -moz-border-radius: 7px;
+ -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
+ border: 1px solid #444;
+}
+.alf-gallery .yui-panel-container
+{
+ left: 0;
+}
+
+.alf-gallery-item .alf-detail .alf-detail-thumbnail
+{
+ padding: 0 20px;
+}
+.alf-gallery-item .alf-detail .alf-detail-thumbnail img
+{
+ max-width: 330px;
+ max-height: 240px;
+}
+.alf-gallery-item .alf-detail .detail span.item-social:last-child
+{
+ margin-right: 0;
+}
+
+.doclist div.gallery a.action-link span,
+.doclist div.gallery a.simple-link span
+{
+ display: none;
+}
+.doclist div.gallery div.more-actions div
+{
+ float: none;
+}
+.doclist div.gallery div.more-actions a.action-link span,
+.doclist div.gallery div.more-actions a.simple-link span
+{
+ display: block;
+}
+.doclist .action-set.gallery div
+{
+ float: left;
+}
+
+.alf-gallery-item .alf-label
+{
+ color: white;
+ padding: 12px;
+ position: absolute;
+ bottom: 0;
+ font-size: 1.2em;
+ background: url("../images/black-50-transparency.png") repeat;
+ width: 100%;
+ white-space: nowrap;
+ text-shadow: 1px 1px #333333;
+ z-index: 1;
+}
+
+.alf-gallery-item .alf-label a,
+.alf-gallery-item .alf-label a:visited
+{
+ color: white !important;
+ text-decoration: none !important;
+}
+
+.alf-gallery-item .alf-label a:hover
+{
+ text-decoration: underline !important;
+ background: none !important;
+}
+
+.alf-gallery-item .alf-label h3
+{
+ font-weight: normal;
+}
+.alf-gallery-item .alf-label .detail
+{
+ display: none;
+}
+.alf-gallery-item .alf-label .document-version
+{
+ display: none;
+}
+.doclist .documents.alf-gallery .filename span.document-version
+{
+ visibility: inherit;
+}
+
+.alf-gallery-columns-3 .alf-gallery-item
+{
+ width: 31.5%;
+ margin: 0.6%;
+}
+.alf-gallery-columns-3 .alf-gallery-item .alf-label
+{
+ font-size: 1.3em;
+ padding: 1.3em 0.8em;
+}
+.alf-gallery-columns-3 .alf-gallery-item .alf-header
+{
+ height: 3em;
+}
+#ygddfdiv.alf-gallery-columns-3 img
+{
+ max-width: 390px;
+ min-width: 270px
+}
+.alf-gallery-columns-4 .alf-gallery-item
+{
+ width: 23.5%;
+ margin: 0.5%;
+}
+.alf-gallery-columns-4 .alf-gallery-item .alf-label
+{
+ font-size: 1.2em;
+ padding: 1.2em 0.75em;
+}
+.alf-gallery-columns-4 .alf-gallery-item .alf-header
+{
+ height: 2.5em;
+}
+#ygddfdiv.alf-gallery-columns-4 img
+{
+ max-width: 290px;
+ min-width: 200px;
+}
+.alf-gallery-columns-7 .alf-gallery-item
+{
+ width: 12.9%;
+ margin: 0.4%;
+}
+.alf-gallery-columns-7 .alf-gallery-item .alf-label
+{
+ font-size: 0.85em;
+ padding: 0.95em 0.7em;
+}
+.alf-gallery-columns-7 .alf-gallery-item .alf-header
+{
+ height: 1.75em;
+}
+#ygddfdiv.alf-gallery-columns-7 img
+{
+ width: 160px;
+ min-width: 110px;
+}
+.alf-gallery-columns-10 .alf-gallery-item
+{
+ width: 8.9%;
+ margin: 0.3%;
+}
+.alf-gallery-columns-10 .alf-gallery-item .alf-label
+{
+ font-size: 0.75em;
+ padding: 0.8em 0.65em;
+}
+.alf-gallery-columns-10 .alf-gallery-item .alf-header
+{
+ height: 1.35em;
+}
+#ygddfdiv.alf-gallery-columns-10 img
+{
+ max-width: 100px;
+ min-width: 70px;
+}
+
+.alf-gallery-slider
+{
+ float: right;
+ margin: 4px 4px 2px 0;
+}
+.alf-gallery-slider-bg
+{
+ position: relative;
+ width: 68px !important;
+ height: 16px !important;
+ float: left;
+ margin-right: 5px;
+ background-position: 3px !important;
+}
+.alf-gallery-slider-bg:focus
+{
+ outline: none;
+}
+.alf-gallery-slider-thumb
+{
+ position: absolute;
+ left: 0;
+ top: 0 !important;
+}
+.alf-gallery-slider-small
+{
+ float: left;
+ position: relative;
+ left: 1px;
+ height: 16px;
+}
+.alf-gallery-slider-large
+{
+ float: left;
+ height: 16px;
+ position: relative;
+ top: -1px;
+}
+
--- /dev/null
+/**
+ * Copyright (C) 2005-2012 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * DocumentList component.
+ *
+ * @namespace Alfresco
+ * @class Alfresco.DocumentList
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event,
+ DDM = YAHOO.util.DragDropMgr;
+
+ /**
+ * Alfresco Slingshot aliases
+ */
+ var $html = Alfresco.util.encodeHTML,
+ $links = Alfresco.util.activateLinks,
+ $combine = Alfresco.util.combinePaths,
+ $userProfile = Alfresco.util.userProfileLink,
+ $siteURL = Alfresco.util.siteURL,
+ $date = function $date(date, format) { return Alfresco.util.formatDate(Alfresco.util.fromISO8601(date), format); },
+ $relTime = Alfresco.util.relativeTime,
+ $isValueSet = Alfresco.util.isValueSet;
+
+ /**
+ * Preferences
+ */
+ var PREFERENCES_DOCLIST = "org.alfresco.share.documentList",
+ PREF_SORT_ASCENDING = PREFERENCES_DOCLIST + ".sortAscending",
+ PREF_SORT_FIELD = PREFERENCES_DOCLIST + ".sortField",
+ PREF_SHOW_FOLDERS = PREFERENCES_DOCLIST + ".showFolders",
+ PREF_SIMPLE_VIEW = PREFERENCES_DOCLIST + ".simpleView", // deprecated
+ PREF_VIEW_RENDERER = PREFERENCES_DOCLIST + ".viewRendererName", // viewRender was previously simpleView
+ PREF_GALLERY_COLUMNS = PREFERENCES_DOCLIST + ".galleryColumns";
+
+ /**
+ * Document Library Drag and Drop object declaration.
+ */
+ Alfresco.DnD = function(id, docLib, sGroup, config)
+ {
+ Alfresco.DnD.superclass.constructor.call(this, id, sGroup, config);
+ var el = this.getDragEl();
+ Dom.setStyle(el, "opacity", 0.67);
+ this.docLib = docLib;
+ };
+
+ /**
+ * Extend the default YUI drag and drop proxy object to handle DocumentLibrary move operations.
+ */
+ YAHOO.extend(Alfresco.DnD, YAHOO.util.DDProxy,
+ {
+ /**
+ * A flag used to indicate whether or not an asynchronous move operation request is in progress.
+ */
+ _inFlight: false,
+
+ /**
+ * Handles the beginning of a drag operation by setting up the proxy image element.
+ */
+ startDrag: function DL_DND_startDrag(x, y)
+ {
+ var dragEl = this.getDragEl();
+ var clickEl = this.getEl();
+ Dom.setStyle(clickEl, "visibility", "hidden");
+ var proxyImg = document.createElement("img");
+ proxyImg.src = clickEl.src;
+ dragEl.removeChild(dragEl.firstChild);
+ dragEl.appendChild(proxyImg);
+ Dom.setStyle(dragEl, "border", "none");
+ },
+
+ /**
+ * Handles the end of the drag operation. Because the move operation is asynchronous
+ * it is not know if the operation has been a success at the time this function is
+ * invoked so it uses the _inFlight variable to check whether or not a valid drop
+ * target was used.
+ *
+ * @param The event object
+ */
+ endDrag: function DL_DND_endDrag(e)
+ {
+ if (!this._inFlight)
+ {
+ var srcEl = this.getEl();
+ var proxy = this.getDragEl();
+ this.animateResult(proxy, srcEl);
+ }
+ },
+
+ /**
+ * Animates an object to move it to the location of a target object. This should typically
+ * be animating the proxy object to return to its source.
+ *
+ * @param objectToAnimate The object to animate
+ * @param animationTarget The object to create a motion animation to
+ */
+ animateResult: function DL_DND_animateResult(objectToAnimate, animationTarget)
+ {
+ Dom.setStyle(objectToAnimate, "visibility", "");
+ var a = new YAHOO.util.Motion(
+ objectToAnimate, {
+ points: {
+ to: Dom.getXY(animationTarget)
+ }
+ },
+ 0.2,
+ YAHOO.util.Easing.easeOut
+ );
+ var proxyid = objectToAnimate.id;
+ var thisid = this.id;
+
+ a.onComplete.subscribe(function() {
+ Dom.setStyle(proxyid, "visibility", "hidden");
+ Dom.setStyle(thisid, "visibility", "");
+ });
+ a.animate();
+ },
+
+ /**
+ * Handles a drop operation by determining whether or not a valid drop has been performed (e.g.
+ * a document or folder onto a folder - NOT a document) and then fires a request to perform
+ * the move operation.
+ *
+ * @param e The event object
+ * @param id The id of the element that the proxy has been dropped onto
+ */
+ onDragDrop: function DL_DND_onDragDrop(e, id)
+ {
+ var dropTarget = Dom.get(id);
+ if (DDM.interactionInfo.drop.length > 0)
+ {
+ // See if the element exists within the table...
+ if (Dom.isAncestor(this.docLib.widgets.dataTable.getContainerEl(), dropTarget))
+ {
+ // If the drop target is contained within the data table then process "normally"...
+ var targetRecord = this.docLib.widgets.dataTable.getRecord(Dom.get(id)),
+ targetNode = targetRecord.getData();
+
+ if (targetNode.node.isContainer)
+ {
+ // Indicate that a request is about to be made - this will prevent the endDrag
+ // function from animating the proxy to return to its source...
+ this._inFlight = true;
+
+ // Make sure we handle linked folders...
+ var nodeRef;
+ if (targetNode.node.isLink)
+ {
+ nodeRef = new Alfresco.util.NodeRef(targetNode.node.linkedNode.nodeRef);
+ }
+ else
+ {
+ nodeRef = new Alfresco.util.NodeRef(targetNode.node.nodeRef);
+ }
+
+ // Move the document/folder...
+ this._performMove(nodeRef, targetNode.location.path + "/" + targetNode.location.file);
+ }
+ }
+ else if (Dom.hasClass(dropTarget, "documentDroppable"))
+ {
+ // The "documentDroppable" class is not defined in any CSS files but is simply used as
+ // a marker to indicate that the element can be used as a document drop target. Only
+ // documents are dragged and dropped onto these elements should result in the drop
+ // target request being fired (it's possible that an element could be specified as a
+ // YUI drag and drop target for the purposes of controlling drag events without actually
+ // allowing drops to occur
+ var payload =
+ {
+ elementId: id,
+ callback: this.onDropTargetOwnerCallBack,
+ scope: this
+ }
+ this._inFlight = true;
+ YAHOO.Bubbling.fire("dropTargetOwnerRequest", payload);
+ this._setFailureTimeout();
+ }
+ }
+ },
+
+ /**
+ * Moves the document or folder associated with the drag proxy to the nodeRef supplied. This
+ * method is either called when dropping onto the DocumentList directly or onto any other
+ * valid drop target that can process "dropTargetOwnerRequest" events.
+ *
+ * @method _performMove
+ * @property nodeRef The nodeRef onto which the proxy should be moved.
+ */
+ _performMove: function DL_DND__performMove(nodeRef, path)
+ {
+ // Set variables required for move...
+ var toMoveRecord = this.docLib.widgets.dataTable.getRecord(this.getEl()),
+ webscriptName = "move-to/node/{nodeRef}",
+ multipleFiles = [];
+
+ multipleFiles.push(this.getEl().id);
+
+ // Success callback function:
+ // If the operation succeeded then update the tree and refresh the document list.
+ var fnSuccess = function DLCMT__onOK_success(p_data)
+ {
+ this._inFlight = false; // Indicate that a request is no longer "in-flight"
+
+ var result,
+ successCount = p_data.json.successCount,
+ failureCount = p_data.json.failureCount;
+
+ // Did the operation NOT succeed?
+ if (!p_data.json.overallSuccess)
+ {
+ this.animateResult(this.getDragEl(), this.getEl());
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.docLib.msg("message.file-dnd-move.failure")
+ });
+ Dom.removeClass(this.dragFolderHighlight, "dndFolderHighlight");
+ return;
+ }
+
+ // Refresh the document list...
+ this.docLib._updateDocList.call(this.docLib);
+
+ // Update the tree if a folder has been moved...
+ var moved = toMoveRecord.getData();
+ if (moved.node.isContainer)
+ {
+ YAHOO.Bubbling.fire("folderMoved",
+ {
+ multiple: true,
+ nodeRef: moved.nodeRef,
+ destination: path
+ });
+ }
+ };
+ // destination: targetNode.location.path + "/" + targetNode.location.file
+
+ // Failure callback function:
+ // If the move operation has failed then animate the proxy to return it to the
+ // location from which it was dragged. Also, post a failure message.
+ var fnFailure = function DLCMT__onOK_failure(p_data)
+ {
+ this._inFlight = false; // Indicate that a request is no longer "in-flight"
+ this.animateResult(this.getDragEl(), this.getEl());
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.docLib.msg("message.file-dnd-move.failure")
+ });
+ Dom.removeClass(this.dragFolderHighlight, "dndFolderHighlight");
+ };
+
+ // Make the request to move the dragged object to the target
+ this.docLib.modules.actions.genericAction(
+ {
+ success:
+ {
+ callback:
+ {
+ fn: fnSuccess,
+ scope: this
+ }
+ },
+ failure:
+ {
+ callback:
+ {
+ fn: fnFailure,
+ scope: this
+ }
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.POST,
+ name: webscriptName,
+ params:
+ {
+ nodeRef: nodeRef.uri
+ }
+ },
+ wait:
+ {
+ message: this.docLib.msg("message.please-wait")
+ },
+ config:
+ {
+ requestContentType: Alfresco.util.Ajax.JSON,
+ dataObj:
+ {
+ nodeRefs: multipleFiles,
+ parentId: this.docLib.doclistMetadata.parent.nodeRef
+ }
+ }
+ });
+ },
+
+ /**
+ * The id of the current window timeout. This should only be non-null if a proxy has been
+ * dropped onto a valid drop target that was NOT part of the DocumentList DataTable widget.
+ * This id is used to clear the current timeout associated with a drop if the target owner
+ * responds with the node ref.
+ *
+ * @property _currTimeoutId
+ * @type int
+ */
+ _currTimeoutId: null,
+
+ /**
+ * Callback function that is included in the payload of the "dropTargetOwnerRequest" event.
+ * This can then be used by a subscriber to the event that claims ownership of the target to
+ * generate the move using the associated nodeRef.
+ *
+ * @method onDropTargetOwnerCallBack
+ * @property nodeRef The nodeRef to move the dragged object to.
+ */
+ onDropTargetOwnerCallBack: function DL_DND_onDropTargetOwnerCallBack(nodeRef, path)
+ {
+ // Clear the timeout that was set...
+ this._clearTimeout();
+
+ // Move the document/folder...
+ var node = new Alfresco.util.NodeRef(nodeRef);
+ this._performMove(node, path);
+ },
+
+ /**
+ * Clears the timeout that is set when a proxy is dropped onto a valid drop target that is
+ * NOT part of the DocumentList DataTable widget. This clears the timeout, resets the timeout
+ * id to null and removes the inflight status of the drop operation.
+ *
+ * @method _clearTimeout
+ */
+ _clearTimeout: function DL_DND__clearTimeout()
+ {
+ if (this._currTimeoutId != null)
+ {
+ window.clearTimeout(this._currTimeoutId);
+ this._currTimeoutId = null;
+ this._inFlight = false;
+ }
+ },
+
+ /**
+ * Creates a timeout for handling drops onto valid drop targets that are NOT part of the
+ * DocumentList DataTable widget. This method is called after firing a "dropTargetOwnerRequest"
+ * to wait for the owner of the target to respond with the nodeRef associated with the target.
+ * If a response is not sent then a failure will be registered.
+ *
+ * @method _setFailureTimeout
+ */
+ _setFailureTimeout: function DL_DND__setFailureTimeout()
+ {
+ // Clear any previous timeout...
+ this._clearTimeout();
+ var _this = this;
+ this._currTimeoutId = window.setTimeout(function()
+ {
+ // An attempt was made to drop a document or folder into a document - NOT a folder
+ _this.animateResult(_this.getDragEl(), _this.getEl());
+ _this._inFlight = false
+ _this._currTimeoutId = null;
+ }, 500);
+ },
+
+ /**
+ * If the element the proxy has been dragged over is a folder, then style class indicating
+ * that it is a viable drop target is added.
+ *
+ * @param e The event object
+ * @param id The id of the element that the proxy has been dragged over
+ */
+ onDragOver: function DL_DND_onDragOver(e, id)
+ {
+ var destEl = Dom.get(id);
+ if (destEl.tagName == "IMG" || destEl.className == "droppable")
+ {
+ this.dragFolderHighlight = Dom.getAncestorByClassName(destEl, "folder");
+ Dom.addClass(this.dragFolderHighlight, "dndFolderHighlight");
+ }
+ else if (Dom.hasClass(destEl, "documentDroppableHighlights"))
+ {
+ // Fire an event indicating a document drag over
+ var payload =
+ {
+ elementId: id,
+ event: e
+ }
+ YAHOO.Bubbling.fire("documentDragOver", payload);
+ }
+ },
+
+ /**
+ * If the element the proxy has been dragged out of is a folder, then style class indicating
+ * that it is a viable drop target is removed.
+ *
+ * @param e The event object
+ * @param id The id of the element that the proxy has been dragged out of
+ */
+ onDragOut: function DL_DND_onDragOut(e, id)
+ {
+ var destEl = Dom.get(id);
+ if (destEl.tagName == "IMG" || destEl.className == "droppable")
+ {
+ this.dragFolderHighlight = Dom.getAncestorByClassName(destEl, "folder");
+ Dom.removeClass(this.dragFolderHighlight, "dndFolderHighlight");
+ }
+ else if (Dom.hasClass(destEl, "documentDroppableHighlights"))
+ {
+ // Fire an event indicating a document drag out
+ var payload =
+ {
+ elementId: id,
+ event: e
+ }
+ YAHOO.Bubbling.fire("documentDragOut", payload);
+ }
+ }
+ });
+
+ /**
+ * DocumentList constructor.
+ *
+ * @param htmlId {String} The HTML id of the parent element
+ * @return {Alfresco.DocumentList} The new DocumentList instance
+ * @constructor
+ */
+ Alfresco.DocumentList = function(htmlId)
+ {
+ Alfresco.DocumentList.superclass.constructor.call(this, "Alfresco.DocumentList", htmlId, ["button", "menu", "container", "datasource", "datatable", "paginator", "json", "history"]);
+
+ /*
+ * Initialise prototype properties
+ */
+ this.currentPath = "";
+ this.currentPage = 1;
+ this.totalRecords = 0;
+ this.totalRecordsUpper = null;
+ this.hideMoreActionsFn = null;
+ this.state =
+ {
+ actionEditOfflineActive: false
+ };
+ this.currentFilter =
+ {
+ filterId: "path",
+ filterData: ""
+ };
+ this.actions = {};
+ this.selectedFiles = {};
+ this.afterDocListUpdate = [];
+ this.doclistMetadata = {};
+ this.previewTooltips = [];
+ this.insituEditors = [];
+ this.dynamicControls = [];
+ this.sortControls = [];
+ this.dragAndDropAllowed = true;
+ this.dragAndDropEnabled = false;
+ this.dragEventRefCount = 0;
+ this.actionsView = "browse";
+ this.renderers = {};
+ this.viewRenderers = {};
+ this.dataSourceUrl = $combine(Alfresco.constants.URL_SERVICECONTEXT, "components/documentlibrary/data/doclist/");
+
+ /**
+ * Decoupled event listeners
+ */
+ // Specific event handlers
+ YAHOO.Bubbling.on("activateDynamicControls", this.onActivateDynamicControls, this);
+ YAHOO.Bubbling.on("activateSortControls", this.onActivateSortControls, this);
+ YAHOO.Bubbling.on("deactivateAllControls", this.onDeactivateAllControls, this);
+ YAHOO.Bubbling.on("deactivateDynamicControls", this.onDeactivateDynamicControls, this);
+ YAHOO.Bubbling.on("deactivateSortControls", this.onDeactivateSortControls, this);
+ YAHOO.Bubbling.on("metadataRefresh", this.onDocListRefresh, this);
+ YAHOO.Bubbling.on("fileRenamed", this.onFileRenamed, this);
+ YAHOO.Bubbling.on("changeFilter", this.onChangeFilter, this);
+ YAHOO.Bubbling.on("filterChanged", this.onFilterChanged, this);
+ YAHOO.Bubbling.on("folderCreated", this.onDocListRefresh, this);
+ YAHOO.Bubbling.on("nodeCreated", this.onDocListRefresh, this);
+ YAHOO.Bubbling.on("folderRenamed", this.onFileRenamed, this);
+ YAHOO.Bubbling.on("highlightFile", this.onHighlightFile, this);
+ YAHOO.Bubbling.on("registerRenderer", this.onRegisterRenderer, this);
+ YAHOO.Bubbling.on("registerViewRenderer", this.onRegisterViewRenderer, this);
+ YAHOO.Bubbling.on("registerAction", this.onRegisterAction, this);
+ YAHOO.Bubbling.on("resizerChanged", this.onResizerChanged, this);
+ // File actions which may be part of a multi-file action set
+ YAHOO.Bubbling.on("fileCopied", this.onFileAction, this);
+ YAHOO.Bubbling.on("fileDeleted", this.onFileAction, this);
+ YAHOO.Bubbling.on("fileMoved", this.onFileAction, this);
+ YAHOO.Bubbling.on("filePermissionsUpdated", this.onFileAction, this);
+ YAHOO.Bubbling.on("folderCopied", this.onFileAction, this);
+ YAHOO.Bubbling.on("folderDeleted", this.onFileAction, this);
+ YAHOO.Bubbling.on("folderMoved", this.onFileAction, this);
+ YAHOO.Bubbling.on("folderPermissionsUpdated", this.onFileAction, this);
+ // Multi-file actions
+ YAHOO.Bubbling.on("filesCopied", this.onDocListRefresh, this);
+ YAHOO.Bubbling.on("filesDeleted", this.onDocListRefresh, this);
+ YAHOO.Bubbling.on("filesMoved", this.onDocListRefresh, this);
+ YAHOO.Bubbling.on("filesPermissionsUpdated", this.onDocListRefresh, this);
+
+ return this;
+ };
+
+ /**
+ * Extend from Alfresco.component.Base
+ */
+ YAHOO.extend(Alfresco.DocumentList, Alfresco.component.Base);
+
+ /**
+ * Augment prototype with Actions module
+ */
+ YAHOO.lang.augmentProto(Alfresco.DocumentList, Alfresco.doclib.Actions);
+
+ /**
+ * Custom field generator functions
+ */
+
+ /**
+ * Generate "changeFilter" event mark-up suitable for element attribute.
+ *
+ * @method generateFilterMarkup
+ * @param filter {object} Object literal containing new filter parameters
+ * @return {string} Mark-up for use in node attribute
+ */
+ Alfresco.DocumentList.generateFilterMarkup = function DL_generateFilterMarkup(filter)
+ {
+ var filterObj = Alfresco.util.cleanBubblingObject(filter);
+ return YAHOO.lang.substitute("{filterOwner}|{filterId}|{filterData}|{filterDisplay}", filterObj, function(p_key, p_value, p_meta)
+ {
+ return typeof p_value === "undefined" ? "" : window.escape(p_value);
+ });
+ };
+
+ /**
+ * Generate "changeFilter" event mark-up specifically for path changes
+ *
+ * @method generatePathMarkup
+ * @param locn {object} Location object containing path and folder name to navigate to
+ * @return {string} Mark-up for use in node attribute
+ */
+ Alfresco.DocumentList.generatePathMarkup = function DL_generatePathMarkup(locn)
+ {
+ return Alfresco.DocumentList.generateFilterMarkup(
+ {
+ filterId: "path",
+ filterData: $combine(locn.path, locn.file)
+ });
+ };
+
+ /**
+ * Generate "changeFilter" event mark-up specifically for category changes
+ *
+ * @method generateCategoryMarkup
+ * @param category {Array} category[0] is name, category[1] is qnamePath
+ * @return {string} Mark-up for use in node attribute
+ */
+ Alfresco.DocumentList.generateCategoryMarkup = function DL_generateCategoryMarkup(category)
+ {
+ return Alfresco.DocumentList.generateFilterMarkup(
+ {
+ filterId: "category",
+ filterData: $combine(category[1], category[0])
+ });
+ };
+
+ /**
+ * Generate URL for a file- or folder-link that may be located within a different Site
+ *
+ * @method generateFileFolderLinkMarkup
+ * @param record {object} Item record
+ * @return {string} Mark-up for use in node attribute
+ * <pre>
+ * Folders: Navigate into the folder (ajax)
+ * Documents: Navigate to the details page (page)
+ * Links: Same site (or Repository mode)
+ * Links to folders: Navigate into the folder (ajax)
+ * Links to documents: Navigate to the details page (page)
+ * Links: Different site
+ * Links to folders: Navigate into the site & folder (page)
+ * Links to documents: Navigate to the details page within the site (page)
+ * </pre>
+ */
+ Alfresco.DocumentList.generateFileFolderLinkMarkup = function DL_generateFileFolderLinkMarkup(scope, record)
+ {
+ var jsNode = record.jsNode,
+ html;
+
+ if (jsNode.isLink && $isValueSet(scope.options.siteId) && record.location.site && record.location.site.name !== scope.options.siteId)
+ {
+ if (jsNode.isContainer)
+ {
+ html = $siteURL("documentlibrary?path=" + encodeURIComponent(record.location.path),
+ {
+ site: record.location.site.name
+ });
+ }
+ else
+ {
+ html = scope.getActionUrls(record, record.location.site.name).documentDetailsUrl;
+ }
+ }
+ else
+ {
+ if (jsNode.isContainer)
+ {
+ if (record.parent.isContainer)
+ {
+ // handle folder parent node
+ html = '#" class="filter-change" rel="' + Alfresco.DocumentList.generatePathMarkup(record.location);
+ }
+ else if (record.location.path === "/")
+ {
+ // handle Repository root parent node (special store_root type - not a folder)
+ html = '#" class="filter-change" rel="' + Alfresco.DocumentList.generateFilterMarkup(
+ {
+ filterId: "path",
+ filterData: $combine(record.location.path, "")
+ });
+ }
+ else
+ {
+ // handle unknown parent node types
+ html = '#';
+ }
+ }
+ else
+ {
+ var actionUrls = scope.getActionUrls(record);
+ if (jsNode.isLink && jsNode.linkedNode.isContainer)
+ {
+ html = actionUrls.folderDetailsUrl;
+ }
+ else
+ {
+ html = actionUrls.documentDetailsUrl;
+ }
+ }
+ }
+
+ return '<a href="' + html + '">';
+ };
+
+ /**
+ * Generate URL to thumbnail image
+ *
+ * @method generateThumbnailUrl
+ * @param record {object} File record
+ * @param renditionName {string} the named thumbnail rendition to grab, default is doclib
+ * @return {string} URL to thumbnail
+ */
+ Alfresco.DocumentList.generateThumbnailUrl = function DL_generateThumbnailUrl(record, renditionName)
+ {
+ var jsNode = record.jsNode,
+ nodeRef = jsNode.isLink ? jsNode.linkedNode.nodeRef : jsNode.nodeRef;
+ if (renditionName == null)
+ renditionName = "doclib";
+ return Alfresco.util.generateThumbnailUrl(jsNode, renditionName);
+ };
+
+ /**
+ * Generate "Favourite" UI
+ *
+ * @method generateFavourite
+ * @param scope {object} DocumentLibrary instance
+ * @param record {object} File record
+ * @return {string} HTML mark-up for Favourite UI
+ */
+ Alfresco.DocumentList.generateFavourite = function DL_generateFavourite(scope, record)
+ {
+ var jsNode = record.jsNode,
+ i18n = "favourite." + (jsNode.isContainer ? "folder." : "document."),
+ html = "";
+
+ if (record.isFavourite)
+ {
+ html = '<a class="favourite-action enabled" title="' + scope.msg(i18n + "remove.tip") + '" tabindex="0"></a>';
+ }
+ else
+ {
+ html = '<a class="favourite-action" title="' + scope.msg(i18n + "add.tip") + '" tabindex="0">' + scope.msg(i18n + "add.label") + '</a>';
+ }
+
+ return html;
+ };
+
+ /**
+ * Generate "Likes" UI
+ *
+ * @method generateLikes
+ * @param scope {object} DocumentLibrary instance
+ * @param record {object} File record
+ * @return {string} HTML mark-up for Likes UI
+ */
+ Alfresco.DocumentList.generateLikes = function DL_generateLikes(scope, record)
+ {
+ var node = record.node,
+ likes = record.likes,
+ i18n = "like." + (node.isContainer ? "folder." : "document."),
+ html = "";
+
+ if (likes.isLiked)
+ {
+ html = '<a class="like-action enabled" title="' + scope.msg(i18n + "remove.tip") + '" tabindex="0"></a>';
+ }
+ else
+ {
+ html = '<a class="like-action" title="' + scope.msg(i18n + "add.tip") + '" tabindex="0">' + scope.msg(i18n + "add.label") + '</a>';
+ }
+
+ html += '<span class="likes-count">' + $html(likes.totalLikes) + '</span>';
+
+ return html;
+ };
+
+ /**
+ * Generate "Comments" UI
+ *
+ * @method generateComments
+ * @param scope {object} DocumentLibrary instance
+ * @param record {object} File record
+ * @return {string} HTML mark-up for Comments UI
+ */
+ Alfresco.DocumentList.generateComments = function DL_generateComments(scope, record)
+ {
+ var node = record.node,
+ actionUrls = scope.getActionUrls(record),
+ url = actionUrls[node.isContainer ? "folderDetailsUrl" : "documentDetailsUrl"] + "#comment",
+ i18n = "comment." + (node.isContainer ? "folder." : "document.");
+
+ var html = '<a href="' + url + '" class="comment" title="' + scope.msg(i18n + "tip") + '" tabindex="0">' + scope.msg(i18n + "label") + '</a>';
+ if (node.properties["fm:commentCount"] !== undefined)
+ {
+ html += '<span class="comment-count">' + $html(node.properties["fm:commentCount"]) + '</span>';
+ }
+ return html;
+ };
+
+ /**
+ * Generate "Quickshare" UI
+ *
+ * @method generateQuickShare
+ * @param scope {object} DocumentLibrary instance
+ * @param record {object} File record
+ * @return {string} HTML mark-up for Comments UI
+ */
+ Alfresco.DocumentList.generateQuickShare = function DL_generateQuickShare(scope, record)
+ {
+ // Create QuickShare widget (will returns its own markup)
+ return new Alfresco.QuickShare().setOptions({
+ nodeRef: record.jsNode.nodeRef,
+ displayName: record.displayName
+ }).display(record.jsNode.properties.qshare_sharedId, record.jsNode.properties.qshare_sharedBy);
+ };
+
+ /**
+ * Generate User Profile link
+ *
+ * @method generateUserLink
+ * @param scope {object} DocumentLibrary instance
+ * @param oUser {object} Object literal container user data
+ * @return {string} HTML mark-up for user profile link
+ */
+ Alfresco.DocumentList.generateUserLink = function DL_generateUserLink(scope, oUser)
+ {
+ if (oUser.isDeleted === true)
+ {
+ return '<span>' + scope.msg("details.user.deleted", $html(oUser.userName)) + '</span>';
+ }
+ return $userProfile(oUser.userName, YAHOO.lang.trim(oUser.firstName + " " + oUser.lastName));
+ };
+
+
+ /**
+ * Augment prototype with main class implementation, ensuring overwrite is enabled
+ */
+ YAHOO.lang.augmentObject(Alfresco.DocumentList.prototype,
+ {
+ /**
+ * Object container for initialization options
+ *
+ * @property options
+ * @type object
+ */
+ options:
+ {
+ /**
+ * Flag indicating whether sort direction is ascending (true) or descending (false)
+ *
+ * @property sortAscending
+ * @type boolean
+ */
+ sortAscending: true,
+
+ /**
+ * Flag indicating whether folders are visible or not.
+ *
+ * @property showFolders
+ * @type boolean
+ */
+ showFolders: false,
+
+ /**
+ * Flag indicating whether the list shows a detailed view or a simple one.
+ *
+ * @property simpleView
+ * @type boolean
+ * @deprecated use viewRendererName instead
+ */
+ simpleView: null,
+
+ /**
+ * Indicates which viewRenderer to use when displaying the content set.
+ *
+ * Similar to the previous boolean switch called simpleView.
+ *
+ * @property viewRendererName
+ * @type string
+ * @default "detailed"
+ */
+ viewRendererName: "detailed",
+
+ /**
+ * An array containing the order of the viewRenderer keys
+ *
+ * @property viewRendererNames
+ * @type array
+ * @default ["simple", "detailed"]
+ */
+ viewRendererNames: [ "simple", "detailed", "gallery" ],
+
+ /**
+ * Flag indicating whether pagination is available or not.
+ *
+ * @property usePagination
+ * @type boolean
+ * @default false
+ */
+ usePagination: false,
+
+ /**
+ * Current siteId. Not used in Repository working mode.
+ *
+ * @property siteId
+ * @type string
+ */
+ siteId: "",
+
+ /**
+ * ContainerId representing root container. Not used in Repository working mode.
+ *
+ * @property containerId
+ * @type string
+ * @default "documentLibrary"
+ */
+ containerId: "documentLibrary",
+
+ /**
+ * Current root node. Not used in Site working mode.
+ *
+ * @property rootNode
+ * @type string
+ */
+ rootNode: null,
+
+ /**
+ * Initial page to show on load (otherwise taken from URL hash).
+ *
+ * @property initialPage
+ * @type int
+ */
+ initialPage: 1,
+
+ /**
+ * Number of items per page
+ *
+ * @property pageSize
+ * @type int
+ */
+ pageSize: 50,
+
+ /**
+ * Initial filter to show on load.
+ *
+ * @property initialFilter
+ * @type object
+ */
+ initialFilter: {},
+
+ /**
+ * Delay before showing "loading" message for slow data requests
+ *
+ * @property loadingMessageDelay
+ * @type int
+ * @default 1000
+ */
+ loadingMessageDelay: 1000,
+
+ /**
+ * FileName to highlight on initial DataTable render.
+ *
+ * @property highlightFile
+ * @type string
+ */
+ highlightFile: null,
+
+ /**
+ * Holds IDs to register preview tooltips with.
+ *
+ * @property previewTooltips
+ * @type array
+ */
+ previewTooltips: null,
+
+ /**
+ * Holds IDs to register insitu editors with.
+ *
+ * @property insituEditors
+ * @type array
+ */
+ insituEditors: null,
+
+ /**
+ * Number of multi-file uploads before grouping the Activity Post
+ *
+ * @property groupActivitiesAt
+ * @type int
+ * @default 5
+ */
+ groupActivitiesAt: 5,
+
+ /**
+ * Valid inline edit mimetypes
+ * Currently allowed are plain text, HTML and XML only
+ *
+ * @property inlineEditMimetypes
+ * @type object
+ */
+ inlineEditMimetypes:
+ {
+ "text/plain": true,
+ "text/html": true,
+ "text/xml": true
+ },
+
+ /**
+ * Replication URL Mapping details
+ *
+ * @property replicationUrlMapping
+ * @type object
+ */
+ replicationUrlMapping: {},
+
+ /**
+ * Flag to indicate the list may be updated as a results of a REST API call
+ *
+ * @property listUpdated
+ * @type boolean
+ */
+ listUpdated: false,
+
+ /**
+ * Whether the Repo Browser is in use or not
+ *
+ * @property repositoryBrowsing
+ * @type boolean
+ */
+ repositoryBrowsing: true,
+
+ /**
+ * Whether the cm:title property is in use or not
+ *
+ * @property useTitle
+ * @type boolean
+ */
+ useTitle: true,
+
+ /**
+ * Whether the user viewing the document library is a manager of the site.
+ *
+ * @property userIsSiteManager
+ * @type boolean
+ */
+ userIsSiteManager: false,
+
+ /**
+ * Where to insert the "More..." actions split
+ *
+ * @property actionsSplitAt
+ * @type number
+ * @default 3
+ */
+ actionsSplitAt: 3
+ },
+
+ /**
+ * Keeps track of different states
+ */
+ state:
+ {
+ /**
+ * True if an an edit offline ajax call is in process
+ *
+ * @property: actionEditOfflineActive
+ * @type: boolean
+ * @default: false
+ */
+ actionEditOfflineActive: false
+ },
+
+ /**
+ * Current path being browsed.
+ *
+ * @property currentPath
+ * @type string
+ */
+ currentPath: null,
+
+ /**
+ * Current page being browsed.
+ *
+ * @property currentPage
+ * @type int
+ * @default 1
+ */
+ currentPage: null,
+
+ /**
+ * Total number of records (documents + folders) in the currentPath.
+ *
+ * @property totalRecords
+ * @type int
+ * @default 0
+ */
+ totalRecords: null,
+
+ /**
+ * Current filter to filter document list.
+ *
+ * @property currentFilter
+ * @type object
+ */
+ currentFilter: null,
+
+ /**
+ * FileUpload module instance.
+ *
+ * @property fileUpload
+ * @type Alfresco.FileUpload
+ */
+ fileUpload: null,
+
+ /**
+ * Object container for storing action markup elements.
+ *
+ * @property actions
+ * @type object
+ */
+ actions: null,
+
+ /**
+ * Object literal of selected states for visible files (indexed by nodeRef).
+ *
+ * @property selectedFiles
+ * @type object
+ */
+ selectedFiles: null,
+
+ /**
+ * Current actions menu being shown
+ *
+ * @property currentActionsMenu
+ * @type object
+ * @default null
+ */
+ currentActionsMenu: null,
+
+ /**
+ * "More Actions" pop-up handler
+ *
+ * @property hideMoreActionsFn
+ * @type function
+ * @default null
+ */
+ hideMoreActionsFn: null,
+
+ /**
+ * Deferred function calls for after a document list update
+ *
+ * @property afterDocListUpdate
+ * @type array
+ */
+ afterDocListUpdate: null,
+
+ /**
+ * Metadata returned by doclist data webscript
+ *
+ * @property doclistMetadata
+ * @type object
+ * @default null
+ */
+ doclistMetadata: null,
+
+ /**
+ * Dynamic controls that take part in the deactivateDynamicControls event
+ *
+ * @property dynamicControls
+ * @type array
+ */
+ dynamicControls: null,
+
+ /**
+ * List of controls that are related to sorting - they can be enabled or disabled
+ * as a group depending on the filter that is currently displayed to the user.
+ *
+ * @property sortControls
+ * @type array
+ */
+ sortControls: null,
+
+ /**
+ * Indicates whether or not we allow the HTML5 drag and drop capability
+ *
+ * @property dragAndDropAllowed
+ * @type boolean
+ */
+ dragAndDropAllowed: null,
+
+ /**
+ * Indicates whether or not the browser supports the HTML5 drag and drop capability
+ *
+ * @property dragAndDropEnabled
+ * @type boolean
+ */
+ dragAndDropEnabled: null,
+
+ /**
+ * Drag and drop dragEnter / dragLeave event reference counter
+ *
+ * @property dragEventRefCount
+ * @type number
+ */
+ dragEventRefCount: null,
+
+ /**
+ * Tracks currently highlighted folder when dragging files
+ *
+ * @property dragFolderHighlight
+ * @type boolean
+ */
+ dragFolderHighlight: null,
+
+ /**
+ * Registered metadata renderers.
+ * Register new renderers via registerRenderer() or "registerRenderer" bubbling event
+ *
+ * @property renderers
+ * @type object
+ */
+ renderers: null,
+
+ /**
+ * Registered view renderers.
+ * Register new renderers via registerviewRenderer() or "registerViewRenderer" bubbling event
+ *
+ * @property viewRenderers
+ * @type array
+ */
+ viewRenderers: null,
+
+ /**
+ * Indicates whether or not the current user has permission to upload documents. This is initialised to
+ * false and will remain that way until it is updated by the _setupDataSource function.
+ *
+ * @property _userCanUpload
+ * @type boolean
+ * @default false
+ */
+ _userCanUpload: false,
+
+ /**
+ * Fired by YUI when parent element is available for scripting.
+ * Initial History Manager event registration
+ *
+ * @method onReady
+ */
+ onReady: function DL_onReady()
+ {
+ // Reference to self used by inline functions
+ var me = this;
+
+ // Detect whether or not HTML5 drag and drop is supported...
+ this.dragAndDropEnabled = this.dragAndDropAllowed && ('draggable' in document.createElement('span')) && YAHOO.env.ua.mobile === null;
+
+ // If the viewRenderer in the user preference is no longer available, use first available
+ // Also determine the index value of the selected viewRenderer from viewRendererNames
+ var isViewRendererAvailable = false;
+ var selectedViewRendererIndex = 1;
+ for (var i = 0, ii = this.options.viewRendererNames.length; i < ii; i++)
+ {
+ if (this.options.viewRendererNames[i] === this.options.viewRendererName)
+ {
+ isViewRendererAvailable = true;
+ selectedViewRendererIndex = i;
+ break;
+ }
+ }
+ if (!isViewRendererAvailable && this.options.viewRendererNames.length > 0)
+ {
+ this.options.viewRendererName = this.options.viewRendererNames[0];
+ }
+
+ // Set-up default metadata renderers
+ this._setupMetadataRenderers();
+
+ // Set-up YUI History Managers
+ this._setupHistoryManagers();
+
+ // Sort Direction button
+ this.widgets.sortAscending = Alfresco.util.createYUIButton(this, "sortAscending-button", this.onSortAscending);
+ if (this.widgets.sortAscending !== null)
+ {
+ this.widgets.sortAscending.set("title", this.msg(this.options.sortAscending ? "button.sort.descending" : "button.sort.ascending"));
+ if (!this.options.sortAscending)
+ {
+ Dom.addClass(this.widgets.sortAscending.get("element"), "sort-descending");
+ }
+ this.sortControls.push(this.widgets.sortAscending);
+ }
+
+ // Sort Field menu button
+ this.widgets.sortField = Alfresco.util.createYUIButton(this, "sortField-button", this.onSortField,
+ {
+ type: "menu",
+ menu: "sortField-menu",
+ lazyloadmenu: false
+ });
+ if (this.widgets.sortField !== null)
+ {
+ this.sortControls.push(this.widgets.sortField);
+
+ // Set the initial menu label
+ var menuItems = this.widgets.sortField.getMenu().getItems(),
+ index;
+
+ for (index in menuItems)
+ {
+ if (menuItems.hasOwnProperty(index))
+ {
+ if (menuItems[index].value === this.options.sortField)
+ {
+ this.widgets.sortField.set("label", menuItems[index].cfg.getProperty("text"));
+ break;
+ }
+ }
+ }
+ }
+
+ // Hide/Show Folders button
+ this.widgets.showFolders = Alfresco.util.createYUIButton(this, "showFolders-button", this.onShowFolders,
+ {
+ type: "checkbox",
+ checked: this.options.showFolders
+ });
+ if (this.widgets.showFolders !== null)
+ {
+ this.widgets.showFolders.set("title", this.msg(this.options.showFolders ? "button.folders.hide" : "button.folders.show"));
+ this.dynamicControls.push(this.widgets.showFolders);
+ }
+
+ // ViewRenderer Select List button, HTML id not renamed yet for backwards compatibility
+ this.widgets.viewRendererSelect = new YAHOO.widget.ButtonGroup(this.id + "-simpleDetailed");
+ if (this.widgets.viewRendererSelect !== null)
+ {
+ this.widgets.viewRendererSelect.check(selectedViewRendererIndex);
+ this.widgets.viewRendererSelect.on("checkedButtonChange", this.onViewRendererSelect, this.widgets.viewRendererSelect, this);
+ this.dynamicControls.push(this.widgets.viewRendererSelect);
+ }
+
+ // File Select menu button
+ this.widgets.fileSelect = Alfresco.util.createYUIButton(this, "fileSelect-button", this.onFileSelect,
+ {
+ type: "menu",
+ menu: "fileSelect-menu"
+ });
+ if (this.widgets.fileSelect !== null)
+ {
+ this.dynamicControls.push(this.widgets.fileSelect);
+ }
+
+ // Services
+ this.services.preferences = new Alfresco.service.Preferences();
+ this.services.likes = new Alfresco.service.Ratings(Alfresco.service.Ratings.LIKES);
+
+ // Set-up default view renderers
+ this._setupViewRenderers();
+
+ // DataSource set-up and event registration
+ this._setupDataSource();
+
+ // DataTable set-up and event registration
+ this._setupDataTable();
+
+ // Hook action events
+ var fnActionHandler = function DL_fnActionHandler(layer, args)
+ {
+ var owner = YAHOO.Bubbling.getOwnerByTagName(args[1].anchor, "div");
+ if (owner !== null)
+ {
+ if (typeof me[owner.id] === "function")
+ {
+ args[1].stop = true;
+ var elIdentifier = args[1].target;
+ if (typeof me.viewRenderers[me.options.viewRendererName] === "object")
+ {
+ elIdentifier = me.viewRenderers[me.options.viewRendererName].getDataTableRecordIdFromRowElement(me, args[1].target);
+ }
+ var record = me.widgets.dataTable.getRecord(elIdentifier).getData();
+ me[owner.id].call(me, record, owner);
+ }
+ }
+ return true;
+ };
+ YAHOO.Bubbling.addDefaultAction("action-link", fnActionHandler);
+ YAHOO.Bubbling.addDefaultAction("show-more", fnActionHandler);
+
+ // Hook like/unlike events
+ var fnLikesHandler = function DL_fnLikesHandler(layer, args)
+ {
+ var owner = YAHOO.Bubbling.getOwnerByTagName(args[1].anchor, "div");
+ if (owner !== null)
+ {
+ me.onLikes.call(me, args[1].target.offsetParent, owner);
+ }
+ return true;
+ };
+ YAHOO.Bubbling.addDefaultAction("like-action", fnLikesHandler);
+
+ // Hook favourite document/folder events
+ var fnFavouriteHandler = function DL_fnFavouriteHandler(layer, args)
+ {
+ var owner = YAHOO.Bubbling.getOwnerByTagName(args[1].anchor, "div");
+ if (owner !== null)
+ {
+ me.onFavourite.call(me, args[1].target.offsetParent, owner);
+ }
+ return true;
+ };
+ YAHOO.Bubbling.addDefaultAction("favourite-action", fnFavouriteHandler);
+
+ // Hook filter change events
+ var fnChangeFilterHandler = function DL_fnChangeFilterHandler(layer, args)
+ {
+ var owner = args[1].anchor;
+ if (owner !== null)
+ {
+ var filter = owner.rel,
+ filters,
+ filterObj = {};
+ if (filter && filter !== "")
+ {
+ args[1].stop = true;
+ filters = filter.split("|");
+ filterObj =
+ {
+ filterOwner: window.unescape(filters[0] || ""),
+ filterId: window.unescape(filters[1] || ""),
+ filterData: window.unescape(filters[2] || ""),
+ filterDisplay: window.unescape(filters[3] || "")
+ };
+ Alfresco.logger.debug("DL_fnChangeFilterHandler", "changeFilter =>", filterObj);
+ YAHOO.Bubbling.fire("changeFilter", filterObj);
+ }
+ }
+ return true;
+ };
+ YAHOO.Bubbling.addDefaultAction("filter-change", fnChangeFilterHandler);
+
+ // DocLib Actions module
+ this.modules.actions = new Alfresco.module.DoclibActions();
+
+ // Resize event handler - adjusts the filename container DIV to a size relative to the container width
+ Event.addListener(window, "resize", this._resizeRowContainers, this, true);
+
+ // Continue only when History Manager fires its onReady event
+ YAHOO.util.History.onReady(this.onHistoryManagerReady, this, true);
+
+ // Initialize the browser history management library
+ try
+ {
+ YAHOO.util.History.initialize("yui-history-field", "yui-history-iframe");
+ }
+ catch(e)
+ {
+ /*
+ * The only exception that gets thrown here is when the browser is
+ * not supported (Opera, or not A-grade)
+ */
+ Alfresco.logger.error(this.name + ": Couldn't initialize HistoryManager.", e);
+ this.onHistoryManagerReady();
+ }
+
+ YAHOO.Bubbling.fire("postDocumentListOnReady",
+ {
+ scope: this,
+ eventGroup: this.id
+ });
+ },
+
+ /**
+ * Insitu Editor callback function
+ *
+ * @method _insituCallback
+ * @protected
+ * @param response {object} AJAX response
+ * @param record {YAHOO.widget.Record} Record for the item being edited
+ */
+ _insituCallback: function DL__insituCallback(response, record)
+ {
+ // Reload the node's metadata
+ var jsNode = record.jsNode,
+ nodeRef = jsNode.nodeRef,
+ webscriptPath = "components/documentlibrary/data";
+ if ($isValueSet(this.options.siteId))
+ {
+ webscriptPath += "/site/" + encodeURIComponent(this.options.siteId)
+ }
+ Alfresco.util.Ajax.request(
+ {
+ url: Alfresco.constants.URL_SERVICECONTEXT + webscriptPath + "/node/" + nodeRef.uri +
+ "?filter=" + encodeURIComponent(this.currentFilter.filterId) +
+ "&view=" + this.actionsView + "&noCache=" + new Date().getTime(),
+ successCallback:
+ {
+ fn: function DL_insituCallback_refreshSuccess(response)
+ {
+ response.json.item.jsNode = new Alfresco.util.Node(response.json.item.node);
+ YAHOO.Bubbling.fire(jsNode.isContainer ? "folderRenamed" : "fileRenamed",
+ {
+ file: response.json.item
+ });
+ // Prevent hide call which briefly shows stale data
+ return false;
+ },
+ scope: this
+ },
+ failureCallback:
+ {
+ fn: function DL_insituCallback_refreshFailure(response)
+ {
+ // No-op for now
+ },
+ scope: this
+ }
+ });
+ },
+
+
+ /**
+ * DataTable Cell Renderers
+ */
+
+ /**
+ * Returns selector custom datacell formatter
+ *
+ * @method fnRenderCellSelected
+ */
+ fnRenderCellSelected: function DL_fnRenderCellSelected()
+ {
+ var scope = this;
+
+ /**
+ * Selector custom datacell formatter
+ *
+ * @method renderCellSelected
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ return function DL_renderCellSelected(elCell, oRecord, oColumn, oData)
+ {
+ if (typeof scope.viewRenderers[scope.options.viewRendererName] === "object")
+ {
+ scope.viewRenderers[scope.options.viewRendererName].renderCellSelected(scope, elCell, oRecord, oColumn, oData);
+ }
+ };
+ },
+
+ /**
+ * Returns status custom datacell formatter
+ *
+ * @method fnRenderCellStatus
+ */
+ fnRenderCellStatus: function DL_fnRenderCellStatus()
+ {
+ var scope = this;
+
+ /**
+ * Status custom datacell formatter
+ *
+ * @method renderCellStatus
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ return function DL_renderCellStatus(elCell, oRecord, oColumn, oData)
+ {
+ if (typeof scope.viewRenderers[scope.options.viewRendererName] === "object")
+ {
+ scope.viewRenderers[scope.options.viewRendererName].renderCellStatus(scope, elCell, oRecord, oColumn, oData);
+ }
+ };
+ },
+
+ /**
+ * Returns thumbnail custom datacell formatter
+ *
+ * @method fnRenderCellThumbnail
+ */
+ fnRenderCellThumbnail: function DL_fnRenderCellThumbnail()
+ {
+ var scope = this;
+
+ /**
+ * Thumbnail custom datacell formatter
+ *
+ * @method renderCellThumbnail
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ return function DL_renderCellThumbnail(elCell, oRecord, oColumn, oData)
+ {
+ if (typeof scope.viewRenderers[scope.options.viewRendererName] === "object")
+ {
+ scope.viewRenderers[scope.options.viewRendererName].renderCellThumbnail(scope, elCell, oRecord, oColumn, oData);
+ }
+ };
+ },
+
+ /**
+ * Returns description/detail custom datacell formatter
+ *
+ * @method fnRenderCellDescription
+ */
+ fnRenderCellDescription: function DL_fnRenderCellDescription()
+ {
+ var scope = this;
+
+ /**
+ * Description/detail custom datacell formatter
+ *
+ * @method renderCellDescription
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ return function DL_renderCellDescription(elCell, oRecord, oColumn, oData)
+ {
+ if (typeof scope.viewRenderers[scope.options.viewRendererName] === "object")
+ {
+ scope.viewRenderers[scope.options.viewRendererName].renderCellDescription(scope, elCell, oRecord, oColumn, oData);
+ }
+ };
+ },
+
+ /**
+ * Returns actions custom datacell formatter
+ *
+ * @method fnRenderCellActions
+ */
+ fnRenderCellActions: function DL_fnRenderCellActions()
+ {
+ var scope = this;
+
+ /**
+ * Actions custom datacell formatter
+ *
+ * @method renderCellActions
+ * @param elCell {object}
+ * @param oRecord {object}
+ * @param oColumn {object}
+ * @param oData {object|string}
+ */
+ return function DL_renderCellActions(elCell, oRecord, oColumn, oData)
+ {
+ if (typeof scope.viewRenderers[scope.options.viewRendererName] === "object")
+ {
+ scope.viewRenderers[scope.options.viewRendererName].renderCellActions(scope, elCell, oRecord, oColumn, oData);
+ }
+ };
+ },
+
+
+ /**
+ * Renders a node property value as best as it can using the rules described below:
+ *
+ * String - As is
+ * boolean - As is
+ * Number - As is
+ * Object - Will be inspected for the following attributes:
+ * - iso8601: Will format and render date using systems default format
+ * - displayName & username: Will render the displayName as a user profile link
+ * - displayName: Will render the displayName
+ * - title: Will render the title
+ * - name: Will render the name
+ * Array - Number of items in the array
+ *
+ * Note! This method should be used as a last resort when no specific property renderers have been registered
+ * for the property.
+ *
+ * @method renderProperty
+ * @param property
+ * return {String} html escaped string
+ */
+ renderProperty: function(property)
+ {
+ if (YAHOO.lang.isString(property))
+ {
+ return $html(property);
+ }
+ else if (YAHOO.lang.isArray(property))
+ {
+ return property.length;
+ }
+ else if (YAHOO.lang.isBoolean(property))
+ {
+ return property;
+ }
+ else if (YAHOO.lang.isNumber(property))
+ {
+ return property;
+ }
+ else if (YAHOO.lang.isObject(property))
+ {
+ if (property.hasOwnProperty("iso8601"))
+ {
+ return $date(property.iso8601);
+ }
+ else if (property.hasOwnProperty("userName") && property.hasOwnProperty("displayName"))
+ {
+ return Alfresco.util.userProfileLink(property.userName, property.displayName);
+ }
+ else if (property.hasOwnProperty("displayName"))
+ {
+ return $html(property.displayName || "");
+ }
+ else if (property.hasOwnProperty("title"))
+ {
+ return $html(property.title || "");
+ }
+ else if (property.hasOwnProperty("name"))
+ {
+ return $html(property.name || "");
+ }
+ }
+ return "";
+ },
+
+ /**
+ * Register a metadata renderer via Bubbling event
+ *
+ * @method onRegisterRenderer
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (property name, rendering function)
+ */
+ onRegisterRenderer: function DL_onRegisterRenderer(layer, args)
+ {
+ var obj = args[1];
+ if (obj && $isValueSet(obj.propertyName) && $isValueSet(obj.renderer))
+ {
+ this.registerRenderer(obj.propertyName, obj.renderer);
+ }
+ else
+ {
+ Alfresco.logger.error("DL_onRegisterRenderer: Custom renderer registion invalid: " + obj);
+ }
+ },
+
+ /**
+ * Register a view renderer via Bubbling event
+ *
+ * @method onRegisterViewRenderer
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (property name, rendering function)
+ */
+ onRegisterViewRenderer: function DL_onRegisterViewRenderer(layer, args)
+ {
+ var obj = args[1];
+ if (obj && $isValueSet(obj.renderer))
+ {
+ this.registerViewRenderer(obj.renderer);
+ }
+ else
+ {
+ Alfresco.logger.error("DL_onRegisterViewRenderer: Custom view renderer registion invalid: " + obj);
+ }
+ },
+
+ /**
+ * Register a metadata renderer
+ *
+ * @method registerRenderer
+ * @param propertyName {string} Property name to attach this renderer to
+ * @param renderer {function} Rendering function
+ * @return {boolean} Success status of registration
+ */
+ registerRenderer: function DL_registerRenderer(propertyName, renderer)
+ {
+ if ($isValueSet(propertyName) && $isValueSet(renderer))
+ {
+ this.renderers[propertyName] = renderer;
+ return true;
+ }
+ return false;
+ },
+
+ /**
+ * Register a view renderer and call its setupRenderer method
+ *
+ * @method registerViewRenderer
+ * @param renderer {object} Rendering object
+ * @return {boolean} Success status of registration
+ */
+ registerViewRenderer: function DL_registerViewRenderer(renderer)
+ {
+ if ($isValueSet(renderer))
+ {
+ this.viewRenderers[renderer.name] = renderer;
+ this.viewRenderers[renderer.name].setupRenderer(this);
+ return true;
+ }
+ return false;
+ },
+
+ /**
+ * Configure standard metadata renderers
+ *
+ * @method _setupMetadataRenderers
+ */
+ _setupMetadataRenderers: function DL__setupMetadataRenderers()
+ {
+ /**
+ *
+ */
+ this.registerRenderer("i18nLabel", function(record, label)
+ {
+ // Just return the label, removing the trailing ": "
+ return label.replace(/:\s$/, "");
+ });
+
+ /**
+ * Locked / Working Copy banner
+ */
+ this.registerRenderer("lockBanner", function(record, label)
+ {
+ var properties = record.jsNode.properties,
+ bannerUser = properties.lockOwner || properties.workingCopyOwner,
+ bannerLink = Alfresco.DocumentList.generateUserLink(this, bannerUser),
+ isContainer = record.jsNode.isContainer,
+ nodeTypePrefix = "details.banner.",
+ html = "";
+
+ if (isContainer)
+ {
+ nodeTypePrefix += "folder."
+ }
+
+ /* Google Docs Integration */
+ if (record.workingCopy && $isValueSet(record.workingCopy.googleDocUrl))
+ {
+ if (bannerUser.userName === Alfresco.constants.USERNAME)
+ {
+ html = this.msg(nodeTypePrefix + "google-docs-owner", '<a href="' + record.workingCopy.googleDocUrl + '" target="_blank">' + this.msg("details.banner.google-docs.link") + '</a>');
+ }
+ else
+ {
+ html = this.msg(nodeTypePrefix + "google-docs-locked", bannerLink, '<a href="' + record.workingCopy.googleDocUrl + '" target="_blank">' + this.msg("details.banner.google-docs.link") + '</a>');
+ }
+ }
+ /* Regular Working Copy handling */
+ else
+ {
+ if (record.workingCopy && bannerUser.userName === Alfresco.constants.USERNAME)
+ {
+ html = this.msg(nodeTypePrefix + (record.workingCopy.isWorkingCopy ? "editing" : "lock-owner"));
+ }
+ else
+ {
+ html = this.msg(nodeTypePrefix + "locked", bannerLink);
+ }
+ }
+ return html;
+ });
+
+ this.registerRenderer("syncFailed", function(record, label)
+ {
+ return '<span class="banner-more-info-link">' + this.msg("details.banner.more-info") + '</span>' + this.msg("details.banner.sync-failed");
+ });
+
+ this.registerRenderer("syncTransientError", function(record, label)
+ {
+ return '<span class="banner-more-info-link">' + this.msg("details.banner.more-info") + '</span>' + this.msg("details.banner.sync-transient-error");
+ });
+
+ /**
+ * Date
+ */
+ this.registerRenderer("date", function(record, label)
+ {
+ var jsNode = record.jsNode,
+ properties = jsNode.properties,
+ html = "";
+
+ var dateI18N = "modified", dateProperty = properties.modified.iso8601;
+ if (record.workingCopy && record.workingCopy.isWorkingCopy)
+ {
+ dateI18N = "editing-started";
+ }
+ else if (dateProperty === properties.created.iso8601)
+ {
+ dateI18N = "created";
+ }
+
+ html = '<span class="item">' + label + this.msg("details." + dateI18N + "-by", $relTime(dateProperty), Alfresco.DocumentList.generateUserLink(this, properties.modifier)) + '</span>';
+
+ return html;
+ });
+
+ /**
+ * File size
+ */
+ this.registerRenderer("size", function(record, label)
+ {
+ var jsNode = record.jsNode,
+ properties = jsNode.properties,
+ html = "";
+
+ if (!jsNode.isContainer && !jsNode.isLink)
+ {
+ html += '<span class="item">' + label + Alfresco.util.formatFileSize(jsNode.size) + '</span>';
+ }
+
+ return html;
+ });
+
+ /**
+ * Description
+ */
+ this.registerRenderer("description", function(record, label)
+ {
+ var jsNode = record.jsNode,
+ properties = jsNode.properties,
+ id = Alfresco.util.generateDomId(),
+ html = '<span id="' + id + '" class="faded">' + label + this.msg("details.description.none") + '</span>';
+
+ // Description non-blank?
+ if (properties.description && properties.description !== "")
+ {
+ html = '<span id="' + id + '" class="item">' + label + $links($html(properties.description)) + '</span>';
+ }
+
+ return html;
+ });
+
+ /**
+ * Tags
+ */
+ this.registerRenderer("tags", function(record, label)
+ {
+ var jsNode = record.jsNode,
+ properties = jsNode.properties,
+ id = Alfresco.util.generateDomId(),
+ html = "";
+
+ var tags = jsNode.tags, tag;
+ if (jsNode.hasAspect("cm:taggable") && tags.length > 0)
+ {
+ for (var i = 0, j = tags.length; i < j; i++)
+ {
+ tag = $html(tags[i]);
+ html += '<span class="tag"><a href="#" class="tag-link" rel="' + tag + '">' + tag + '</a></span>';
+ }
+ }
+ else
+ {
+ html += '<span class="faded">' + label + this.msg("details.tags.none") + '</span>';
+ }
+
+ if (jsNode.hasPermission("Write") && !jsNode.isLocked)
+ {
+ // Add the tags insitu editor
+ this.insituEditors.push(
+ {
+ context: id,
+ params:
+ {
+ type: "tagEditor",
+ nodeRef: jsNode.nodeRef.toString(),
+ name: "prop_cm_taggable",
+ value: record.node.properties["cm:taggable"],
+ validations: [
+ {
+ type: Alfresco.forms.validation.nodeName,
+ when: "keyup",
+ message: this.msg("validation-hint.nodeName")
+ }
+ ],
+ title: this.msg("tip.insitu-tag"),
+ errorMessage: this.msg("message.insitu-edit.tag.failure")
+ },
+ callback:
+ {
+ fn: this._insituCallback,
+ scope: this,
+ obj: record
+ }
+ });
+ }
+
+ return '<span id="' + id + '" class="item">' + label + html + '</span>';
+ });
+
+ /**
+ * Categories
+ */
+ this.registerRenderer("categories", function(record, label)
+ {
+ var jsNode = record.jsNode,
+ properties = jsNode.properties,
+ html = "";
+
+ if (jsNode.hasAspect("cm:generalclassifiable"))
+ {
+ var categories = jsNode.categories, category;
+ html += '<span class="category-item item"> </span><span class="item">' + label;
+ if (categories.length > 0)
+ {
+ for (var i = 0, j = categories.length; i < j; i++)
+ {
+ category = categories[i];
+ html += '<span class="category"><a href="#" class="filter-change" rel="' + Alfresco.DocumentList.generateCategoryMarkup(category) + '">' + $html(category[0]) + '</a></span>' + (j - i > 1 ? ", " : "");
+ }
+ }
+ else
+ {
+ html += '<span class="faded">' + label + this.msg("details.categories.none") + '</span>';
+ }
+ html += '</span>';
+ }
+
+ return html;
+ });
+
+ /**
+ * Social
+ */
+ this.registerRenderer("social", function(record)
+ {
+ var jsNode = record.jsNode,
+ html = "";
+
+ /* Favourite / Likes / Comments */
+ html += '<span class="item item-social">' + Alfresco.DocumentList.generateFavourite(this, record) + '</span>';
+ html += '<span class="item item-social item-separator">' + Alfresco.DocumentList.generateLikes(this, record) + '</span>';
+ if (jsNode.permissions.user.CreateChildren)
+ {
+ html += '<span class="item item-social item-separator">' + Alfresco.DocumentList.generateComments(this, record) + '</span>';
+ }
+ if (!record.node.isContainer)
+ {
+ html += '<span class="item item-social item-separator">' + Alfresco.DocumentList.generateQuickShare(this, record) + '</span>';
+ }
+
+ return html;
+ });
+ },
+
+ /**
+ * Configure standard view renderers
+ *
+ * @method _setupViewRenderers
+ */
+ _setupViewRenderers: function DL__setupViewRenderers()
+ {
+ this.registerViewRenderer(new Alfresco.DocumentListSimpleViewRenderer("simple"));
+ this.registerViewRenderer(new Alfresco.DocumentListViewRenderer("detailed"));
+ var prefs = this.services.preferences.get();
+ var numGalleryColumns = Alfresco.util.findValueByDotNotation(prefs, PREF_GALLERY_COLUMNS, null);
+ this.registerViewRenderer(new Alfresco.DocumentListGalleryViewRenderer("gallery", numGalleryColumns));
+
+ YAHOO.Bubbling.fire("postSetupViewRenderers",
+ {
+ scope: this,
+ eventGroup: this.id
+ });
+ },
+
+ /**
+ * History Manager set-up and event registration
+ *
+ * @method _setupHistoryManagers
+ */
+ _setupHistoryManagers: function DL__setupHistoryManagers()
+ {
+ /**
+ * YUI History - filter
+ */
+ var bookmarkedFilter = YAHOO.util.History.getBookmarkedState("filter");
+ bookmarkedFilter = bookmarkedFilter || "path|/";
+
+ try
+ {
+ while (bookmarkedFilter !== (bookmarkedFilter = decodeURIComponent(bookmarkedFilter))){}
+ }
+ catch (e)
+ {
+ // Catch "malformed URI sequence" exception
+ }
+
+ var fnDecodeBookmarkedFilter = function DL_fnDecodeBookmarkedFilter(strFilter)
+ {
+ var filters = strFilter.split("|"),
+ filterObj =
+ {
+ filterId: window.unescape(filters[0] || "")
+ };
+
+ if (typeof filters[1] !== "undefined")
+ {
+ filterObj.filterData = window.unescape(filters[1]);
+ }
+ if (typeof filters[2] !== "undefined")
+ {
+ filterObj.filterDisplay = window.unescape(filters[2]);
+ }
+ filterObj.filterOwner = Alfresco.util.FilterManager.getOwner(filterObj.filterId);
+ return filterObj;
+ };
+
+ this.options.initialFilter = fnDecodeBookmarkedFilter(bookmarkedFilter);
+
+ // Register History Manager filter update callback
+ YAHOO.util.History.register("filter", bookmarkedFilter, function DL_onHistoryManagerFilterChanged(newFilter)
+ {
+ Alfresco.logger.debug("HistoryManager: filter changed:" + newFilter);
+ // Firefox fix
+ if (YAHOO.env.ua.gecko > 0)
+ {
+ newFilter = window.unescape(newFilter);
+ Alfresco.logger.debug("HistoryManager: filter (after Firefox fix):" + newFilter);
+ }
+
+ this._updateDocList.call(this,
+ {
+ filter: fnDecodeBookmarkedFilter(newFilter),
+ page: this.currentPage
+ });
+ }, null, this);
+
+
+ /**
+ * YUI History - page
+ */
+ var handlePagination = function DL_handlePagination(state, me)
+ {
+ me.widgets.paginator.setState(state);
+ YAHOO.util.History.navigate("page", String(state.page));
+ };
+
+ if (this.options.usePagination)
+ {
+ var bookmarkedPage = YAHOO.util.History.getBookmarkedState("page") || "1";
+ while (bookmarkedPage !== (bookmarkedPage = decodeURIComponent(bookmarkedPage))){}
+ this.currentPage = parseInt(bookmarkedPage || this.options.initialPage, 10);
+
+ // Register History Manager page update callback
+ YAHOO.util.History.register("page", bookmarkedPage, function DL_onHistoryManagerPageChanged(newPage)
+ {
+ Alfresco.logger.debug("HistoryManager: page changed:" + newPage);
+ // Update the DocList
+ if (this.currentPage != newPage)
+ {
+ this._updateDocList.call(this,
+ {
+ page: newPage
+ });
+ }
+ else
+ {
+ Alfresco.logger.debug("...page changed event ignored.");
+ }
+ }, null, this);
+
+ // YUI Paginator definition
+ this.widgets.paginator = new YAHOO.widget.Paginator(
+ {
+ containers: [this.id + "-paginator", this.id + "-paginatorBottom"],
+ rowsPerPage: this.options.pageSize,
+ initialPage: this.currentPage,
+ template: this.msg("pagination.template"),
+ pageReportTemplate: this.msg("pagination.template.page-report"),
+ previousPageLinkLabel: this.msg("pagination.previousPageLinkLabel"),
+ nextPageLinkLabel: this.msg("pagination.nextPageLinkLabel")
+ });
+
+ this.widgets.paginator.subscribe("changeRequest", handlePagination, this);
+
+ // Display the bottom paginator bar
+ Dom.setStyle(this.id + "-doclistBarBottom", "display", "block");
+ }
+ },
+
+ /**
+ * DataSource set-up and event registration
+ *
+ * @method _setupDataSource
+ * @protected
+ */
+ _setupDataSource: function DL__setupDataSource()
+ {
+ var me = this;
+
+ // DataSource definition
+ this.widgets.dataSource = new YAHOO.util.DataSource(this.dataSourceUrl,
+ {
+ responseType: YAHOO.util.DataSource.TYPE_JSON,
+ responseSchema:
+ {
+ resultsList: "items",
+ metaFields:
+ {
+ paginationRecordOffset: "startIndex",
+ totalRecords: "totalRecords",
+ totalRecordsUpper : "totalRecordsUpper" // if null then totalRecords is accurate else totalRecords is lower estimate (if -1 upper estimate is unknown)
+ }
+ }
+ });
+
+ // Intercept data returned from data webscript to extract custom metadata
+ this.widgets.dataSource.doBeforeCallback = function DL_doBeforeCallback(oRequest, oFullResponse, oParsedResponse)
+ {
+ me.doclistMetadata = oFullResponse.metadata;
+
+ // Fire event with parent metadata
+ YAHOO.Bubbling.fire("doclistMetadata",
+ {
+ metadata: me.doclistMetadata
+ });
+
+ // Check for parent node - won't be one for multi-parent queries (e.g. tags)
+ var permissions = null;
+ if (me.doclistMetadata.parent)
+ {
+ permissions = me.doclistMetadata.parent.permissions;
+ if (permissions && permissions.user)
+ {
+ // Container userAccess event
+ YAHOO.Bubbling.fire("userAccess",
+ {
+ userAccess: permissions.user
+ });
+ }
+ }
+
+ if (typeof me.viewRenderers[me.options.viewRendererName] === "object")
+ {
+ me.viewRenderers[me.options.viewRendererName].renderEmptyDataSourceHtml(me, permissions);
+ }
+
+ return oParsedResponse;
+ };
+ },
+
+ /**
+ * DataTable set-up and event registration
+ *
+ * @method _setupDataTable
+ * @protected
+ */
+ _setupDataTable: function DL__setupDataTable()
+ {
+ var me = this;
+
+ // DataTable column defintions
+ var fpanel = Dom.get("alf-filters"),
+ offset = (fpanel ? parseInt(fpanel.style.width, 10) : 160) + 390;
+ var columnDefinitions =
+ [
+ { key: "nodeRef", label: "Select", sortable: false, formatter: this.fnRenderCellSelected(), width: 16 },
+ { key: "status", label: "Status", sortable: false, formatter: this.fnRenderCellStatus(), width: 16 },
+ { key: "thumbnail", label: "Preview", sortable: false, formatter: this.fnRenderCellThumbnail(), width: 100 },
+ { key: "fileName", label: "Description", sortable: false, formatter: this.fnRenderCellDescription(), width: (Dom.getViewportWidth() - offset) },
+ { key: "actions", label: "Actions", sortable: false, formatter: this.fnRenderCellActions(), width: 200 }
+ ];
+
+ // DataTable definition
+ this.widgets.dataTable = new YAHOO.widget.DataTable(this.id + "-documents", columnDefinitions, this.widgets.dataSource,
+ {
+ renderLoopSize: this.options.usePagination ? 16 : Alfresco.util.RENDERLOOPSIZE,
+ initialLoad: false,
+ dynamicData: true,
+ MSG_EMPTY: this.msg("message.loading")
+ });
+
+ // Update totalRecords on the fly with value from server
+ this.widgets.dataTable.handleDataReturnPayload = function DL_handleDataReturnPayload(oRequest, oResponse, oPayload)
+ {
+ me.totalRecords = oResponse.meta.totalRecords;
+ me.totalRecordsUpper = oResponse.meta.totalRecordsUpper;
+ return oResponse.meta;
+ };
+
+ // Custom error messages
+ this._setDefaultDataTableErrors(this.widgets.dataTable);
+
+ // Hook tableMsgShowEvent to clear out fixed-pixel width on <table> element (breaks resizer)
+ this.widgets.dataTable.subscribe("tableMsgShowEvent", function(oArgs)
+ {
+ // NOTE: Scope needs to be DataTable
+ this._elMsgTbody.parentNode.style.width = "";
+
+ // Check to see whether or not the message is the HTML5 drag and drop instructions. This
+ // will be set if there are no documents or folders in the displayed location. If the HTML5
+ // drag and drop instructions are shown then we want to attach events to the "upload" and
+ // "share" images...
+ if (oArgs.html && oArgs.html.indexOf("docListInstructions") !== -1)
+ {
+ var toolbar = Alfresco.util.ComponentManager.findFirst("Alfresco.DocListToolbar");
+ if (toolbar !== null)
+ {
+ // This code is reliant upon the template in documentlist.lib.ftl not being changed.
+ // It allows us to attach events to the image and anchor, but not the remaining text.
+ var standardUpload = Dom.get(me.id + "-standard-upload-link-template-instance");
+ if (standardUpload !== null)
+ {
+ var standardUploadChildren = Dom.getChildren(standardUpload);
+ Event.addListener(standardUploadChildren[0], "click", toolbar.onFileUpload, toolbar, true);
+ Event.addListener(Dom.getFirstChild(standardUploadChildren[1]), "click", toolbar.onFileUpload, toolbar, true);
+ }
+ var newFolder = Dom.get(me.id + "-new-folder-link-template-instance");
+ if (newFolder !== null)
+ {
+ var newFolderChildren = Dom.getChildren(newFolder);
+ Event.addListener(newFolderChildren[0], "click", toolbar.onNewFolder, toolbar, true);
+ Event.addListener(Dom.getFirstChild(newFolderChildren[1]), "click", toolbar.onNewFolder, toolbar, true);
+ }
+ }
+
+ // See if the document list contains instructions on showing hidden sub-folders and if
+ // it does, attach the appropriate events to the relevant nodes...
+ var showFolders = Dom.get(me.id + "-show-folders-template-instance");
+ if (showFolders !== null)
+ {
+ var showFoldersFunc = function fnShowFolders()
+ {
+ this.widgets.showFolders.set("checked", true);
+ };
+ var showFoldersChildren = Dom.getChildren(showFolders);
+ Event.addListener(showFoldersChildren[0], "click", showFoldersFunc, me, true);
+ Event.addListener(showFoldersChildren[1], "click", showFoldersFunc, me, true);
+ }
+ }
+ });
+
+ // Override abstract function within DataTable to set custom error message
+ this.widgets.dataTable.doBeforeLoadData = function DL_doBeforeLoadData(sRequest, oResponse, oPayload)
+ {
+ if (oResponse.error)
+ {
+ try
+ {
+ var response = YAHOO.lang.JSON.parse(oResponse.responseText);
+ me.widgets.dataTable.set("MSG_ERROR", response.message);
+ }
+ catch(e)
+ {
+ me._setDefaultDataTableErrors(me.widgets.dataTable);
+ }
+ }
+ else if (oResponse.results.length === 0)
+ {
+ // We don't get an renderEvent for an empty recordSet, but we'd like one anyway
+ this.fireEvent("renderEvent",
+ {
+ type: "renderEvent"
+ });
+ }
+ else
+ {
+ // Add an Alfresco.util.Node instance to each result
+ for (var i = 0, ii = oResponse.results.length; i < ii; i++)
+ {
+ oResponse.results[i].jsNode = new Alfresco.util.Node(oResponse.results[i].node);
+ }
+ }
+
+ // Must return true to have the "Loading..." message replaced by the error message
+ return true;
+ };
+
+ // File checked handler
+ this.widgets.dataTable.subscribe("checkboxClickEvent", function DL_checkboxClickEvent(e)
+ {
+ var id = e.target.value;
+ this.selectedFiles[id] = e.target.checked;
+ YAHOO.Bubbling.fire("selectedFilesChanged");
+ }, this, true);
+
+ // Rendering complete event handler
+ this.widgets.dataTable.subscribe("renderEvent", function DL_renderEvent()
+ {
+ Alfresco.logger.debug("DataTable renderEvent");
+
+ // IE6 fix for long filename rendering issue
+ if (0 < YAHOO.env.ua.ie && YAHOO.env.ua.ie < 7)
+ {
+ var ie6fix = this.widgets.dataTable.getTableEl().parentNode;
+ //noinspection SillyAssignmentJS
+ ie6fix.className = ie6fix.className;
+ }
+
+ // Update the paginator if it's been created
+ if (this.widgets.paginator)
+ {
+ Alfresco.logger.debug("Setting paginator state: page=" + this.currentPage + ", totalRecords=" + this.totalRecords);
+
+ this.widgets.paginator.setState(
+ {
+ page: this.currentPage,
+ totalRecords: this.totalRecords
+ });
+
+ if (this.totalRecordsUpper)
+ {
+ this.widgets.paginator.set("pageReportTemplate", this.msg("pagination.template.page-report.more"));
+ }
+ else
+ {
+ this.widgets.paginator.set("pageReportTemplate", this.msg("pagination.template.page-report"));
+ }
+
+ this.widgets.paginator.render();
+ }
+
+ // Need to highlight a file now the data is available?
+ if (this.options.highlightFile)
+ {
+ YAHOO.Bubbling.fire("highlightFile",
+ {
+ fileName: window.unescape(this.options.highlightFile)
+ });
+ }
+ else if (this.listUpdated)
+ {
+ // Scroll up (only) to the top of the documents
+ var yPos = Dom.getY(this.id + "-documents"),
+ yScroll = YAHOO.env.ua.ie > 0 ? ((document.compatMode && document.compatMode !== "BackCompat") ? document.documentElement : document.body).scrollTop : window.scrollY;
+
+ if (yScroll > yPos)
+ {
+ window.scrollTo(0, yPos);
+ }
+ }
+
+ // Deferred functions specified?
+ var i, j;
+ for (i = 0, j = this.afterDocListUpdate.length; i < j; i++)
+ {
+ this.afterDocListUpdate[i].call(this);
+ }
+ this.afterDocListUpdate = [];
+
+ // Register preview tooltips
+ if (typeof this.widgets.previewTooltip !== "undefined")
+ {
+ this.widgets.previewTooltip.cfg.setProperty("context", this.previewTooltips);
+ }
+
+ // Register insitu editors
+ var iEd;
+ for (i = 0, j = this.insituEditors.length; i < j; i++)
+ {
+ iEd = this.insituEditors[i];
+ Alfresco.util.createInsituEditor(iEd.context, iEd.params, iEd.callback);
+ }
+
+ this.widgets.dataTable.set("renderLoopSize", this.options.usePagination ? 16 : Alfresco.util.RENDERLOOPSIZE);
+ }, this, true);
+
+ // Enable row highlighting
+ this.widgets.dataTable.subscribe("rowMouseoverEvent", this.onEventHighlightRow, this, true);
+ this.widgets.dataTable.subscribe("rowMouseoutEvent", this.onEventUnhighlightRow, this, true);
+
+ // Enable actions on indicators
+ Event.delegate(this.id, "click", function DL__setupDataTable_onIndicatorAction(event, target)
+ {
+ var action = target.getAttribute("data-action"),
+ record = me.widgets.dataTable.getRecord(target).getData();
+
+ // Look for method in Alfresco.DocumentList or Global scopes & call it with the record as the only param
+ if (YAHOO.lang.isFunction(me[action]))
+ {
+ me[action].call(me, record, target);
+ } else if (YAHOO.lang.isFunction(window[action]))
+ {
+ window[action](record, target);
+ }
+ }, "a.indicator-action");
+
+ // Feature detection for drag and drop support (by not attempting to attach the drag events
+ // to anything we can prevent attempted uploads happening - this is particularly important
+ // with IE8 which would otherwise render the highlights, but not process the upload).
+ if (this.dragAndDropEnabled)
+ {
+ // Disable drop for the document body (we're then going to do a specific override on the DocumentList nodes)
+ Event.addListener(document.body, "dragenter", this._swallowDragEnter, this, true);
+ Event.addListener(document.body, "dragover", this._swallowDragOver, this, true);
+ Event.addListener(document.body, "drop", this._swallowDragDrop, this, true);
+ Event.addListener(document.body, "dragstart", this._swallowDragStart, this, true);
+ }
+ },
+
+ /**
+ * Removes HTML5 drag and drop listeners from the document list.
+ *
+ * @method _removeDragAndDrop
+ */
+ _removeDragAndDrop: function DL__removeDragAndDrop()
+ {
+ if (this.dragAndDropEnabled)
+ {
+ // Make the entire DocumentList available for dropping files for uploading onto.
+ try
+ {
+ // Add listeners to the HTML5 drag and drop events fired from the entire doc list
+ var doclist = Dom.get(this.id + "-body");
+ Event.removeListener(doclist, "dragenter");
+ Event.removeListener(doclist, "dragover");
+ Event.removeListener(doclist, "dragleave");
+ Event.removeListener(doclist, "drop");
+ }
+ catch(exception)
+ {
+ Alfresco.logger.error("_removeDragAndDrop: The following exception occurred: ", exception);
+ }
+ }
+ },
+
+ /**
+ * Adds HTML5 drag and drop listeners to the document list.
+ *
+ * @method _addDragAndDrop
+ */
+ _addDragAndDrop: function DL__addDragAndDrop()
+ {
+ if (this._userCanUpload && this.dragAndDropEnabled)
+ {
+ // Make the entire DocumentList available for dropping files for uploading onto.
+ try
+ {
+ // Add listeners to the HTML5 drag and drop events fired from the entire doc list
+ var doclist = Dom.get(this.id + "-body");
+ Event.addListener(doclist, "dragenter", this.onDocumentListDragEnter, this, true);
+ Event.addListener(doclist, "dragover", this.onDocumentListDragOver, this, true);
+ Event.addListener(doclist, "dragleave", this.onDocumentListDragLeave, this, true);
+ Event.addListener(doclist, "drop", this.onDocumentListDrop, this, true);
+ }
+ catch(exception)
+ {
+ Alfresco.logger.error("_addDragAndDrop: The following exception occurred: ", exception);
+ }
+ }
+ },
+
+ /**
+ * Fired when an object starts getting dragged. The event is swallowed because we only want to
+ * allow drag and drop events that begin outside the browser window (e.g. for files). This prevents
+ * users attempting to drag and drop the document and folder images as if they could re-arrange
+ * the document lib structure.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method _swallowDragStart
+ */
+ _swallowDragStart: function DL__swallowDragStart(e)
+ {
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dragged onto any node in the document body (unless the node has
+ * been explicitly overridden to invoke another function). Swallows the event.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method _swallowDragEnter
+ */
+ _swallowDragEnter: function DL__swallowDragEnter(e)
+ {
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dragged over any node in the document body (unless the node has
+ * been explicitly overridden to invoke another function). Updates the drag behaviour to
+ * indicate that drops are not allowed and then swallows the event.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method _swallowDragOver
+ */
+ _swallowDragOver: function DL__swallowDragOver(e)
+ {
+ e.dataTransfer.dropEffect = "none";
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dropped onto any node in the document body (unless the node has
+ * been explicitly overridden to invoke another function). Swallows the event to prevent
+ * default browser behaviour (i.e. attempting to open the file).
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method _swallowDrop
+ */
+ _swallowDrop: function DL__swallowDrop(e)
+ {
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dragged into the DocumentList DOM element and then again when dragged into a Folder
+ * icon image DOM element.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method onDocumentListDragEnter
+ */
+ onDocumentListDragEnter: function DL_onDocumentListDragEnter(e)
+ {
+ // Providing that the drop target a <TR> (or a child node of a <TR>) in the DocumentList data table then a record
+ // will be returned from this call. If nothing is returned then we cannot proceed with the file upload operation.
+ var el = e.target,
+ oRecord = this.widgets.dataTable.getRecord(el),
+ column = this.widgets.dataTable.getColumn(el),
+ containerEl = this.widgets.dataTable.getContainerEl(),
+ node;
+
+ if (oRecord && column && (el.tagName == "IMG" || el.className == "droppable") && column.getKey() == "thumbnail")
+ {
+ node = oRecord.getData("jsNode");
+ if (node && node.isContainer)
+ {
+ this.dragFolderHighlight = Dom.getAncestorByClassName(el, "folder");
+ Dom.addClass(this.dragFolderHighlight, "dndFolderHighlight");
+ Dom.removeClass(containerEl, "dndDocListHighlight");
+ }
+ }
+ else
+ {
+ // Firefox is a bit buggy with it's enter/leave event matching
+ this.dragEventRefCount = Math.min(++this.dragEventRefCount, 2);
+ Dom.addClass(containerEl, "dndDocListHighlight");
+ if (this.dragFolderHighlight)
+ {
+ Dom.removeClass(this.dragFolderHighlight, "dndFolderHighlight");
+ this.dragFolderHighlight = null;
+ }
+ }
+
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dragged into the DocumentList DOM element and then again when dragged into a Folder
+ * icon image DOM element.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method onDocumentListDragOver
+ */
+ onDocumentListDragOver: function DL_onDocumentListDragOver(e)
+ {
+ // Firefox 3.6 set effectAllowed = "move" for files, however the "copy" effect is more accurate for uploads
+ e.dataTransfer.dropEffect = Math.floor(YAHOO.env.ua.gecko) === 1 ? "move" : "copy";
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dragged out of the DocumentList DOM element or the Folder icon image DOM element.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method onDocumentListDragLeave
+ */
+ onDocumentListDragLeave: function DL_onDocumentListDragLeave(e)
+ {
+ // Providing that the drop target a <TR> (or a child node of a <TR>) in the DocumentList data table then a record
+ // will be returned from this call. If nothing is returned then we cannot proceed with the file upload operation.
+ var el = e.target,
+ oRecord = this.widgets.dataTable.getRecord(el),
+ oColumn = this.widgets.dataTable.getColumn(el),
+ record = oRecord ? oRecord.getData() : null;
+
+ if (oRecord && oColumn && (el.tagName == "IMG" || el.className == "droppable") && record.node.isContainer && oColumn.getKey() == "thumbnail")
+ {
+ // Ignore the folder dragLeave event
+ }
+ else
+ {
+ if (--this.dragEventRefCount === 0)
+ {
+ Dom.removeClass(this.widgets.dataTable.getContainerEl(), "dndDocListHighlight");
+ }
+ }
+
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired when an object is dropped onto the DocumentList DOM element.
+ * Checks that files are present for upload, determines the target (either the current document list or
+ * a specific folder rendered in the document list and then calls on the DNDUpload singleton component
+ * to perform the upload.
+ *
+ * @param e {object} HTML5 drag and drop event
+ * @method onDocumentListDrop
+ */
+ onDocumentListDrop: function DL_onDocumentListDrop(e)
+ {
+ try
+ {
+ // Only perform a file upload if the user has *actually* dropped some files!
+ if (e.dataTransfer.files !== undefined && e.dataTransfer.files !== null && e.dataTransfer.files.length > 0)
+ {
+ // We need to get the upload progress dialog widget so that we can display it.
+ // The function called has been added to file-upload.js and ensures the dialog is a singleton.
+ var progressDialog = Alfresco.getDNDUploadProgressInstance();
+
+ var continueWithUpload = false;
+
+ // Check that at least one file with some data has been dropped...
+ var zeroByteFiles = "", i, j;
+
+ j = e.dataTransfer.files.length;
+ for (i = 0; i < j; i++)
+ {
+ if (e.dataTransfer.files[i].size > 0)
+ {
+ continueWithUpload = true;
+ }
+ else
+ {
+ zeroByteFiles += '"' + e.dataTransfer.files[i].fileName + '", ';
+ }
+ }
+
+ if (!continueWithUpload)
+ {
+ zeroByteFiles = zeroByteFiles.substring(0, zeroByteFiles.lastIndexOf(", "));
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: progressDialog.msg("message.zeroByteFiles", zeroByteFiles)
+ });
+ }
+
+ // Perform some checks on based on the browser and selected files to ensure that we will
+ // support the upload request.
+ if (continueWithUpload && progressDialog.uploadMethod === progressDialog.INMEMORY_UPLOAD)
+ {
+ // Add up the total size of all selected files to see if they exceed the maximum allowed.
+ // If the user has requested to upload too large a file or too many files in one operation
+ // then generate an error dialog and abort the upload...
+ var totalRequestedUploadSize = 0;
+
+ j = e.dataTransfer.files.length;
+ for (i = 0; i < j; i++)
+ {
+ totalRequestedUploadSize += e.dataTransfer.files[i].size;
+ }
+ if (totalRequestedUploadSize > progressDialog.getInMemoryLimit())
+ {
+ continueWithUpload = false;
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ text: progressDialog.msg("inmemory.uploadsize.exceeded", Alfresco.util.formatFileSize(progressDialog.getInMemoryLimit()))
+ });
+ }
+ }
+
+ // If all tests are passed...
+ if (continueWithUpload)
+ {
+ // Initialise the target directory as the current path represented by the current rendering of the DocumentList.
+ // If we determine that the user has actually dropped some files onto the a folder icon (which we're about to check
+ // for) then we'll change this value to be that of the folder targeted...
+ var directory = this.currentPath,
+ directoryName = directory.substring(directory.lastIndexOf("/") + 1),
+ destination = this.doclistMetadata.parent ? this.doclistMetadata.parent.nodeRef : null;
+
+ // Providing that the drop target a <TR> (or a child node of a <TR>) in the DocumentList data table then a record
+ // will be returned from this call. If nothing is returned then we cannot proceed with the file upload operation.
+ var oRecord = this.widgets.dataTable.getRecord(e.target);
+ if (oRecord !== null)
+ {
+ // Dropped onto a folder icon?
+ var oColumn = this.widgets.dataTable.getColumn(e.target),
+ record = oRecord.getData();
+
+ if (oRecord && oColumn && e.target.tagName == "IMG" && record.node.isContainer && oColumn.getKey() == "thumbnail")
+ {
+ var location = record.location;
+ directoryName = location.file;
+ // Site mode
+ directory = $combine(location.path, location.file);
+ // Repository mode
+ destination = record.nodeRef;
+ }
+ // else: The file(s) were not not dropped onto a folder icon, so we will just upload to the current path
+ }
+ // else: If a record is not returned, then it means that we dropped into an empty folder.
+
+ // Remove all the highlighting
+ Dom.removeClass(this.widgets.dataTable.getTrEl(e.target), "dndFolderHighlight");
+ Dom.removeClass(this.widgets.dataTable.getContainerEl(), "dndDocListHighlight");
+
+ // Show uploader for multiple files
+ var multiUploadConfig =
+ {
+ files: e.dataTransfer.files,
+ uploadDirectoryName: directoryName,
+ filter: [],
+ mode: progressDialog.MODE_MULTI_UPLOAD,
+ thumbnails: "doclib",
+ onFileUploadComplete:
+ {
+ fn: this.onFileUploadComplete,
+ scope: this
+ }
+ };
+
+ // Extra parameters depending on current mode
+ if ($isValueSet(this.options.siteId))
+ {
+ multiUploadConfig.siteId = this.options.siteId;
+ multiUploadConfig.containerId = this.options.containerId;
+ multiUploadConfig.uploadDirectory = directory;
+ }
+ else
+ {
+ multiUploadConfig.destination = destination;
+ }
+
+ progressDialog.show(multiUploadConfig);
+ }
+ }
+ else
+ {
+ Alfresco.logger.debug("DL_onDocumentListDrop: A drop event was detected, but no files were present for upload: ", e.dataTransfer);
+ }
+ }
+ catch(exception)
+ {
+ Alfresco.logger.error("DL_onDocumentListDrop: The following error occurred when files were dropped onto the Document List: ", exception);
+ }
+ e.stopPropagation();
+ e.preventDefault();
+ },
+
+ /**
+ * Fired by YUI when History Manager is initialised and available for scripting.
+ * Component initialisation, including instantiation of YUI widgets and event listener binding.
+ *
+ * @method onHistoryManagerReady
+ */
+ onHistoryManagerReady: function DL_onHistoryManagerReady()
+ {
+ // Check whether to show upload dialog after initial load. Suppressed if HTML5 drag-and-drop is available.
+ if (this.options.initialFilter.filterId === "path" && window.location.hash == "#upload")
+ {
+ window.location.hash = "";
+ var fnAfterUpdate = function DL_onHistoryManagerReady_afterUpdate()
+ {
+ YAHOO.Bubbling.fire("showFileUploadDialog",
+ {
+ tooltip: this.msg("dnd.upload.tooltip")
+ });
+ };
+ this.afterDocListUpdate.push(fnAfterUpdate);
+ }
+
+ // Fire changeFilter event for first-time population
+ Alfresco.logger.debug("DL_onHistoryManagerReady", "changeFilter =>", this.options.initialFilter);
+ YAHOO.Bubbling.fire("changeFilter", YAHOO.lang.merge(
+ {
+ doclistFirstTimeNav: true
+ }, this.options.initialFilter));
+
+ // Finally show the component body here to prevent UI artifacts on YUI button decoration
+ Dom.setStyle(this.id + "-body", "visibility", "visible");
+ },
+
+ /**
+ * Public functions
+ *
+ * Functions designed to be called form external sources
+ */
+
+ /**
+ * Public function to get array of selected files
+ *
+ * @method getSelectedFiles
+ * @return {Array} Currently selected files
+ */
+ getSelectedFiles: function DL_getSelectedFiles()
+ {
+ var files = [],
+ oRecordSet = this.widgets.dataTable.getRecordSet(),
+ oRecord, node, i, j;
+
+ for (i = 0, j = oRecordSet.getLength(); i < j; i++)
+ {
+ oRecord = oRecordSet.getRecord(i);
+ node = oRecord.getData("node");
+ if (this.selectedFiles[node.nodeRef])
+ {
+ files.push(oRecord.getData());
+ }
+ }
+
+ return files;
+ },
+
+ /**
+ * Public function to select files by specified groups
+ *
+ * @method selectFiles
+ * @param p_selectType {string} Can be one of the following:
+ * <pre>
+ * selectAll - all documents and folders
+ * selectNone - deselect all
+ * selectInvert - invert selection
+ * selectDocuments - select all documents
+ * selectFolders - select all folders
+ * </pre>
+ */
+ selectFiles: function DL_selectFiles(p_selectType)
+ {
+ var containerElement;
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ containerElement = Dom.get(this.id + this.viewRenderers[this.options.viewRendererName].parentElementIdSuffix);
+ }
+ var oRecordSet = this.widgets.dataTable.getRecordSet(),
+ checks = YAHOO.util.Selector.query('input[type="checkbox"]', containerElement),
+ len = checks.length,
+ oRecord, record, i, fnCheck;
+
+ switch (p_selectType)
+ {
+ case "selectAll":
+ fnCheck = function chkSelectAll(record, isChecked)
+ {
+ return true;
+ };
+ break;
+
+ case "selectNone":
+ fnCheck = function chkSelectNone(record, isChecked)
+ {
+ return false;
+ };
+ break;
+
+ case "selectInvert":
+ fnCheck = function chkSelectInvert(record, isChecked)
+ {
+ return !isChecked;
+ };
+ break;
+
+ case "selectDocuments":
+ fnCheck = function chkSelectDocuments(record, isChecked)
+ {
+ return !(record.node.isContainer);
+ };
+ break;
+
+ case "selectFolders":
+ fnCheck = function chkSelectDocuments(record, isChecked)
+ {
+ return record.node.isContainer;
+ };
+ break;
+
+ default:
+ fnCheck = function chkDefault(record, isChecked)
+ {
+ return isChecked;
+ };
+ }
+
+ for (i = 0; i < len; i++)
+ {
+ oRecord = oRecordSet.getRecord(i);
+ record = oRecord.getData();
+ this.selectedFiles[record.nodeRef] = checks[i].checked = fnCheck(record, checks[i].checked);
+ }
+
+ YAHOO.Bubbling.fire("selectedFilesChanged");
+ },
+
+
+ /**
+ * YUI WIDGET EVENT HANDLERS
+ * Handlers for standard events fired from YUI widgets, e.g. "click"
+ */
+
+ /**
+ * Sort direction button click handler
+ *
+ * @method onSortAscending
+ * @param e {object} DomEvent
+ * @param p_obj {object} Object passed back from addListener method
+ */
+ onSortAscending: function DL_onSortAscending(e, p_obj)
+ {
+ this.options.sortAscending = !this.options.sortAscending;
+ this.widgets.sortAscending.set("title", this.msg(this.options.sortAscending ? "button.sort.descending" : "button.sort.ascending"));
+ if (this.options.sortAscending)
+ {
+ Dom.removeClass(this.widgets.sortAscending.get("element"), "sort-descending");
+ }
+ else
+ {
+ Dom.addClass(this.widgets.sortAscending.get("element"), "sort-descending");
+ }
+ this.services.preferences.set(PREF_SORT_ASCENDING, this.options.sortAscending);
+ YAHOO.Bubbling.fire("metadataRefresh");
+ if (e)
+ {
+ Event.preventDefault(e);
+ }
+ },
+
+ /**
+ * Sort Field select button click handler
+ *
+ * @method onSortField
+ * @param sType {string} Event type, e.g. "click"
+ * @param aArgs {array} Arguments array, [0] = DomEvent, [1] = EventTarget
+ * @param p_obj {object} Object passed back from subscribe method
+ */
+ onSortField: function DL_onSortField(sType, aArgs, p_obj)
+ {
+ var domEvent = aArgs[0],
+ eventTarget = aArgs[1];
+
+ if (eventTarget)
+ {
+ var me = this;
+ this.options.sortField = eventTarget.value;
+ this.widgets.sortField.set("label", eventTarget.cfg.getProperty("text"));
+ this.services.preferences.set(PREF_SORT_FIELD, this.options.sortField, {
+ successCallback:
+ {
+ fn: function()
+ {
+ // Default sort order configured?
+ var title = eventTarget.srcElement.getAttribute("title");
+ if (title === "true" || title === "false")
+ {
+ me.options.sortAscending = (title === "false");
+ // onSortAscending will fire the metadatRefresh event
+ me.onSortAscending();
+ }
+ else
+ {
+ YAHOO.Bubbling.fire("metadataRefresh");
+ }
+ }
+ }
+ });
+ }
+ Event.preventDefault(domEvent);
+ },
+
+ /**
+ * Show/Hide folders button checked handler
+ *
+ * @method onShowFolders
+ * @param e {object} DomEvent
+ * @param p_obj {object} Object passed back from addListener method
+ */
+ onShowFolders: function DL_onShowFolders(e, p_obj)
+ {
+ this.options.showFolders = this.widgets.showFolders.get("checked");
+ this.widgets.showFolders.set("title", this.msg(this.options.showFolders ? "button.folders.hide" : "button.folders.show"));
+ this.services.preferences.set(PREF_SHOW_FOLDERS, this.options.showFolders);
+ YAHOO.Bubbling.fire("metadataRefresh");
+ if (e)
+ {
+ Event.preventDefault(e);
+ }
+ },
+
+ /**
+ * Select viewRenderer list buttongroup click handler
+ *
+ * @method onViewRendererSelect
+ * @param e {object} DomEvent
+ * @param p_obj {object} Object passed back from addListener method
+ */
+ onViewRendererSelect: function DL_onViewRendererSelect(e, p_obj)
+ {
+ // Get the name of the viewRenderer from the order array as YUI button likes to work with an index
+ this.options.viewRendererName = this.options.viewRendererNames[e.newValue.index];
+ this.services.preferences.set(PREF_VIEW_RENDERER, this.options.viewRendererName);
+ YAHOO.Bubbling.fire("metadataRefresh");
+ if (e)
+ {
+ Event.preventDefault(e);
+ }
+ },
+
+ /**
+ * Multi-file select button click handler
+ *
+ * @method onFileSelect
+ * @param sType {string} Event type, e.g. "click"
+ * @param aArgs {array} Arguments array, [0] = DomEvent, [1] = EventTarget
+ * @param p_obj {object} Object passed back from subscribe method
+ */
+ onFileSelect: function DL_onFileSelect(sType, aArgs, p_obj)
+ {
+ var domEvent = aArgs[0],
+ eventTarget = aArgs[1];
+
+ // Select based upon the className of the clicked item
+ this.selectFiles(Alfresco.util.findEventClass(eventTarget));
+ Event.preventDefault(domEvent);
+ },
+
+ /**
+ * Custom event handler to highlight row.
+ *
+ * @method onEventHighlightRow
+ * @param oArgs.event {HTMLEvent} Event object.
+ * @param oArgs.target {HTMLElement} Target element.
+ */
+ onEventHighlightRow: function DL_onEventHighlightRow(oArgs)
+ {
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererName].onEventHighlightRow(this, oArgs);
+ }
+ },
+
+ /**
+ * Custom event handler to unhighlight row.
+ *
+ * @method onEventUnhighlightRow
+ * @param oArgs.event {HTMLEvent} Event object.
+ * @param oArgs.target {HTMLElement} Target element.
+ */
+ onEventUnhighlightRow: function DL_onEventUnhighlightRow(oArgs)
+ {
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererName].onEventUnhighlightRow(this, oArgs);
+ }
+ },
+
+
+ /**
+ * BUBBLING LIBRARY EVENT HANDLERS FOR ACTIONS
+ * Disconnected event handlers for action event notification
+ */
+
+ /**
+ * Show more actions pop-up.
+ *
+ * @method onActionShowMore
+ * @param record {object} Object literal representing file or folder to be actioned
+ * @param elMore {element} DOM Element of "More Actions" link
+ */
+ onActionShowMore: function DL_onActionShowMore(record, elMore)
+ {
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererName].onActionShowMore(this, record, elMore);
+ }
+ },
+
+ /**
+ * Edit Offline.
+ *
+ * @override
+ * @method onActionEditOffline
+ * @param record {object} Object literal representing file or folder to be actioned
+ */
+ onActionEditOffline: function DL_onActionEditOffline(record)
+ {
+ if (!this.state.actionEditOfflineActive)
+ {
+ // Make sure we don't call edit offline twice
+ this.state.actionEditOfflineActive = true;
+
+ var nodeRef = record.jsNode.nodeRef,
+ displayName = record.displayName;
+
+ this.modules.actions.genericAction(
+ {
+ success:
+ {
+ event:
+ {
+ name: "metadataRefresh"
+ },
+ callback:
+ {
+ fn: function DL_oAEO_success(data)
+ {
+ this.state.actionEditOfflineActive = false;
+ this.options.highlightFile = displayName;
+
+ // The filterChanged event causes the DocList to update, so we need to run these functions afterwards
+ var fnAfterUpdate = function DL_oAEO_success_afterUpdate()
+ {
+ var downloadUrl = Alfresco.constants.PROXY_URI + data.json.results[0].downloadUrl;
+ if (YAHOO.env.ua.ie > 6)
+ {
+ // MSIE7 blocks the download and gets the wrong URL in the "manual download bar"
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ title: this.msg("message.edit-offline.success", displayName),
+ text: this.msg("message.edit-offline.success.ie7"),
+ buttons: [
+ {
+ text: this.msg("button.download"),
+ handler: function DL_oAEO_success_download()
+ {
+ window.location = downloadUrl;
+ this.destroy();
+ },
+ isDefault: true
+ },
+ {
+ text: this.msg("button.close"),
+ handler: function DL_oAEO_success_close()
+ {
+ this.destroy();
+ }
+ }]
+ });
+ }
+ else
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.edit-offline.success", displayName)
+ });
+ // Kick off the download 3 seconds after the confirmation message
+ YAHOO.lang.later(3000, this, function()
+ {
+ window.location = downloadUrl;
+ });
+ }
+ };
+ this.afterDocListUpdate.push(fnAfterUpdate);
+ },
+ scope: this
+ }
+ },
+ failure:
+ {
+ callback:
+ {
+ fn: function DL_oAEO_failure()
+ {
+ this.state.actionEditOfflineActive = false;
+ },
+ scope: this
+ },
+ message: this.msg("message.edit-offline.failure", displayName)
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.POST,
+ name: "checkout/node/{nodeRef}",
+ params:
+ {
+ nodeRef: nodeRef.uri
+ }
+ }
+ });
+ }
+ },
+
+ /**
+ * Checkout to Google Docs.
+ *
+ * @override
+ * @method onActionCheckoutToGoogleDocs
+ * @param record {object} Object literal representing file or folder to be actioned
+ */
+ onActionCheckoutToGoogleDocs: function DL_onActionCheckoutToGoogleDocs(record)
+ {
+ var displayName = record.displayName,
+ nodeRef = record.jsNode.nodeRef,
+ path = record.location.path,
+ fileName = record.fileName;
+
+ var progressPopup = Alfresco.util.PopupManager.displayMessage(
+ {
+ displayTime: 0,
+ effect: null,
+ text: this.msg("message.checkout-google.inprogress", displayName)
+ });
+
+ this.modules.actions.genericAction(
+ {
+ success:
+ {
+ event:
+ {
+ name: "changeFilter",
+ obj:
+ {
+ filterId: "editingMe"
+ }
+ },
+ callback:
+ {
+ fn: function DL_oACTGD_success(data)
+ {
+ progressPopup.destroy();
+ this.options.highlightFile = displayName;
+
+ // The filterChanged event causes the DocList to update, so we need to run these functions afterwards
+ var fnAfterUpdate = function DL_oACTGD_success_afterUpdate()
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.checkout-google.success", displayName)
+ });
+ };
+ this.afterDocListUpdate.push(fnAfterUpdate);
+ },
+ scope: this
+ },
+ activity:
+ {
+ siteId: this.options.siteId,
+ activityType: "google-docs-checkout",
+ page: "document-details",
+ activityData:
+ {
+ fileName: fileName,
+ path: path,
+ nodeRef: nodeRef.toString()
+ }
+ }
+ },
+ failure:
+ {
+ callback:
+ {
+ fn: function DocumentActions_oAEO_failure(data)
+ {
+ progressPopup.destroy();
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.checkout-google.failure", displayName)
+ });
+ },
+ scope: this
+ }
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.POST,
+ name: "checkout/node/{nodeRef}",
+ params:
+ {
+ nodeRef: nodeRef.uri
+ }
+ }
+ });
+ },
+
+ /**
+ * Check in a new version from Google Docs.
+ *
+ * @override
+ * @method onActionCheckinFromGoogleDocs
+ * @param record {object} Object literal representing the file to be actioned upon
+ */
+ onActionCheckinFromGoogleDocs: function DL_onActionCheckinFromGoogleDocs(record)
+ {
+ var displayName = record.displayName,
+ nodeRef = record.jsNode.nodeRef,
+ originalNodeRef = new Alfresco.util.NodeRef(record.workingCopy.sourceNodeRef),
+ path = record.location.path;
+
+ var progressPopup = Alfresco.util.PopupManager.displayMessage(
+ {
+ displayTime: 0,
+ effect: null,
+ text: this.msg("message.checkin-google.inprogress", displayName)
+ });
+
+ this.modules.actions.genericAction(
+ {
+ success:
+ {
+ event:
+ {
+ name: "metadataRefresh"
+ },
+ callback:
+ {
+ fn: function DL_oACFGD_success(data)
+ {
+ progressPopup.destroy();
+
+ // The filterChanged event causes the DocList to update, so we need to run these functions afterwards
+ var fnAfterUpdate = function DL_oACTGD_success_afterUpdate()
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.checkin-google.success", displayName)
+ });
+ };
+ this.afterDocListUpdate.push(fnAfterUpdate);
+ },
+ scope: this
+ },
+ activity:
+ {
+ siteId: this.options.siteId,
+ activityType: "google-docs-checkin",
+ page: "document-details",
+ activityData:
+ {
+ fileName: displayName,
+ path: path,
+ nodeRef: originalNodeRef.toString()
+ }
+ }
+ },
+ failure:
+ {
+ message: this.msg("message.checkin-google.failure", displayName)
+ },
+ webscript:
+ {
+ method: Alfresco.util.Ajax.POST,
+ name: "checkin/node/{nodeRef}",
+ params:
+ {
+ nodeRef: nodeRef.uri
+ }
+ }
+ });
+ },
+
+ /**
+ * BUBBLING LIBRARY EVENT HANDLERS FOR PAGE EVENTS
+ * Disconnected event handlers for inter-component event notification
+ */
+
+ /**
+ * Generic file action event handler
+ *
+ * @method onFileAction
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onFileAction: function DL_onFileAction(layer, args)
+ {
+ var obj = args[1];
+ if (obj)
+ {
+ if (!obj.multiple)
+ {
+ this._updateDocList.call(this);
+ }
+ }
+ },
+
+ /**
+ * File or folder renamed event handler
+ *
+ * @method onFileRenamed
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onFileRenamed: function DL_onFileRenamed(layer, args)
+ {
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererName].onFileRenamed(this, layer, args);
+ }
+ },
+
+ /**
+ * DocList Refresh Required event handler
+ *
+ * @method onDocListRefresh
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (unused)
+ */
+ onDocListRefresh: function DL_onDocListRefresh(layer, args)
+ {
+ var obj = args[1];
+ if (obj && (obj.highlightFile !== null))
+ {
+ this.options.highlightFile = obj.highlightFile;
+ }
+ this._updateDocList.call(this);
+ },
+
+ /**
+ * DocList View change filter request event handler
+ *
+ * @method onChangeFilter
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (new filterId)
+ */
+ onChangeFilter: function DL_onChangeFilter(layer, args)
+ {
+ var obj = args[1];
+
+ if ((obj !== null) && (obj.filterId !== null))
+ {
+ // Should be a filter in the arguments
+ var filter = Alfresco.util.cleanBubblingObject(obj),
+ strFilter = window.escape(obj.filterId) +
+ (typeof obj.filterData !== "undefined" ?
+ "|" + window.escape(obj.filterData) + (typeof obj.filterDisplay !== "undefined" ? "|" + window.escape(obj.filterDisplay) : "") :
+ "");
+
+ Alfresco.logger.debug("DL_onChangeFilter: ", filter);
+
+ // Only allow drag and drop behaviour if the filter is changed to an actual
+ // path (if the filter is anything else such as tags then there won't be a specific
+ // location to upload to!)...
+ this._removeDragAndDrop();
+ if (obj.filterId === "path")
+ {
+ this._addDragAndDrop();
+ }
+
+ // Flag to indicate the list will likely change
+ this.listUpdated = true;
+
+ var objNav =
+ {
+ filter: strFilter
+ };
+
+ // Initial navigation won't fire the History event
+ if (obj.doclistFirstTimeNav)
+ {
+ this._updateDocList.call(this,
+ {
+ filter: filter,
+ page: this.currentPage
+ });
+ }
+ else
+ {
+ if (this.options.usePagination)
+ {
+ this.currentPage = 1;
+ objNav.page = "1";
+ }
+
+ Alfresco.logger.debug("DL_onChangeFilter: objNav = ", objNav);
+
+ // Do we think the history state will change?
+ if (this.options.highlightFile && objNav.filter === YAHOO.util.History.getCurrentState("filter"))
+ {
+ YAHOO.Bubbling.fire("highlightFile",
+ {
+ fileName: this.options.highlightFile
+ });
+ }
+
+ YAHOO.util.History.multiNavigate(objNav);
+ }
+ }
+ },
+
+ /**
+ * DocList View Filter changed event handler
+ *
+ * @method onFilterChanged
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (new filterId)
+ */
+ onFilterChanged: function DL_onFilterChanged(layer, args)
+ {
+ var obj = args[1];
+ if ((obj !== null) && (obj.filterId !== null))
+ {
+ obj.filterOwner = obj.filterOwner || Alfresco.util.FilterManager.getOwner(obj.filterId);
+
+ // Should be a filterId in the arguments
+ this.currentFilter = Alfresco.util.cleanBubblingObject(obj);
+ Alfresco.logger.debug("DL_onFilterChanged: ", this.currentFilter);
+ }
+ },
+
+ /**
+ * Highlight file event handler
+ * Used when a component (including the DocList itself on loading) wants to scroll to and highlight a file
+ *
+ * @method onHighlightFile
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters (filename to be highlighted)
+ */
+ onHighlightFile: function DL_onHighlightFile(layer, args)
+ {
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererName].onHighlightFile(this, layer, args);
+ }
+ },
+
+ /**
+ * Deactivate All Controls event handler
+ *
+ * @method onDeactivateAllControls
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onDeactivateAllControls: function DL_onDeactivateAllControls(layer, args)
+ {
+ var index, fnDisable = Alfresco.util.disableYUIButton;
+ for (index in this.widgets)
+ {
+ if (this.widgets.hasOwnProperty(index))
+ {
+ fnDisable(this.widgets[index]);
+ }
+ }
+ },
+
+ /**
+ * Deactivate Dynamic Controls event handler
+ * Only deactivates specifically defined controls.
+ *
+ * @method onDeactivateDynamicControls
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onDeactivateDynamicControls: function DL_onDeactivateDynamicControls(layer, args)
+ {
+ var index, fnDisable = Alfresco.util.disableYUIButton;
+ for (index in this.dynamicControls)
+ {
+ if (this.dynamicControls.hasOwnProperty(index))
+ {
+ fnDisable(this.dynamicControls[index]);
+ }
+ }
+ },
+
+ /**
+ * Deactivate Sort Controls event handler
+ * Only deactivates specifically defined controls.
+ *
+ * @method onDeactivateSortControls
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onDeactivateSortControls: function DL_onDeactivateSortControls(layer, args)
+ {
+ var index, fnDisable = Alfresco.util.disableYUIButton;
+ for (index in this.sortControls)
+ {
+ if (this.sortControls.hasOwnProperty(index))
+ {
+ fnDisable(this.sortControls[index]);
+ }
+ }
+ },
+
+ /**
+ * Activate Sort Controls event handler
+ * (Re-)Activates controls taking part in dynamic deactivation
+ *
+ * @method onActivateSortControls
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onActivateSortControls: function DL_onActivateSortControls(layer, args)
+ {
+ var index, fnEnable = Alfresco.util.enableYUIButton;
+ for (index in this.sortControls)
+ {
+ if (this.sortControls.hasOwnProperty(index))
+ {
+ fnEnable(this.sortControls[index]);
+ }
+ }
+ },
+
+ /**
+ * Activate Dynamic Controls event handler
+ * (Re-)Activates controls taking part in dynamic deactivation
+ *
+ * @method onActivateDynamicControls
+ * @param layer {object} Event fired
+ * @param args {array} Event parameters (depends on event type)
+ */
+ onActivateDynamicControls: function DL_onActivateDynamicControls(layer, args)
+ {
+ var index, fnEnable = Alfresco.util.enableYUIButton;
+ for (index in this.dynamicControls)
+ {
+ if (this.dynamicControls.hasOwnProperty(index))
+ {
+ fnEnable(this.dynamicControls[index]);
+ }
+ }
+ },
+
+ /**
+ * Like/Unlike event handler
+ *
+ * @method onLikes
+ * @param row {HTMLElement} DOM reference to a TR element (or child thereof)
+ */
+ onLikes: function DL_onLikes(row)
+ {
+ var elIdentifier = row;
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ elIdentifier = this.viewRenderers[this.options.viewRendererName].getDataTableRecordIdFromRowElement(this, row);
+ }
+ var oRecord = this.widgets.dataTable.getRecord(elIdentifier),
+ record = oRecord.getData(),
+ nodeRef = record.jsNode.nodeRef,
+ likes = record.likes;
+
+ likes.isLiked = !likes.isLiked;
+ likes.totalLikes += (likes.isLiked ? 1 : -1);
+
+ var responseConfig =
+ {
+ successCallback:
+ {
+ fn: function DL_onLikes_success(event, p_nodeRef)
+ {
+ var data = event.json.data;
+ if (data)
+ {
+ // Update the record with the server's value
+ var oRecord = this._findRecordByParameter(p_nodeRef, "nodeRef"),
+ record = oRecord.getData(),
+ node = record.node,
+ likes = record.likes;
+
+ likes.totalLikes = data.ratingsCount;
+ this.widgets.dataTable.updateRow(oRecord, record);
+
+ // Post to the Activities Service on the "Like" action
+ if (likes.isLiked)
+ {
+ var activityData =
+ {
+ fileName: record.fileName,
+ nodeRef: node.nodeRef
+ };
+ if (node.isContainer)
+ {
+ this.modules.actions.postActivity(this.options.siteId, "folder-liked", "folder-details", activityData);
+ }
+ else
+ {
+ this.modules.actions.postActivity(this.options.siteId, "file-liked", "document-details", activityData);
+ }
+ }
+ }
+ },
+ scope: this,
+ obj: nodeRef.toString()
+ },
+ failureCallback:
+ {
+ fn: function DL_onLikes_failure(event, p_nodeRef)
+ {
+ // Reset the flag to it's previous state
+ var oRecord = this._findRecordByParameter(p_nodeRef, "nodeRef"),
+ record = oRecord.getData(),
+ likes = record.likes;
+
+ likes.isLiked = !likes.isLiked;
+ likes.totalLikes += (likes.isLiked ? 1 : -1);
+ this.widgets.dataTable.updateRow(oRecord, record);
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ text: this.msg("message.save.failure", record.displayName)
+ });
+ },
+ scope: this,
+ obj: nodeRef.toString()
+ }
+ };
+
+ if (likes.isLiked)
+ {
+ this.services.likes.set(nodeRef, 1, responseConfig);
+ }
+ else
+ {
+ this.services.likes.remove(nodeRef, responseConfig);
+ }
+ this.widgets.dataTable.updateRow(oRecord, record);
+ },
+
+ /**
+ * Handler to set/reset favourite for document or folder
+ *
+ * @method onFavourite
+ * @private
+ * @param row {HTMLElement} DOM reference to a TR element (or child thereof)
+ * @param prefKey {String} The preferences key
+ */
+ onFavourite: function DL_onFavourite(row)
+ {
+ var elIdentifier = row;
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ elIdentifier = this.viewRenderers[this.options.viewRendererName].getDataTableRecordIdFromRowElement(this, row);
+ }
+ var oRecord = this.widgets.dataTable.getRecord(elIdentifier),
+ record = oRecord.getData(),
+ node = record.node,
+ nodeRef = node.nodeRef;
+
+ record.isFavourite = !record.isFavourite;
+ this.widgets.dataTable.updateRow(oRecord, record);
+
+ var responseConfig =
+ {
+ failureCallback:
+ {
+ fn: function DL_oFD_failure(event, p_oRow)
+ {
+ // Reset the flag to it's previous state
+ var oRecord = this.widgets.dataTable.getRecord(p_oRow),
+ record = oRecord.getData(),
+ node = record.node;
+
+ record.isFavourite = !record.isFavourite;
+ this.widgets.dataTable.updateRow(oRecord, record);
+ Alfresco.util.PopupManager.displayPrompt(
+ {
+ text: this.msg("message.save.failure", record.displayName)
+ });
+ },
+ scope: this,
+ obj: row
+ }
+ };
+
+ var fnPref = record.isFavourite ? "add" : "remove",
+ prefKey = node.isContainer ? Alfresco.service.Preferences.FAVOURITE_FOLDERS : Alfresco.service.Preferences.FAVOURITE_DOCUMENTS;
+
+ this.services.preferences[fnPref].call(this.services.preferences, prefKey, nodeRef, responseConfig);
+ },
+
+ /**
+ * Handler to inform of a resize to resizable panel
+ *
+ * @method onResizerChanged
+ * @private
+ */
+ onResizerChanged: function DL_onResizerChanged()
+ {
+ this._resizeRowContainers();
+ },
+
+
+ /**
+ * PRIVATE FUNCTIONS
+ */
+
+ /**
+ * Helper to resize the container elements for each row to ensure the wrapping
+ * of long filenames is correctly maintained when the window or filters panel is resized.s
+ *
+ * @method _resizeRowContainers
+ */
+ _resizeRowContainers: function DL__resizeRowContainers()
+ {
+ var fpanel = Dom.get("alf-filters"),
+ offset = (fpanel ? parseInt(fpanel.style.width, 10) : 160) + 390,
+ width = (Dom.getViewportWidth() - offset) + "px",
+ nodes = YAHOO.util.Selector.query('h3.filename', this.id + "-documents");
+ for (var i=0; i<nodes.length; i++)
+ {
+ nodes[i].parentNode.style.width = width;
+ }
+ },
+
+ /**
+ * Resets the YUI DataTable errors to our custom messages
+ * NOTE: Scope could be YAHOO.widget.DataTable, so can't use "this"
+ *
+ * @method _setDefaultDataTableErrors
+ * @param dataTable {object} Instance of the DataTable
+ */
+ _setDefaultDataTableErrors: function DL__setDefaultDataTableErrors(dataTable)
+ {
+ var msg = Alfresco.util.message;
+ dataTable.set("MSG_EMPTY", msg("message.empty", "Alfresco.DocumentList"));
+ dataTable.set("MSG_ERROR", msg("message.error", "Alfresco.DocumentList"));
+ },
+
+ /**
+ * Updates document list by calling data webscript with current site and path
+ *
+ * @method _updateDocList
+ * @param p_obj.filter {object} Optional filter to navigate with
+ * @param p_obj.page {string} Optional page to navigate to (defaults to this.currentPage)
+ */
+ _updateDocList: function DL__updateDocList(p_obj)
+ {
+ p_obj = p_obj || {};
+ Alfresco.logger.debug("DL__updateDocList: ", p_obj.filter, p_obj.page);
+ var successFilter = YAHOO.lang.merge(
+ {
+ doclistFirstTimeNav: false
+ }, p_obj.filter !== undefined ? p_obj.filter : this.currentFilter),
+ successPage = p_obj.page !== undefined ? p_obj.page : this.currentPage,
+ loadingMessage = null,
+ timerShowLoadingMessage = null,
+ me = this,
+ params =
+ {
+ filter: successFilter,
+ page: successPage
+ };
+
+ // Clear the current document list if the data webscript is taking too long
+ var fnShowLoadingMessage = function DL_fnShowLoadingMessage()
+ {
+ Alfresco.logger.debug("DL__uDL_fnShowLoadingMessage: slow data webscript detected.");
+ // Check the timer still exists. This is to prevent IE firing the event after we cancelled it. Which is "useful".
+ if (timerShowLoadingMessage)
+ {
+ loadingMessage = Alfresco.util.PopupManager.displayMessage(
+ {
+ displayTime: 0,
+ text: '<span class="wait">' + $html(this.msg("message.loading")) + '</span>',
+ noEscape: true
+ });
+
+ if (YAHOO.env.ua.ie > 0)
+ {
+ this.loadingMessageShowing = true;
+ }
+ else
+ {
+ loadingMessage.showEvent.subscribe(function()
+ {
+ this.loadingMessageShowing = true;
+ }, this, true);
+ }
+ }
+ };
+
+ // Reset the custom error messages
+ this._setDefaultDataTableErrors(this.widgets.dataTable);
+
+ // Reset preview tooltips array
+ this.previewTooltips = [];
+
+ this.insituEditors = [];
+
+ // More Actions menu no longer relevant
+ this.hideMoreActionsFn = null;
+
+ // Slow data webscript message
+ this.loadingMessageShowing = false;
+ timerShowLoadingMessage = YAHOO.lang.later(this.options.loadingMessageDelay, this, fnShowLoadingMessage);
+
+ var destroyLoaderMessage = function DL__uDL_destroyLoaderMessage()
+ {
+ if (timerShowLoadingMessage)
+ {
+ // Stop the "slow loading" timed function
+ timerShowLoadingMessage.cancel();
+ timerShowLoadingMessage = null;
+ }
+
+ if (loadingMessage)
+ {
+ if (this.loadingMessageShowing)
+ {
+ // Safe to destroy
+ loadingMessage.destroy();
+ loadingMessage = null;
+ }
+ else
+ {
+ // Wait and try again later. Scope doesn't get set correctly with "this"
+ YAHOO.lang.later(100, me, destroyLoaderMessage);
+ }
+ }
+ };
+
+ var successHandler = function DL__uDL_successHandler(sRequest, oResponse, oPayload)
+ {
+ destroyLoaderMessage();
+ // Updating the Doclist may change the file selection
+ var fnAfterUpdate = function DL__uDL_sH_fnAfterUpdate()
+ {
+ YAHOO.Bubbling.fire("activateDynamicControls");
+ YAHOO.Bubbling.fire("selectedFilesChanged");
+ this.listUpdated = false;
+ if (this.currentFilter.filterId == "recentlyModified" || this.currentFilter.filterId == "recentlyAdded")
+ {
+ YAHOO.Bubbling.fire("deactivateSortControls");
+ }
+ else
+ {
+ YAHOO.Bubbling.fire("activateSortControls");
+ }
+ };
+ this.afterDocListUpdate.push(fnAfterUpdate);
+
+ Alfresco.logger.debug("currentFilter was:", this.currentFilter, "now:", successFilter);
+ Alfresco.logger.debug("currentPage was [" + this.currentPage + "] now [" + successPage + "]");
+ this.currentFilter = successFilter;
+ this.currentPage = successPage;
+ if (successFilter.filterId === "path")
+ {
+ Alfresco.logger.debug("currentPath was [" + this.currentPath + "] now [" + successFilter.filterData + "]");
+ this.currentPath = successFilter.filterData;
+ }
+ delete successFilter.doclistFirstTimeNav;
+ YAHOO.Bubbling.fire("filterChanged", successFilter);
+
+ // Call destroy view on all viewRenderers then renderView on the selected view
+ for (var i = 0, ii = this.options.viewRendererNames.length; i < ii; i++)
+ {
+ if (typeof this.viewRenderers[this.options.viewRendererNames[i]] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererNames[i]].destroyView(this, sRequest, oResponse, oPayload);
+ }
+ }
+ if (typeof this.viewRenderers[this.options.viewRendererName] === "object")
+ {
+ this.viewRenderers[this.options.viewRendererName].renderView(this, sRequest, oResponse, oPayload);
+ }
+ else
+ {
+ // TODO Display message that no view renderers are available and render detailed anyway
+ }
+ };
+
+ var failureHandler = function DL__uDL_failureHandler(sRequest, oResponse)
+ {
+ destroyLoaderMessage();
+ // Clear out deferred functions
+ this.afterDocListUpdate = [];
+
+ if (oResponse.status === 401)
+ {
+ // Our session has likely timed-out, so refresh to offer the login page
+ window.location.reload(true);
+ }
+ else
+ {
+ try
+ {
+ if (oResponse.status === 404)
+ {
+ // Folder not found (via the HTTP "404 Not Found" response) - deactivate dynamic controls only
+ YAHOO.Bubbling.fire("deactivateDynamicControls");
+ YAHOO.Bubbling.fire("deactivateSortControls");
+ }
+ else
+ {
+ // Site or container not found (e.g. via the HTTP "410 Gone" response) or more serious - deactivate all controls
+ YAHOO.Bubbling.fire("deactivateAllControls");
+ }
+
+ var fnAfterFailedUpdate = function DL__uDL_failureHandler_fnAfterUpdate(responseMsg, responseStatus)
+ {
+ return function DL__uDL_failureHandler_afterUpdate()
+ {
+ this.widgets.paginator.setState(
+ {
+ totalRecords: 0
+ });
+ this.widgets.paginator.render();
+ this.widgets.dataTable.set("MSG_ERROR", responseMsg);
+ if (responseStatus === 410)
+ {
+ this.widgets.dataTable.showTableMessage(responseMsg, YAHOO.widget.DataTable.CLASS_DISABLED);
+ }
+ else
+ {
+ this.widgets.dataTable.showTableMessage(responseMsg, YAHOO.widget.DataTable.CLASS_ERROR);
+ }
+ };
+ };
+
+ this.afterDocListUpdate.push(fnAfterFailedUpdate(YAHOO.lang.JSON.parse(oResponse.responseText).message, oResponse.status));
+ this.widgets.dataTable.initializeTable();
+ this.widgets.dataTable.render();
+ this.listUpdated = false;
+ }
+ catch(e)
+ {
+ Alfresco.logger.error(e);
+ this._setDefaultDataTableErrors(this.widgets.dataTable);
+ }
+ }
+ };
+
+ // Update the DataSource
+ if (params.filter && params.filter.filterId === "path")
+ {
+ params.path = params.filter.filterData;
+ }
+ var requestParams = this._buildDocListParams(params);
+ Alfresco.logger.debug("DataSource requestParams: ", requestParams);
+ this.widgets.dataSource.sendRequest(requestParams,
+ {
+ success: successHandler,
+ failure: failureHandler,
+ scope: this
+ });
+ },
+
+ /**
+ * Build URI parameter string for doclist JSON data webscript
+ *
+ * @method _buildDocListParams
+ * @param p_obj.page {string} Page number
+ * @param p_obj.pageSize {string} Number of items per page
+ * @param p_obj.path {string} Path to query
+ * @param p_obj.type {string} Filetype to filter: "all", "documents", "folders"
+ * @param p_obj.site {string} Current site
+ * @param p_obj.container {string} Current container
+ * @param p_obj.filter {string} Current filter
+ */
+ _buildDocListParams: function DL__buildDocListParams(p_obj)
+ {
+ // Essential defaults
+ var siteMode = $isValueSet(this.options.siteId),
+ obj =
+ {
+ path: this.currentPath,
+ type: this.options.showFolders ? "all" : "documents",
+ site: this.options.siteId,
+ container: this.options.containerId,
+ filter: this.currentFilter
+ };
+
+ // Pagination in use?
+ if (this.options.usePagination)
+ {
+ obj.page = this.widgets.paginator.getCurrentPage() || this.currentPage;
+ obj.pageSize = this.widgets.paginator.getRowsPerPage();
+ }
+
+ // Passed-in overrides
+ if (typeof p_obj === "object")
+ {
+ obj = YAHOO.lang.merge(obj, p_obj);
+ }
+
+ // Build the URI stem
+ var uriPart = siteMode ? "site/{site}/{container}" : "node/alfresco/company/home",
+ params = YAHOO.lang.substitute("{type}/" + uriPart + (obj.filter.filterId === "path" ? "{path}" : ""),
+ {
+ type: encodeURIComponent(obj.type),
+ site: encodeURIComponent(obj.site),
+ container: encodeURIComponent(obj.container),
+ path: $combine("/", Alfresco.util.encodeURIPath(obj.path).replace(/%25/g,"%2525"))
+ });
+
+ // Filter parameters
+ params += "?filter=" + encodeURIComponent(obj.filter.filterId);
+ if (obj.filter.filterData && obj.filter.filterId !== "path")
+ {
+ params += "&filterData=" + encodeURIComponent(obj.filter.filterData);
+ }
+
+ // Paging parameters
+ if (this.options.usePagination)
+ {
+ params += "&size=" + obj.pageSize + "&pos=" + obj.page;
+ }
+
+ // Sort parameters
+ params += "&sortAsc=" + this.options.sortAscending + "&sortField=" + encodeURIComponent(this.options.sortField);
+
+ if (!siteMode)
+ {
+ // Repository mode (don't resolve Site-based folders)
+ params += "&libraryRoot=" + encodeURIComponent(this.options.rootNode.toString());
+ }
+
+ // View mode and No-cache
+ params += "&view=" + this.actionsView + "&noCache=" + new Date().getTime();
+
+ return params;
+ },
+
+ /**
+ * Searches the current recordSet for a record with the given parameter value
+ *
+ * @private
+ * @method _findRecordByParameter
+ * @param p_value {string} Value to find
+ * @param p_parameter {string} Parameter to look for the value in
+ * @return {YAHOO.widget.Record} Successful search result or null
+ */
+ _findRecordByParameter: function DL__findRecordByParameter(p_value, p_parameter)
+ {
+ var oRecordSet = this.widgets.dataTable.getRecordSet(),
+ oRecord, record, i, j;
+
+ for (i = 0, j = oRecordSet.getLength(); i < j; i++)
+ {
+ oRecord = oRecordSet.getRecord(i);
+ record = oRecord.getData();
+
+ if (record[p_parameter] === p_value || (record.node && record.node[p_parameter] === p_value))
+ {
+ return oRecord;
+ }
+ }
+ return null;
+ }
+ }, true);
+})();
--- /dev/null
+/* SAEM-73 : add new archive button */
+.toolbar .new-archive span.first-child
+{
+ background-position: 6px 4px;
+ background-repeat: no-repeat;
+ padding-left: 16px;
+}
+
+.toolbar .new-archive span.first-child
+{
+ background-image: url(../../themes/images/archive-icon-16.png);
+
+}
+
+.toolbar .new-archive .yui-button-disabled span.first-child
+{
+ background-image: url(../../themes/images/grey-archive-icon-16.png);
+}
\ No newline at end of file
--- /dev/null
+/**
+ * YUI Library aliases
+ */
+var Dom = YAHOO.util.Dom,
+Event = YAHOO.util.Event,
+Element = YAHOO.util.Element;
+
+/**
+ * Alfresco Slingshot aliases
+ */
+var $html = Alfresco.util.encodeHTML,
+$combine = Alfresco.util.combinePaths,
+$siteURL = Alfresco.util.siteURL;
+
+var destination;
+
+/**
+ * Preferences
+ */
+var PREFERENCES_ROOT = "org.alfresco.share.documentList",
+PREF_HIDE_NAVBAR = PREFERENCES_ROOT + ".hideNavBar";
+
+/**
+ * Augment prototype with main class implementation, ensuring overwrite is enabled
+ */
+YAHOO.lang.augmentObject(Alfresco.DocListToolbar.prototype,
+ {
+ /**
+ * Fired by YUI when parent element is available for scripting.
+ * Component initialisation, including instantiation of YUI widgets and event listener binding.
+ *
+ * @method onReady
+ */
+ onReady: function DLTB_onReady()
+{
+ // Create Content menu button
+ if (Dom.get(this.id + "-createContent-button"))
+ {
+ // Create menu button that
+ this.widgets.createContent = Alfresco.util.createYUIButton(this, "createContent-button", this.onCreateContent,
+ {
+ type: "menu",
+ menu: "createContent-menu",
+ lazyloadmenu: false,
+ disabled: true,
+ value: "CreateChildren"
+ });
+
+ // Make sure we load sub menu lazily with data on each click
+ var createContentMenu = this.widgets.createContent.getMenu(),
+ groupIndex = 0;
+
+ // Create content actions
+ if (this.options.createContentActions.length !== 0)
+ {
+ var menuItems = [], menuItem, content, url, config, html, li;
+ for (var i = 0; i < this.options.createContentActions.length; i++)
+ {
+ // Create menu item from config
+ content = this.options.createContentActions[i];
+ config = { parent: createContentMenu };
+ url = null;
+
+ // Check config type
+ if (content.type == "javascript")
+ {
+ config.onclick =
+ {
+ fn: function(eventName, eventArgs, obj)
+ {
+ // Copy node so we can safely pass it to an action
+ var node = Alfresco.util.deepCopy(this.doclistMetadata.parent);
+
+ // Make it more similar to a usual doclib action callback object
+ var currentFolderItem = {
+ nodeRef: node.nodeRef,
+ node: node,
+ jsNode: new Alfresco.util.Node(node)
+ };
+ this[obj.params["function"]].call(this, currentFolderItem);
+ },
+ obj: content,
+ scope: this
+ };
+
+ url = '#';
+ }
+ else if (content.type == "pagelink")
+ {
+ url = $siteURL(content.params.page);
+ }
+ else if (content.type == "link")
+ {
+ url = content.params.href;
+ }
+
+ // Create menu item
+ html = '<a href="' + url + '" rel="' + content.permission + '"><span style="background-image:url(' + Alfresco.constants.URL_RESCONTEXT + 'components/images/filetypes/' + content.icon + '-file-16.png)" class="' + content.icon + '-file">' + this.msg(content.label) + '</span></a>';
+ li = document.createElement("li");
+ li.innerHTML = html;
+ menuItem = new YAHOO.widget.MenuItem(li, config);
+
+ menuItems.push(menuItem);
+ }
+ createContentMenu.addItems(menuItems, groupIndex);
+ groupIndex++;
+ }
+
+ // Create content by template menu item
+ if (this.options.createContentByTemplateEnabled)
+ {
+ // Create menu item elements
+ var li = document.createElement("li");
+ li.innerHTML = '<a href="#"><span>' + this.msg("menu.create-content.by-template-node") + '</span></a>';
+
+ // Make sure to stop clicks on the sub menu link to close the entire menu
+ YAHOO.util.Event.addListener(Selector.query("a", li, true), "click", function(e)
+ {
+ Event.preventDefault(e);
+ Event.stopEvent(e);
+ });
+
+ // Create placeholder menu
+ var div = document.createElement("div");
+ div.innerHTML = '<div class="bd"><ul></ul></div>';
+
+ // Add menu item
+ var createContentByTemplate = new YAHOO.widget.MenuItem(li, {
+ parent: createContentMenu,
+ submenu: div
+ });
+ createContentMenu.addItems([ createContentByTemplate ], groupIndex);
+ groupIndex++;
+
+ // Make sure that the available template are lazily loaded
+ var templateNodesMenus = this.widgets.createContent.getMenu().getSubmenus(),
+ templateNodesMenu = templateNodesMenus.length > 0 ? templateNodesMenus[0] : null;
+ if (templateNodesMenu)
+ {
+ templateNodesMenu.subscribe("beforeShow", this.onCreateByTemplateNodeBeforeShow, this, true);
+ templateNodesMenu.subscribe("click", this.onCreateByTemplateNodeClick, this, true);
+ }
+ }
+
+ // Render menu with all new menu items
+ createContentMenu.render();
+ this.dynamicControls.push(this.widgets.createContent);
+ }
+
+ // New Folder button: user needs "create" access
+ this.widgets.newFolder = Alfresco.util.createYUIButton(this, "newFolder-button", this.onNewFolder,
+ {
+ disabled: true,
+ value: "CreateChildren"
+ });
+ this.dynamicControls.push(this.widgets.newFolder);
+
+ // File Upload button: user needs "CreateChildren" access
+ this.widgets.fileUpload = Alfresco.util.createYUIButton(this, "fileUpload-button", this.onFileUpload,
+ {
+ disabled: true,
+ value: "CreateChildren"
+ });
+ this.dynamicControls.push(this.widgets.fileUpload);
+
+ // SAEM-73 New archive button
+ // New archive button: user needs "create" access
+ this.widgets.newArchive = Alfresco.util.createYUIButton(this, "newArchive-button", this.onNewArchive,
+ {
+ disabled: true,
+ value: "CreateChildren"
+ });
+ this.dynamicControls.push(this.widgets.newArchive);
+
+
+ // Sync to Cloud button
+ this.widgets.syncToCloud = Alfresco.util.createYUIButton(this, "syncToCloud-button", this.onSyncToCloud,
+ {
+ disabled: true,
+ value: "CreateChildren"
+ });
+ this.dynamicControls.push(this.widgets.syncToCloud);
+
+ // Unsync from Cloud button
+ this.widgets.unsyncFromCloud = Alfresco.util.createYUIButton(this, "unsyncFromCloud-button", this.onUnsyncFromCloud,
+ {
+ disabled: true,
+ value: "CreateChildren"
+ });
+ this.dynamicControls.push(this.widgets.unsyncFromCloud);
+
+ // Selected Items menu button
+ this.widgets.selectedItems = Alfresco.util.createYUIButton(this, "selectedItems-button", this.onSelectedItems,
+ {
+ type: "menu",
+ menu: "selectedItems-menu",
+ lazyloadmenu: false,
+ disabled: true
+ });
+ this.dynamicControls.push(this.widgets.selectedItems);
+
+ // Hide/Show NavBar button
+ this.widgets.hideNavBar = Alfresco.util.createYUIButton(this, "hideNavBar-button", this.onHideNavBar,
+ {
+ type: "checkbox",
+ checked: !this.options.hideNavBar
+ });
+ if (this.widgets.hideNavBar !== null)
+ {
+ this.widgets.hideNavBar.set("title", this.msg(this.options.hideNavBar ? "button.navbar.show" : "button.navbar.hide"));
+ Dom.setStyle(this.id + "-navBar", "display", this.options.hideNavBar ? "none" : "block");
+ this.dynamicControls.push(this.widgets.hideNavBar);
+ }
+
+ // RSS Feed link button
+ this.widgets.rssFeed = Alfresco.util.createYUIButton(this, "rssFeed-button", null,
+ {
+ type: "link"
+ });
+ this.dynamicControls.push(this.widgets.rssFeed);
+
+ // Folder Up Navigation button
+ this.widgets.folderUp = Alfresco.util.createYUIButton(this, "folderUp-button", this.onFolderUp,
+ {
+ disabled: true,
+ title: this.msg("button.up")
+ });
+ this.dynamicControls.push(this.widgets.folderUp);
+
+ // DocLib Actions module
+ this.modules.actions = new Alfresco.module.DoclibActions();
+
+ // Reference to Document List component
+ this.modules.docList = Alfresco.util.ComponentManager.findFirst("Alfresco.DocumentList");
+
+ // Preferences service
+ this.services.preferences = new Alfresco.service.Preferences();
+
+ // Finally show the component body here to prevent UI artifacts on YUI button decoration
+ Dom.setStyle(this.id + "-body", "visibility", "visible");
+},
+
+
+/**
+ * New Archive button click handler
+ *
+ * @method onNewArchive
+ * @param e {object} DomEvent
+ * @param p_obj {object} Object passed back from addListener method
+ */
+onNewArchive: function DLTB_onNewArchive(e, p_obj)
+{
+ destination = this.doclistMetadata.parent.nodeRef;
+
+ // Intercept before dialog show
+ var doBeforeDialogShow = function DLTB_onNewFolder_doBeforeDialogShow(p_form, p_dialog)
+ {
+ Dom.get(p_dialog.id + "-dialogTitle").innerHTML = this.msg("label.new-archive.title");
+ Dom.get(p_dialog.id + "-dialogHeader").innerHTML = this.msg("label.new-archive.header");
+ Dom.get(p_dialog.id + "-destination-hidden").value = destination;
+
+ };
+
+ var createArchive = new Alfresco.module.SimpleDialog(this.id + "-createArchive");
+
+ createArchive.setOptions(
+ {
+ width: "40em",
+ templateUrl: Alfresco.constants.URL_SERVICECONTEXT + "components/form/create-archive-popup",
+ actionUrl: Alfresco.constants.PROXY_URI + "/saem/submit-create-archive-popup",
+ destroyOnHide: true,
+ doBeforeDialogShow:
+ {
+ fn: doBeforeDialogShow,
+ scope: this
+ },
+ onSuccess:
+ {
+ fn: function DLTB_onNewArchive_success(response)
+ {
+ var currentNodeRef = response.config.dataObj.destination;
+ var profileNodeRef = response.config.dataObj.profils;
+ window.location.assign(Alfresco.constants.URL_CONTEXT + "page/archive-management?" + "destination=" + currentNodeRef + "&profil=" + profileNodeRef);
+ },
+ scope: this
+ },
+ onFailure:
+ {
+ fn: function DLTB_onNewArchive_failure(response)
+ {
+ if (response)
+ {
+ var archiveName = Dom.get(this.id + "-profils").value;
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.new-archive.failure", archiveName)
+ });
+ }
+ else
+ {
+ Alfresco.util.PopupManager.displayMessage(
+ {
+ text: this.msg("message.failure")
+ });
+ }
+ },
+ scope: this
+ }
+ }).show();
+
+}
+ }, true);
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (C) 2005-2010 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Alfresco. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * StartWorkflow component.
+ *
+ * @namespace Alfresco.component
+ * @class Alfresco.component.StartWorkflow
+ */
+(function()
+{
+ /**
+ * YUI Library aliases
+ */
+ var Dom = YAHOO.util.Dom,
+ Event = YAHOO.util.Event;
+
+ /**
+ * StartWorkflow constructor.
+ *
+ * @param {String} htmlId The HTML id of the parent element
+ * @return {Alfresco.component.StartWorkflow} The new StartWorkflow instance
+ * @constructor
+ */
+ Alfresco.component.StartWorkflow = function StartWorkflow_constructor(htmlId)
+ {
+ Alfresco.component.StartWorkflow.superclass.constructor.call(this, htmlId, ["button"]);
+
+ // Re-register with our own name
+ this.name = "Alfresco.component.StartWorkflow";
+ Alfresco.util.ComponentManager.reregister(this);
+
+ // Instance variables
+ this.options = YAHOO.lang.merge(this.options, Alfresco.component.StartWorkflow.superclass.options);
+ this.selectedItems = "";
+ this.destination = "";
+ this.workflowName = "";
+ this.workflowTypes = [];
+
+ YAHOO.Bubbling.on("objectFinderReady", this.onObjectFinderReady, this);
+ YAHOO.Bubbling.on("formContentReady", this.onStartWorkflowFormContentReady, this);
+
+ return this;
+ };
+
+ YAHOO.extend(Alfresco.component.StartWorkflow, Alfresco.component.ShareFormManager,
+ {
+
+ /**
+ * Object container for initialization options
+ *
+ * @property options
+ * @type object
+ */
+ options:
+ {
+ /**
+ * The nodeRefs, separated by commas, to display in the workflow forms packageItems control.
+ *
+ * @property selectedItems
+ * @type string
+ */
+ selectedItems: "",
+
+ /**
+ * A nodeRef that represents the context of the workflow
+ *
+ * @property destination
+ * @type string
+ */
+ destination: "",
+
+ workflowName: "",
+
+ /**
+ * The workflow types that can be started
+ *
+ * @property workflowDefinitions
+ * @type Array of
+ * {
+ * name: {String} The workflow name (unique)
+ * title: {String} The title of the workflow
+ * description {String} The description of the workflow
+ * }
+ */
+ workflowDefinitions: []
+ },
+
+ /**
+ * Fired by YUI when parent element is available for scripting.
+ * Template initialisation, including instantiation of YUI widgets and event listener binding.
+ *
+ * @method onReady
+ */
+ onReady: function StartWorkflow_onReady()
+ {
+ this.widgets.workflowDefinitionMenuButton = Alfresco.util.createYUIButton(this, "workflow-definition-button",
+ this.onWorkflowSelectChange,
+ {
+ label: this.msg("label.selectWorkflowDefinition"),
+ title: this.msg("title.selectWorkflowDefinition"),
+ type: "menu",
+ menu: "workflow-definition-menu"
+ });
+
+ var result = Alfresco.component.StartWorkflow.superclass.onReady.call(this);
+
+
+ for(var i = 0 ; i < this.options.workflowDefinitions.length; i++){
+ if(this.options.workflowDefinitions[i].name == "activiti$wfVersement"
+ && this.options.workflowName == "versement"){
+ this.onWorkflowSelectChange("click",[false,{index:i}]);
+ break;
+ }
+ if(this.options.workflowDefinitions[i].name == "activiti$wfRestitution"
+ && this.options.workflowName == "restitution"){
+ this.onWorkflowSelectChange("click",[false,{index:i}]);
+ break;
+ }
+ }
+
+ return result;
+ },
+
+ /**
+ * Will populate the form packageItem's objectFinder with selectedItems when its ready
+ *
+ * @method onObjectFinderReady
+ * @param layer {object} Event fired (unused)
+ * @param args {array} Event parameters
+ */
+ onObjectFinderReady: function StartWorkflow_onObjectFinderReady(layer, args)
+ {
+ var objectFinder = args[1].eventGroup;
+ if (objectFinder.options.field == "assoc_packageItems" && objectFinder.eventGroup.indexOf(this.id) == 0)
+ {
+ objectFinder.selectItems(this.options.selectedItems);
+ }
+ },
+
+ /**
+ * Called when a workflow definition has been selected
+ *
+ * @method onWorkflowSelectChange
+ */
+ onWorkflowSelectChange: function StartWorkflow_onWorkflowSelectChange(p_sType, p_aArgs)
+ {
+ var i = p_aArgs[1].index;
+ if (i >= 0)
+ {
+ // Update label of workflow menu button
+ var workflowDefinition = this.options.workflowDefinitions[i];
+ this.widgets.workflowDefinitionMenuButton.set("label", workflowDefinition.title);
+ this.widgets.workflowDefinitionMenuButton.set("title", workflowDefinition.description);
+
+ // Load the form for the specific workflow
+ Alfresco.util.Ajax.request(
+ {
+ url: Alfresco.constants.URL_SERVICECONTEXT + "components/form",
+ dataObj:
+ {
+ htmlid: this.id + "-startWorkflowForm-" + Alfresco.util.generateDomId(),
+ itemKind: "workflow",
+ itemId: workflowDefinition.name,
+ mode: "create",
+ submitType: "json",
+ showCaption: true,
+ formUI: true,
+ showCancelButton: true,
+ destination: this.options.destination
+ },
+ successCallback:
+ {
+ fn: this.onWorkflowFormLoaded,
+ scope: this
+ },
+ failureMessage: this.msg("message.failure"),
+ scope: this,
+ execScripts: true
+ });
+ }
+ },
+
+ /**
+ * Called when a workflow form has been loaded.
+ * Will insert the form in the Dom.
+ *
+ * @method onWorkflowFormLoaded
+ * @param response {Object}
+ */
+ onWorkflowFormLoaded: function StartWorkflow_onWorkflowFormLoaded(response)
+ {
+ var formEl = Dom.get(this.id + "-workflowFormContainer");
+ Dom.addClass(formEl, "hidden");
+ formEl.innerHTML = response.serverResponse.responseText;
+ },
+
+ /**
+ * Event handler called when the "formContentReady" event is received
+ */
+ onStartWorkflowFormContentReady: function FormManager_onStartWorkflowFormContentReady(layer, args)
+ {
+ var formEl = Dom.get(this.id + "-workflowFormContainer");
+ Dom.removeClass(formEl, "hidden");
+ }
+
+ });
+
+})();
--- /dev/null
+.saem-form-main{
+
+}
+
+html {
+
+}
+
+.saem-form-main-top-border{
+ height:1px; background-color:#ccc;
+}
+
+.saem-form-menu{
+ float:left;
+ width:230px;
+ padding-left:10px;
+ height:100%;
+ position:relative;
+ overflow-y:scroll;
+}
+
+.saem-form-content{
+ float:right;
+ width:100%;
+ margin-left:-50em;
+ overflow-y:scroll;
+}
+
+.saem-form-content-margin{
+ margin-left:240px;
+}
+
+.saem-form-content-general-buttons{
+ padding:10px; border-bottom:solid 1px #eee; height:25px;
+}
+
+.saem-form-content-ariane{
+ border-bottom: 1px solid #EEEEEE;
+ padding-bottom: 10px;
+ padding-left: 5px;
+}
+
+.saem-form-content-mode-buttons{
+ margin-top:5px;
+ float:right;
+ top:11px;
+ right:0px;
+ width:85px;
+}
+
+.saem-form-move-div{
+ position:absolute; right:0px; width:5px; top:0px; bottom:0px; background-color:#eee;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ user-select: none;
+}
+
+.saem-form-move-div:hover{
+ background-color:#ccc;
+ cursor: ew-resize;
+}
+
+.saem-form-move-hover{
+ background-color:#666;
+}
+
+.saem-form-move-div-normal{
+ position:absolute; top: 45%; height:16px; width:5px; background: transparent url(layout_sprite.png) no-repeat 0 -5px;
+}
+
+.saem-root-cat{
+text-align: left;font: 13px/1.231 Open Sans,arial,helvetica,clean,sans-serif;color: #333; margin: 0;
+ padding-left: 5px;
+ padding-top: 20px;
+}
+
+.saem-cat-inf-td-name-link{
+
+ white-space: nowrap;
+}
+
+.saem-root-cat-inf-td-name-link{
+ font-size: 123.1%;
+ font-weight: normal;margin-top: 1em;
+ cursor: pointer;
+ display: block;
+ -webkit-margin-before: 0.83em;
+ -webkit-margin-after: 0.83em;
+ -webkit-margin-start: 0px;
+ -webkit-margin-end: 0px;
+ text-align: left;
+ font-family: 'Open Sans', arial, helvetica, clean, sans-serif;
+ font-style: normal;
+ font-variant: normal;
+ line-height: 1.231;
+ color: #333;
+ margin:0;
+
+}
+
+.saem-hover:hover{
+ cursor: pointer;
+}
+
+
+.saem-form-button{
+ float: left;margin: 0;display: block;visibility: visible;text-align: left;font-family: 'Open Sans', arial, helvetica, clean, sans-serif;
+ font-size: 13px;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: 1.231;
+ color: #333;
+}
+
+.saem-form-create-content{
+ background: none;
+ border-color:transparent;
+ border-width: 1px 1px;
+ border-style: solid;
+ margin: auto .25em;display: inline-block;
+ vertical-align: text-bottom;text-align: left;
+}
+
+.saem-form-create-content-hover{
+ border-color: #ccc;
+}
+
+.saem-form-create-content-selec{
+ border-color: #666;
+}
+
+.saem-form-first-child{
+ border-color: transparent;background-color: transparent;
+ background-position: 6px 4px;
+ background-repeat: no-repeat;
+ padding-left: 16px;background: none;border-width: 0 1px;
+ border-style: solid;margin: 0 -1px;display: block;
+}
+
+
+.saem-form-first-child button{
+ font-family: 'Open Sans', arial, helvetica, clean, sans-serif;
+ font-size: 99%;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: normal;padding-right: 20px;
+ background-position: right center;
+ background-repeat: no-repeat;padding: 0 10px;min-height: 2em;
+ color: #000;background-color: transparent;
+ cursor: pointer;display: block;
+ border: none;
+ margin: 0;
+ -webkit-box-align: center;
+ text-align: center;
+ box-sizing: border-box;letter-spacing: normal;
+ word-spacing: normal;
+ text-transform: none;
+ text-indent: 0px;
+ text-shadow: none;
+ -webkit-writing-mode: horizontal-tb;-webkit-appearance: button;
+}
+
+
+.saem-button-save{
+ background-image:url(sauvegarder.png);background-color: transparent;background-position: 6px 4px;background-repeat: no-repeat;padding-left: 16px;
+}
+
+.saem-button-soumettre{
+ background-image:url(soumettre.png);background-color: transparent;background-position: 6px 4px;background-repeat: no-repeat;padding-left: 16px;
+}
+
+
+.saem-form-content-mode-buttons-first-child{
+ border-color: transparent;
+ border-width:1px;
+ border-style: solid;margin: auto .25em;display: inline-block;
+ display:block;
+}
+
+.saem-form-content-mode-buttons-first-child-hover{
+ border-color: #ccc;
+}
+
+.saem-form-content-mode-buttons-first-child button{
+font-family: 'Open Sans', arial, helvetica, clean, sans-serif;
+font-size: 99%;
+font-style: normal;
+font-variant: normal;
+font-weight: normal;
+line-height: normal;color: #000;padding: 0 10px;background-image: none;background-color: transparent;
+cursor: pointer;display: block;
+border: none;
+margin: 0;-webkit-box-align: center;
+text-align: center;box-sizing: border-box;letter-spacing: normal;
+word-spacing: normal;
+text-transform: none;
+text-indent: 0px;
+text-shadow: none;-webkit-writing-mode: horizontal-tb;-webkit-appearance: button;
+}
+
+.saem-form-content-mode-buttons-content{
+ background: none;margin-left: 0;
+ margin-right: 0;border-width: 1px 1px;
+ vertical-align: text-bottom;text-align: right;font-family: 'Open Sans', arial, helvetica, clean, sans-serif;
+ font-size: 13px;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ display:inline-block;
+ line-height: 1.231;color: #333;
+}
+
+.saem-form-content-mode-buttons-first-child-expert-hide{
+ background-image: url(vudetaille_hide.png);background-position: 50% 50%;background-repeat: no-repeat;height: 16px; width: 16px;padding: 4px 4px 4px 4px;
+}
+
+.saem-form-content-mode-buttons-first-child-simple-hide{
+ background-image: url(vue_hide.png);background-position: 50% 50%;background-repeat: no-repeat;height: 16px; width: 16px;padding: 4px 4px 4px 4px;
+}
+
+.saem-form-content-ariane-element{
+ display:inline-block;
+ height: 16px;
+ margin: 0;
+ padding: 8px 0 0 4px;
+}
+
+.saem-form-content-ariane-element-first-child{
+ background-image: url("folderup.png");
+ background-position: 2px 30%;
+ background-repeat: no-repeat;
+ border: 1px solid transparent;
+ color: #000000;
+ font-size: 100%;
+ line-height: 1.4em;
+ margin-left: -1px;
+ padding: 2px 0 3px 16px;
+ text-decoration: none;
+}
+
+.saem-form-content-ariane-element-first-child.saem-root{
+ background-image: url("folderup_disabled.png");
+}
+
+.saem-form-content-ariane-element-first-child-disabled{
+ background-image: url(folderup_disabled.png);
+}
+
+.saem-form-content-ariane-element-first-child-hover{
+ border-color: #CCC;
+
+}
+
+.saem-form-content-ariane-element-first-child button{
+padding: 0;
+ width: 1px; margin: 0;
+ background-color: transparent;
+ background-image: none;
+ border: medium none;
+ color: #A6A6A6;
+ cursor: default;
+}
+
+.saem-form-content-ariane-separator{
+border-right: 1px solid #CCCCCC;
+ display: inline-block;
+}
+
+.saem-form-content-ariane-separator2{
+ display: inline-block;
+ padding-left:5px;
+}
+
+.saem-form-content-ariane-element-folder{
+ background-image: url(folder-open-16.png);
+ border: 1px solid transparent;
+ background-position: 2px 50%;
+ background-repeat: no-repeat;
+ margin-left: -1px;
+ padding: 2px 0 3px 16px;
+ color: #000000;
+ text-decoration: none;
+ font-size: 100%;
+ line-height: 1.4em;
+}
+
+.saem-form-content-ariane-element-text a{
+ color: #000000;
+ text-decoration: none;font-weight: normal;font-size: 100%;
+ line-height: 1.4em;
+ font: 13px/1.231 arial,helvetica,clean,sans-serif;
+}
+
+.saem-form-content-element{
+ border-bottom: 1px solid #EEEEEE;
+ padding: 5px;
+ position:relative;
+}
+
+.saem-form-content-element-inf{
+ width:100%;
+}
+
+.saem-form-content-element-inf-label{
+ text-align: left;color: #333333;
+ font-size: 17px;
+ font-weight: normal;
+ word-wrap: break-word;font-weight: normal !important;border-collapse: separate;
+ border-spacing: 0;
+ font-family: open sans,arial;
+}
+
+.saem-form-content-element-inf-obligatoire{
+ font: 13px Open Sans,arial,helvetica,clean,sans-serif;color: green;
+
+}
+
+.saem-form-content-element-inf-erreur{
+ text-align: right;
+ font: 13px/1.231 Open Sans,arial,helvetica,clean,sans-serif;color: red;
+ margin-left: 0.4em;
+ margin-right: 0.4em;
+}
+
+.saem-form-content-element-e{
+ width:100%;
+}
+
+.saem-form-content-element-e-col1{
+ width:50px;
+ text-align:center;
+}
+
+.saem-form-content-element-e-col1 button{
+ border: none;
+ background: url(aide.png);
+ background-repeat: no-repeat;
+ height:16px;
+ width:16px;
+}
+
+.saem-form-content-element-value [input="text"] input{
+ width:99.5%;
+}
+
+.saem-form-content-element-value [input="textarea"] textarea{
+ width:99.5%;
+}
+
+.saem-cat{
+ padding-left:25px;
+ overflow-x: hidden;
+}
+
+.saem-root-cat{
+ padding-top:3px;
+ padding-bottom: 3px;
+}
+
+.saem-root-cat-inf{
+ width:100%;
+ padding-top:2px;
+ padding-bottom:2px;
+}
+
+.saem-root-cat-title-nberreur{
+ width:10px;
+ color:red;
+ font: 13px/1.231 Open Sans,arial,helvetica,clean,sans-serif;color: red;
+ text-align: right;
+}
+
+.saem-cat-inf{
+ width:100%;
+ padding-top:2px;
+ padding-bottom:2px;
+}
+
+.saem-cat-inf-nberreur{
+ width:10px;
+ color:red;
+ font: 13px/1.231 Open Sans,arial,helvetica,clean,sans-serif;color: red;
+ text-align: right;
+}
+
+
+.saem-root-cat-inf-td-folder{
+ width:18px;
+ padding-left:5px;
+}
+
+.saem-cat-inf-td-folder{
+ width:18px;
+ padding-left:5px;
+}
+
+.saem-root-cat-inf-td-folder a{
+ width:18px;
+ display:block;
+ width:16px;
+ height:10px;
+ background-image: url(expanded.png);
+ background-repeat: no-repeat;
+}
+
+.saem-root-cat-inf-td-folder a.close{
+ width:18px;
+ display:block;
+ width:16px;
+ height:10px;
+ background-image: url(notexpanded.png);
+ background-repeat: no-repeat;
+}
+
+.saem-cat-inf-td-folder a{
+ width:18px;
+ display:block;
+ width:16px;
+ height:16px;
+ background-image: url(folder-open-16.png);
+ background-repeat: no-repeat;
+}
+
+.saem-cat-inf-td-folder a.close{
+ width:18px;
+ display:block;
+ width:16px;
+ height:16px;
+ background-image: url(folder-closed-16.png);
+ background-repeat: no-repeat;
+}
+
+.saem-cat-inf-td-file{
+ width:18px;
+ padding-left:5px;
+}
+
+.saem-cat-inf-td-file a{
+ width:18px;
+ display:block;
+ width:16px;
+ height:16px;
+ background-image: url(category-16.png);
+ background-repeat: no-repeat;
+}
+
+
+
+.saem-cat-inf-td-name{
+ font: 13px/1.231 Open Sans,arial,helvetica,clean,sans-serif;
+ padding-left:5px;
+}
+
+.saem-cat-first{
+ padding-left:0px;
+}
+
+.saem-form-content-element-inf-list-add{
+ text-align: right;
+ width:18px;
+}
+
+.saem-form-content-element-inf-list-add-button{
+ display:block;
+ width:16px;
+ height:16px;
+ margin-left:5px;
+ margin-right:5px;
+ background-image: url(add.png);
+ background-repeat: no-repeat;
+}
+
+.saem-form-content-element-list-value{
+ border-top: 1px solid #EEEEEE;
+ border-left: 1px solid #EEEEEE;
+}
+
+.saem-form-content-element-list{
+ border-bottom: 1px solid #EEEEEE;
+ padding-top: 5px;
+ padding-left: 5px;
+}
+
+.saem-form-content-element-inf-list-del{
+ width:18px;
+}
+
+.saem-loader{
+ display:none;
+ position: absolute;
+ left:0px;
+ right:0px;
+ top:0px;
+ bottom:0px;
+ background-color: #000;
+ opacity: 0.5;
+}
+
+.saem-loader-zone{
+ position: absolute;
+ top:45%;
+ width: 100%;
+}
+
+.saem-loader-text{
+ color:#fff;
+}
+
+
+.saem-form-content-element-list-element-table{
+ width:100%;
+}
+
+.saem-form-content-element-list-element{
+ padding-top:5px;
+ padding-left:10px;
+}
+
+.saem-form-content-element-inf-list-del-button{
+ display:block;
+ width:16px;
+ height:16px;
+ margin-left:5px;
+ margin-right:5px;
+
+ background-image: url(suppr.png);
+ background-repeat: no-repeat;
+}
+
+.saem-form-content-element-inf-list-element-label{
+ text-align: left;color: #333333;
+ font-size: 14px;
+ font-weight: normal;
+ word-wrap: break-word;font-weight: normal !important;border-collapse: separate;
+ border-spacing: 0;
+ font-family: open sans,arial;
+}
+
+
+.saem-form-content-mode-buttons-first-child-expert{
+ border-color: #ccc;
+ background-image: url(vue_detaille.png);background-position: 50% 50%;background-repeat: no-repeat;height: 16px; width: 16px;padding: 4px 4px 4px 4px;
+}
+
+.saem-form-content-mode-buttons-first-child-simple{
+ border-color: #ccc;
+ background-image: url(vue.png);background-position: 50% 50%;background-repeat: no-repeat;height: 16px; width: 16px;padding: 4px 4px 4px 4px;
+}
+
+.saem-cat-inf-sel{
+ background-color:#eee;
+}
+
+.saem-form-content-element-help{
+ z-index: 4;
+width: 30em;
+left: 20px;
+top: 0px;
+visibility: visible;
+opacity: 1;font-family: 'Open Sans', arial, helvetica, clean, sans-serif;
+font-size: 13px;
+font-style: normal;
+font-variant: normal;
+font-weight: normal;
+line-height: 1.231;
+position: absolute;color: #333;
+}
+
+.saem-form-content-element-help-balloon{
+ background: #35403f;
+color: #e8e8e8;border: 1px solid #2c3635;box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+margin-bottom: 10px;
+min-width: 20em;border-radius: 6px !important;
+padding: 10px 12px !important;
+font-size: 91%;
+}
+
+.saem-form-content-element-help-balloon::after{
+width: 0;
+height: 0;
+border-right: 7px solid transparent;
+border-left: 7px solid transparent;
+border-top: 7px solid #2C3635;
+display: block;
+content: " ";
+position: absolute;
+bottom: 4px;
+left: 50px;
+}
+
+.saem-form-content-element-help-closeButton{
+ cursor: pointer;
+color: #888;
+float: right;
+left: 6px;
+position: relative;
+top: -7px;
+font-weight: bold;
+}
+
+.saem-form-content-element-help-balloon-arrow{
+
+}
+
+.saem-dateicone{
+ background-image: url(calendar-16-2.png);
+ display:inline-block;
+ width:16px;
+ height:16px;
+ margin-left:5px;
+ margin-rigth:5px;
+}
\ No newline at end of file
--- /dev/null
+.saem-select select{
+ width: 23em;
+ -webkit-appearance: none;
+}
+
+.missing-profils{
+ font-size: 13px;
+ border: 1px solid;
+ margin: 15px 35px 0px 44px;
+ padding: 13px 0px 15px 58px;
+ background-repeat: no-repeat;
+ background-position: 15px center;
+ color: #D8000C;
+ background-color: #FFBABA;
+ background-image: url(../themes/images/error.png);
+}
\ No newline at end of file
--- /dev/null
+/*! jQuery UI - v1.10.3 - 2013-05-03
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+ display: none;
+}
+.ui-helper-hidden-accessible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+.ui-helper-reset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ line-height: 1.3;
+ text-decoration: none;
+ font-size: 100%;
+ list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+ content: "";
+ display: table;
+ border-collapse: collapse;
+}
+.ui-helper-clearfix:after {
+ clear: both;
+}
+.ui-helper-clearfix {
+ min-height: 0; /* support: IE7 */
+}
+.ui-helper-zfix {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0);
+}
+
+.ui-front {
+ z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+ cursor: default !important;
+}
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ display: block;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+}
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-accordion .ui-accordion-header {
+ display: block;
+ cursor: pointer;
+ position: relative;
+ margin-top: 2px;
+ padding: .5em .5em .5em .7em;
+ min-height: 0; /* support: IE7 */
+}
+.ui-accordion .ui-accordion-icons {
+ padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-noicons {
+ padding-left: .7em;
+}
+.ui-accordion .ui-accordion-icons .ui-accordion-icons {
+ padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
+ position: absolute;
+ left: .5em;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-accordion .ui-accordion-content {
+ padding: 1em 2.2em;
+ border-top: 0;
+ overflow: auto;
+}
+.ui-autocomplete {
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: default;
+}
+.ui-button {
+ display: inline-block;
+ position: relative;
+ padding: 0;
+ line-height: normal;
+ margin-right: .1em;
+ cursor: pointer;
+ vertical-align: middle;
+ text-align: center;
+ overflow: visible; /* removes extra width in IE */
+}
+.ui-button,
+.ui-button:link,
+.ui-button:visited,
+.ui-button:hover,
+.ui-button:active {
+ text-decoration: none;
+}
+/* to make room for the icon, a width needs to be set here */
+.ui-button-icon-only {
+ width: 2.2em;
+}
+/* button elements seem to need a little more width */
+button.ui-button-icon-only {
+ width: 2.4em;
+}
+.ui-button-icons-only {
+ width: 3.4em;
+}
+button.ui-button-icons-only {
+ width: 3.7em;
+}
+
+/* button text element */
+.ui-button .ui-button-text {
+ display: block;
+ line-height: normal;
+}
+.ui-button-text-only .ui-button-text {
+ padding: .4em 1em;
+}
+.ui-button-icon-only .ui-button-text,
+.ui-button-icons-only .ui-button-text {
+ padding: .4em;
+ text-indent: -9999999px;
+}
+.ui-button-text-icon-primary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+ padding: .4em 1em .4em 2.1em;
+}
+.ui-button-text-icon-secondary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+ padding: .4em 2.1em .4em 1em;
+}
+.ui-button-text-icons .ui-button-text {
+ padding-left: 2.1em;
+ padding-right: 2.1em;
+}
+/* no icon support for input elements, provide padding by default */
+input.ui-button {
+ padding: .4em 1em;
+}
+
+/* button icon element(s) */
+.ui-button-icon-only .ui-icon,
+.ui-button-text-icon-primary .ui-icon,
+.ui-button-text-icon-secondary .ui-icon,
+.ui-button-text-icons .ui-icon,
+.ui-button-icons-only .ui-icon {
+ position: absolute;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-button-icon-only .ui-icon {
+ left: 50%;
+ margin-left: -8px;
+}
+.ui-button-text-icon-primary .ui-button-icon-primary,
+.ui-button-text-icons .ui-button-icon-primary,
+.ui-button-icons-only .ui-button-icon-primary {
+ left: .5em;
+}
+.ui-button-text-icon-secondary .ui-button-icon-secondary,
+.ui-button-text-icons .ui-button-icon-secondary,
+.ui-button-icons-only .ui-button-icon-secondary {
+ right: .5em;
+}
+
+/* button sets */
+.ui-buttonset {
+ margin-right: 7px;
+}
+.ui-buttonset .ui-button {
+ margin-left: 0;
+ margin-right: -.3em;
+}
+
+/* workarounds */
+/* reset extra padding in Firefox, see h5bp.com/l */
+input.ui-button::-moz-focus-inner,
+button.ui-button::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+.ui-datepicker {
+ width: 17em;
+ padding: .2em .2em 0;
+ display: none;
+}
+.ui-datepicker .ui-datepicker-header {
+ position: relative;
+ padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+ position: absolute;
+ top: 2px;
+ width: 1.8em;
+ height: 1.8em;
+}
+.ui-datepicker .ui-datepicker-prev-hover,
+.ui-datepicker .ui-datepicker-next-hover {
+ top: 1px;
+}
+.ui-datepicker .ui-datepicker-prev {
+ left: 2px;
+}
+.ui-datepicker .ui-datepicker-next {
+ right: 2px;
+}
+.ui-datepicker .ui-datepicker-prev-hover {
+ left: 1px;
+}
+.ui-datepicker .ui-datepicker-next-hover {
+ right: 1px;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+ display: block;
+ position: absolute;
+ left: 50%;
+ margin-left: -8px;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-datepicker .ui-datepicker-title {
+ margin: 0 2.3em;
+ line-height: 1.8em;
+ text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+ font-size: 1em;
+ margin: 1px 0;
+}
+.ui-datepicker select.ui-datepicker-month-year {
+ width: 100%;
+}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year {
+ width: 49%;
+}
+.ui-datepicker table {
+ width: 100%;
+ font-size: .9em;
+ border-collapse: collapse;
+ margin: 0 0 .4em;
+}
+.ui-datepicker th {
+ padding: .7em .3em;
+ text-align: center;
+ font-weight: bold;
+ border: 0;
+}
+.ui-datepicker td {
+ border: 0;
+ padding: 1px;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+ display: block;
+ padding: .2em;
+ text-align: right;
+ text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+ background-image: none;
+ margin: .7em 0 0 0;
+ padding: 0 .2em;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+ float: right;
+ margin: .5em .2em .4em;
+ cursor: pointer;
+ padding: .2em .6em .3em .6em;
+ width: auto;
+ overflow: visible;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+ float: left;
+}
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi {
+ width: auto;
+}
+.ui-datepicker-multi .ui-datepicker-group {
+ float: left;
+}
+.ui-datepicker-multi .ui-datepicker-group table {
+ width: 95%;
+ margin: 0 auto .4em;
+}
+.ui-datepicker-multi-2 .ui-datepicker-group {
+ width: 50%;
+}
+.ui-datepicker-multi-3 .ui-datepicker-group {
+ width: 33.3%;
+}
+.ui-datepicker-multi-4 .ui-datepicker-group {
+ width: 25%;
+}
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
+ border-left-width: 0;
+}
+.ui-datepicker-multi .ui-datepicker-buttonpane {
+ clear: left;
+}
+.ui-datepicker-row-break {
+ clear: both;
+ width: 100%;
+ font-size: 0;
+}
+
+/* RTL support */
+.ui-datepicker-rtl {
+ direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+ right: 2px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+ left: 2px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+ right: 1px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+ left: 1px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+ clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+ float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
+.ui-datepicker-rtl .ui-datepicker-group {
+ float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+ border-right-width: 0;
+ border-left-width: 1px;
+}
+.ui-dialog {
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: .2em;
+ outline: 0;
+}
+.ui-dialog .ui-dialog-titlebar {
+ padding: .4em 1em;
+ position: relative;
+}
+.ui-dialog .ui-dialog-title {
+ float: left;
+ margin: .1em 0;
+ white-space: nowrap;
+ width: 90%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.ui-dialog .ui-dialog-titlebar-close {
+ position: absolute;
+ right: .3em;
+ top: 50%;
+ width: 21px;
+ margin: -10px 0 0 0;
+ padding: 1px;
+ height: 20px;
+}
+.ui-dialog .ui-dialog-content {
+ position: relative;
+ border: 0;
+ padding: .5em 1em;
+ background: none;
+ overflow: auto;
+}
+.ui-dialog .ui-dialog-buttonpane {
+ text-align: left;
+ border-width: 1px 0 0 0;
+ background-image: none;
+ margin-top: .5em;
+ padding: .3em 1em .5em .4em;
+}
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: right;
+}
+.ui-dialog .ui-dialog-buttonpane button {
+ margin: .5em .4em .5em 0;
+ cursor: pointer;
+}
+.ui-dialog .ui-resizable-se {
+ width: 12px;
+ height: 12px;
+ right: -5px;
+ bottom: -5px;
+ background-position: 16px 16px;
+}
+.ui-draggable .ui-dialog-titlebar {
+ cursor: move;
+}
+.ui-menu {
+ list-style: none;
+ padding: 2px;
+ margin: 0;
+ display: block;
+ outline: none;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+ position: absolute;
+}
+.ui-menu .ui-menu-item {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ /* support: IE10, see #8844 */
+ list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+}
+.ui-menu .ui-menu-divider {
+ margin: 5px -2px 5px -2px;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+ border-width: 1px 0 0 0;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration: none;
+ display: block;
+ padding: 2px .4em;
+ line-height: 1.5;
+ min-height: 0; /* support: IE7 */
+ font-weight: normal;
+}
+.ui-menu .ui-menu-item a.ui-state-focus,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+
+.ui-menu .ui-state-disabled {
+ font-weight: normal;
+ margin: .4em 0 .2em;
+ line-height: 1.5;
+}
+.ui-menu .ui-state-disabled a {
+ cursor: default;
+}
+
+/* icon support */
+.ui-menu-icons {
+ position: relative;
+}
+.ui-menu-icons .ui-menu-item a {
+ position: relative;
+ padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+ position: absolute;
+ top: .2em;
+ left: .2em;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+ position: static;
+ float: right;
+}
+.ui-progressbar {
+ height: 2em;
+ text-align: left;
+ overflow: hidden;
+}
+.ui-progressbar .ui-progressbar-value {
+ margin: -1px;
+ height: 100%;
+}
+.ui-progressbar .ui-progressbar-overlay {
+ background: url("images/animated-overlay.gif");
+ height: 100%;
+ filter: alpha(opacity=25);
+ opacity: 0.25;
+}
+.ui-progressbar-indeterminate .ui-progressbar-value {
+ background-image: none;
+}
+.ui-resizable {
+ position: relative;
+}
+.ui-resizable-handle {
+ position: absolute;
+ font-size: 0.1px;
+ display: block;
+}
+.ui-resizable-disabled .ui-resizable-handle,
+.ui-resizable-autohide .ui-resizable-handle {
+ display: none;
+}
+.ui-resizable-n {
+ cursor: n-resize;
+ height: 7px;
+ width: 100%;
+ top: -5px;
+ left: 0;
+}
+.ui-resizable-s {
+ cursor: s-resize;
+ height: 7px;
+ width: 100%;
+ bottom: -5px;
+ left: 0;
+}
+.ui-resizable-e {
+ cursor: e-resize;
+ width: 7px;
+ right: -5px;
+ top: 0;
+ height: 100%;
+}
+.ui-resizable-w {
+ cursor: w-resize;
+ width: 7px;
+ left: -5px;
+ top: 0;
+ height: 100%;
+}
+.ui-resizable-se {
+ cursor: se-resize;
+ width: 12px;
+ height: 12px;
+ right: 1px;
+ bottom: 1px;
+}
+.ui-resizable-sw {
+ cursor: sw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ bottom: -5px;
+}
+.ui-resizable-nw {
+ cursor: nw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ top: -5px;
+}
+.ui-resizable-ne {
+ cursor: ne-resize;
+ width: 9px;
+ height: 9px;
+ right: -5px;
+ top: -5px;
+}
+.ui-selectable-helper {
+ position: absolute;
+ z-index: 100;
+ border: 1px dotted black;
+}
+.ui-slider {
+ position: relative;
+ text-align: left;
+}
+.ui-slider .ui-slider-handle {
+ position: absolute;
+ z-index: 2;
+ width: 1.2em;
+ height: 1.2em;
+ cursor: default;
+}
+.ui-slider .ui-slider-range {
+ position: absolute;
+ z-index: 1;
+ font-size: .7em;
+ display: block;
+ border: 0;
+ background-position: 0 0;
+}
+
+/* For IE8 - See #6727 */
+.ui-slider.ui-state-disabled .ui-slider-handle,
+.ui-slider.ui-state-disabled .ui-slider-range {
+ filter: inherit;
+}
+
+.ui-slider-horizontal {
+ height: .8em;
+}
+.ui-slider-horizontal .ui-slider-handle {
+ top: -.3em;
+ margin-left: -.6em;
+}
+.ui-slider-horizontal .ui-slider-range {
+ top: 0;
+ height: 100%;
+}
+.ui-slider-horizontal .ui-slider-range-min {
+ left: 0;
+}
+.ui-slider-horizontal .ui-slider-range-max {
+ right: 0;
+}
+
+.ui-slider-vertical {
+ width: .8em;
+ height: 100px;
+}
+.ui-slider-vertical .ui-slider-handle {
+ left: -.3em;
+ margin-left: 0;
+ margin-bottom: -.6em;
+}
+.ui-slider-vertical .ui-slider-range {
+ left: 0;
+ width: 100%;
+}
+.ui-slider-vertical .ui-slider-range-min {
+ bottom: 0;
+}
+.ui-slider-vertical .ui-slider-range-max {
+ top: 0;
+}
+.ui-spinner {
+ position: relative;
+ display: inline-block;
+ overflow: hidden;
+ padding: 0;
+ vertical-align: middle;
+}
+.ui-spinner-input {
+ border: none;
+ background: none;
+ color: inherit;
+ padding: 0;
+ margin: .2em 0;
+ vertical-align: middle;
+ margin-left: .4em;
+ margin-right: 22px;
+}
+.ui-spinner-button {
+ width: 16px;
+ height: 50%;
+ font-size: .5em;
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ position: absolute;
+ cursor: default;
+ display: block;
+ overflow: hidden;
+ right: 0;
+}
+/* more specificity required here to overide default borders */
+.ui-spinner a.ui-spinner-button {
+ border-top: none;
+ border-bottom: none;
+ border-right: none;
+}
+/* vertical centre icon */
+.ui-spinner .ui-icon {
+ position: absolute;
+ margin-top: -8px;
+ top: 50%;
+ left: 0;
+}
+.ui-spinner-up {
+ top: 0;
+}
+.ui-spinner-down {
+ bottom: 0;
+}
+
+/* TR overrides */
+.ui-spinner .ui-icon-triangle-1-s {
+ /* need to fix icons sprite */
+ background-position: -65px -16px;
+}
+.ui-tabs {
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+ padding: .2em;
+}
+.ui-tabs .ui-tabs-nav {
+ margin: 0;
+ padding: .2em .2em 0;
+}
+.ui-tabs .ui-tabs-nav li {
+ list-style: none;
+ float: left;
+ position: relative;
+ top: 0;
+ margin: 1px .2em 0 0;
+ border-bottom-width: 0;
+ padding: 0;
+ white-space: nowrap;
+}
+.ui-tabs .ui-tabs-nav li a {
+ float: left;
+ padding: .5em 1em;
+ text-decoration: none;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active {
+ margin-bottom: -1px;
+ padding-bottom: 1px;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
+.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
+.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
+ cursor: text;
+}
+.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
+ cursor: pointer;
+}
+.ui-tabs .ui-tabs-panel {
+ display: block;
+ border-width: 0;
+ padding: 1em 1.4em;
+ background: none;
+}
+.ui-tooltip {
+ padding: 8px;
+ position: absolute;
+ z-index: 9999;
+ max-width: 300px;
+ -webkit-box-shadow: 0 0 5px #aaa;
+ box-shadow: 0 0 5px #aaa;
+}
+body .ui-tooltip {
+ border-width: 2px;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 1.1em;
+}
+.ui-widget .ui-widget {
+ font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 1em;
+}
+.ui-widget-content {
+ border: 1px solid #aaaaaa;
+ background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
+ color: #222222;
+}
+.ui-widget-content a {
+ color: #222222;
+}
+.ui-widget-header {
+ border: 1px solid #aaaaaa;
+ background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
+ color: #222222;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: #222222;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ border: 1px solid #d3d3d3;
+ background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
+ font-weight: normal;
+ color: #555555;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+ color: #555555;
+ text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus {
+ border: 1px solid #999999;
+ background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
+ font-weight: normal;
+ color: #212121;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+ color: #212121;
+ text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+ border: 1px solid #aaaaaa;
+ background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
+ font-weight: normal;
+ color: #212121;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #212121;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #fcefa1;
+ background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
+ color: #363636;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #363636;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #cd0a0a;
+ background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
+ color: #cd0a0a;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #cd0a0a;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #cd0a0a;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+ font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+ opacity: .7;
+ filter:Alpha(Opacity=70);
+ font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+ opacity: .35;
+ filter:Alpha(Opacity=35);
+ background-image: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-widget-header .ui-icon {
+ background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-state-default .ui-icon {
+ background-image: url(images/ui-icons_888888_256x240.png);
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+ background-image: url(images/ui-icons_454545_256x240.png);
+}
+.ui-state-active .ui-icon {
+ background-image: url(images/ui-icons_454545_256x240.png);
+}
+.ui-state-highlight .ui-icon {
+ background-image: url(images/ui-icons_2e83ff_256x240.png);
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url(images/ui-icons_cd0a0a_256x240.png);
+}
+
+/* positioning */
+.ui-icon-blank { background-position: 16px 16px; }
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+ border-top-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+ border-top-right-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+ border-bottom-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+ border-bottom-right-radius: 4px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+ opacity: .3;
+ filter: Alpha(Opacity=30);
+}
+.ui-widget-shadow {
+ margin: -8px 0 0 -8px;
+ padding: 8px;
+ background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+ opacity: .3;
+ filter: Alpha(Opacity=30);
+ border-radius: 8px;
+}
\ No newline at end of file
--- /dev/null
+var createArchiveForm = {
+ obj: null,
+ // Default params
+ params: {
+ loaderId: "saem-loader",
+ loadDataURL: null,
+ editDataURL: null,
+ addItemURL:null,
+ removeDataURL:null,
+ actionURL:null,
+ editURL:null,
+ debug: true,
+ dataInsertion : "#saem-form-content-insertion",
+ mode: "modif",
+ htmlid : null
+ },
+ submit: {
+ editsubmit:function(){
+ createArchiveForm.loader.setMessage("Vérification des champs");
+ createArchiveForm.loader.show();
+
+ if (!createArchiveForm.submit.checkField()) {
+ createArchiveForm.loader.hide();
+ return;
+ }
+
+ createArchiveForm.loader.setMessage("Envoi du bordereau de versement");
+ createArchiveForm.loader.show();
+
+ createArchiveForm.submit.sendFormDataForEdit();
+ },
+ submit: function() {
+ createArchiveForm.loader.setMessage("Vérification des champs");
+ createArchiveForm.loader.show();
+
+ if (!createArchiveForm.submit.checkField()) {
+ createArchiveForm.loader.hide();
+ return;
+ }
+
+ createArchiveForm.loader.setMessage("Envoi du bordereau de versement");
+ createArchiveForm.loader.show();
+
+ createArchiveForm.submit.sendFormData();
+ },
+ sendFormDataForEdit: function() {
+ var data = JSON.parse(JSON.stringify(createArchiveForm.params.actionParams));
+ data.action = "edit";
+ data.id = createArchiveForm.params.htmlid;
+ $.ajax({
+ type: "POST",
+ dataType: 'json',
+ url: createArchiveForm.params.editURL,
+ data: data
+ }).done(function(msg) {
+ createArchiveForm.submit.sendFiles(msg);
+ }).fail(function(jqXHR, textStatus) {
+ createArchiveForm.loader.setMessage("");
+ createArchiveForm.loader.hide();
+ });
+ },
+ sendFormData: function() {
+ var data = JSON.parse(JSON.stringify(createArchiveForm.params.actionParams));
+ data.action = "save";
+ data.id = createArchiveForm.params.htmlid;
+ $.ajax({
+ type: "POST",
+ dataType: 'json',
+ url: createArchiveForm.params.actionURL,
+ data: data
+ }).done(function(msg) {
+ createArchiveForm.submit.sendFiles(msg);
+ }).fail(function(jqXHR, textStatus) {
+ createArchiveForm.loader.setMessage("");
+ createArchiveForm.loader.hide();
+ });
+ },
+ filesToUpload: null,
+ filesName: null,
+ sendFiles: function(msg) {
+ createArchiveForm.submit.filesToUpload = [];
+ createArchiveForm.submit.filesName = msg;
+ var ifr = createArchiveForm.obj.find("#saem-form-content-insertion").find("iframe");
+ for (var i = 0; i < ifr.length; i++) {
+ $(ifr.get(i)).bind("load", createArchiveForm.submit.sendFileLoadEvent);
+ createArchiveForm.submit.filesToUpload.push($(ifr.get(i)));
+ }
+ createArchiveForm.submit.sendFile();
+ },
+ sendFileLoadEvent: function() {
+ if ($(this).contents().find("#result").length == 1) {
+ createArchiveForm.submit.filesName.filesDestinations.splice(0, 1);
+ createArchiveForm.submit.sendFile();
+ }
+ else {
+ createArchiveForm.loader.setMessage("");
+ createArchiveForm.loader.hide();
+ }
+ },
+ sendFile: function() {
+ var findFile = false;
+
+ if(createArchiveForm.submit.filesName.filesDestinations.length == 0) {
+ $.ajax({
+ type: "GET",
+ cache: false,
+ url: "/share/proxy/alfresco/saem/search?folderId=" + createArchiveForm.submit.filesName.redirection
+ }).done(function(msg) {
+ $("#saem-loading-info").text("Préparation de la redirection");
+ document.location.href = "/share/page/site/" + encodeURIComponent(msg.items[0].site.shortName).toLowerCase() + "/" + encodeURIComponent(msg.items[0].container).toLowerCase() + "#filter=path" + encodeURIComponent("|/" + msg.items[0].path + "/" + msg.items[0].name);
+ }).fail(function(jqXHR, textStatus) {
+ document.location.href = "/share/page/";
+ });
+ return ;
+ }
+
+
+ for(var i = 0; i < createArchiveForm.submit.filesToUpload.length ; i++){
+ if(createArchiveForm.submit.filesToUpload[i].contents().find("[name='file']").length == 0)
+ continue;
+
+ var filename = createArchiveForm.submit.filesToUpload[i].contents().find("[name='file']").val().substring(createArchiveForm.submit.filesToUpload[i].contents().find("[name='file']").val().lastIndexOf('\\') + 1);
+
+ if(filename == createArchiveForm.submit.filesName.filesDestinations[0].name){
+ findFile = true;
+ createArchiveForm.loader.setMessage("Téléversement du fichier" + createArchiveForm.submit.filesToUpload[i].contents().find("[name='file']").val().substring(createArchiveForm.submit.filesToUpload[i].contents().find("[name='file']").val().lastIndexOf('\\') + 1));
+ createArchiveForm.submit.filesToUpload[i].contents().find("[name='dest']").val(createArchiveForm.submit.filesName.filesDestinations[0].dest);
+ createArchiveForm.submit.filesToUpload[i].contents().find("form").submit();
+ }
+ }
+
+ if(!findFile){
+ createArchiveForm.submit.filesName.filesDestinations.splice(0, 1);
+ createArchiveForm.submit.sendFile();
+ }
+ },
+ checkField: function() {
+ var erreur = null;
+ var inputs = createArchiveForm.obj.find("#saem-form-content-insertion").find("[formtype]");
+ for (var i = 0; i < inputs.length; i++) {
+ if (!createArchiveForm.form.form.checkFieldEmpty($(inputs.get(i)))) {
+ if (erreur == null) {
+ erreur = $(inputs.get(i));
+ break;
+ }
+ }
+ }
+
+ if (erreur != null) {
+ var parent = erreur;
+ while(parent.attr("moduleid")==undefined){
+ parent = parent.parent();
+ }
+
+ createArchiveForm.form.utils.changeDisplay(parent.attr("moduleid"));
+ return false;
+ }
+
+ return true;
+ }
+ },
+ utils: {
+ click:function(div){
+ div.click();
+ },
+ ConvChar: function(str) {
+ c = {'<': '<', '>': '>', '&': '&', '"': '"', "'": ''',
+ '#': '#'};
+ return str.replace(/[<&>'"#]/g, function(s) {
+ return c[s];
+ });
+ }
+ },
+ start: function() {
+ // On affiche le loader
+ createArchiveForm.loader.init();
+ createArchiveForm.loader.show();
+
+ //On récupere les données
+ createArchiveForm.data.getInitData();
+ },
+ data:{
+ getInitData:function(){
+ createArchiveForm.loader.setMessage("Récupération des données");
+ $.ajax({
+ type: "GET",
+ dataType: 'json',
+ cache: false,
+ url: createArchiveForm.params.loadDataURL
+ }).done(function(msg) {
+ createArchiveForm.params.htmlid = msg.ifhtml;
+ createArchiveForm.obj.find(createArchiveForm.params.dataInsertion).html(msg.htmldata);
+ createArchiveForm.form.init(0,createArchiveForm.form.endFunction);
+ }).fail(function(jqXHR, textStatus) {
+ createArchiveForm.warning.mess("Erreur lors du téléchargement du model et des données");
+ createArchiveForm.loader.setMessage("");
+ });
+ }
+ },
+ warning: {
+ mess: function(text) {
+ if (createArchiveForm.params.debug) {
+ alert(text);
+ }
+ else{
+
+ }
+ }
+ },
+ form:{
+ posx: null,
+ mouseup: true,
+ initForm:function(){
+ createArchiveForm.obj.find(".saem-root-cat-inf-td-folder-link").bind("click", function() {
+ if ($(this).hasClass("close")) {
+ $(this).removeClass("close");
+ $(this).parent().parent().parent().parent().parent().parent().children(".saem-cat").show();
+ }
+ else {
+ $(this).addClass("close");
+ $(this).parent().parent().parent().parent().parent().parent().children(".saem-cat").hide();
+ }
+ });
+
+ createArchiveForm.obj.find(".saem-form-create-content").bind("mouseover", function() {
+ $(this).addClass("saem-form-create-content-hover");
+ });
+
+ createArchiveForm.obj.find(".saem-form-create-content").bind("mouseout", function() {
+ $(this).removeClass("saem-form-create-content-hover");
+ });
+
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child").bind("mouseover", function() {
+ $(this).addClass("saem-form-content-mode-buttons-first-child-hover");
+ });
+
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child").bind("mouseout", function() {
+ $(this).removeClass("saem-form-content-mode-buttons-first-child-hover");
+ });
+
+
+ if(createArchiveForm.obj.find("[entete]").length == 0)
+ createArchiveForm.obj.find("#saem-entete").remove();
+
+
+ if(createArchiveForm.obj.find("[description]").length == 0)
+ createArchiveForm.obj.find("#saem-description").remove();
+
+
+ createArchiveForm.obj.find(".saem-form-move-div").bind("mousedown", function(e) {
+ createArchiveForm.form.mouseup = false;
+ createArchiveForm.form.posx = e.pageX;
+ });
+
+ $(document).bind("mouseup", function() {
+ createArchiveForm.form.mouseup = true;
+ });
+
+ $(document).bind("mousemove", function(e) {
+
+ if (createArchiveForm.form.mouseup == false) {
+ var width = createArchiveForm.obj.find(".saem-form-menu").css("width").split('p')[0];
+
+ var newwidth = width - (createArchiveForm.form.posx - e.pageX);
+ if (newwidth >= 250 && newwidth <= 600) {
+ createArchiveForm.obj.find(".saem-form-menu").css("width", newwidth);
+ createArchiveForm.obj.find(".saem-form-content-margin").css("margin-left", newwidth + 10);
+
+ createArchiveForm.form.posx = e.pageX;
+ }
+ }
+
+ });
+
+ createArchiveForm.obj.find(".saem-button-soumettre button").bind("click", createArchiveForm.submit.submit);
+
+ createArchiveForm.obj.find(".saem-button-edit button").bind("click", createArchiveForm.submit.editsubmit);
+
+ if(createArchiveForm.params.mode=="read"){
+ $("#titlesaemform").text("Afficher un bordereau");
+ createArchiveForm.obj.find(".saem-button-soumettre").hide();
+ createArchiveForm.obj.find(".saem-button-edit").hide();
+ }
+ else if(createArchiveForm.params.mode=="edit"){
+ $("#titlesaemform").text("Modifier un bordereau de versement");
+ createArchiveForm.obj.find(".saem-button-soumettre").hide();
+ createArchiveForm.obj.find(".saem-button-edit").show();
+ }
+ else{
+
+ $("#titlesaemform").text("Création d'un bordereau de versement");
+ createArchiveForm.obj.find(".saem-button-soumettre").show();
+ createArchiveForm.obj.find(".saem-button-edit").hide();
+ }
+ },
+ initModuleId:null,
+ moduleToInit:[],
+ func:null,
+ endFunction:function(){
+ if(createArchiveForm.form.initModuleId != null){
+ createArchiveForm.form.utils.changeDisplay(createArchiveForm.form.initModuleId);
+ }
+ createArchiveForm.form.initForm();
+ },
+ init:function(moduleId,func){
+ createArchiveForm.form.pushAllModuleToInit(moduleId);
+ createArchiveForm.form.launchInitModule();
+
+ if(func==null || func!=undefined){
+ createArchiveForm.form.func = func;
+ }
+ else{
+ createArchiveForm.form.func = null;
+ }
+ },
+ launchInitModule:function(){
+ if(createArchiveForm.form.moduleToInit.length > 0){
+ window.setTimeout("createArchiveForm.form.initModule()",10);
+ }
+ else{
+ if(createArchiveForm.form.func != null)
+ createArchiveForm.form.func();
+
+ createArchiveForm.loader.hide();
+ }
+ },
+ initModule:function(){
+ var module = createArchiveForm.form.moduleToInit[0];
+
+ if(module.attr("init") == "true")
+ createArchiveForm.form.initModuleId = module.attr("moduleid");
+
+ createArchiveForm.form.moduleToInit.splice(0,1);
+ if(createArchiveForm.form.moduleToInit.length > 0){
+ window.setTimeout("createArchiveForm.form.initModule()",10);
+ }
+ else{
+ if(createArchiveForm.form.func != null)
+ createArchiveForm.form.func();
+
+ createArchiveForm.loader.hide();
+ }
+ },
+ pushAllModuleToInit:function(moduleId){
+ var module = createArchiveForm.obj.find("[moduleid=\""+moduleId+"\"]");
+ createArchiveForm.form.moduleToInit.push(module);
+ createArchiveForm.form.menu.initInMenu(module);
+ createArchiveForm.form.form.initInForm(module);
+
+ var modules = createArchiveForm.obj.find("[parentmoduleid=\""+moduleId+"\"]");
+ for(var i = 0; i < modules.length ; i ++){
+ createArchiveForm.form.pushAllModuleToInit($(modules.get(i)).attr("moduleid"));
+ }
+
+ },
+ form:{
+ removeItemList:function(id,obj){
+ var data = {};
+ data.action = "removeItem";
+ data.id = id;
+ $.ajax({
+ type: "POST",
+ dataType: 'json',
+ url: createArchiveForm.params.removeDataURL,
+ data: data
+ }).done(function(msg) {
+ if(msg.result!="OK")
+ createArchiveForm.warning.mess("Erreur lors de la mise à jour des données");
+ else{
+ var parent = obj;
+ while(!parent.hasClass("saem-form-content-element-list")){
+ parent = parent.parent();
+ }
+ var addbutton = parent.find(".saem-form-content-element-inf-list-add-button");
+ addbutton.show();
+ var rel = obj.attr("rel")
+ obj.remove();
+ createArchiveForm.form.form.removeModule(rel);
+ }
+ }).fail(function(jqXHR, textStatus) {
+ createArchiveForm.warning.mess("Erreur lors de la mise à jour des données");
+ });
+ },
+ removeModule:function(rel){
+ var modulesid = createArchiveForm.obj.find("[moduleid=\""+rel+"\"]");
+
+ var parents = createArchiveForm.obj.find("[parentmoduleid=\""+rel+"\"]");
+
+ for(var i = 0; i < parents.length ; i ++){
+ createArchiveForm.form.form.removeModule(parents.attr("moduleid"));
+ }
+
+ createArchiveForm.obj.find("[rel=\""+rel+"\"]").remove();
+ modulesid.remove();
+ },
+ addItemList:function(id,zoneinsertion){
+ var data = {};
+ data.action = "additem";
+ data.id = id;
+ $.ajax({
+ type: "POST",
+ dataType: 'json',
+ url: createArchiveForm.params.addItemURL,
+ data: data
+ }).done(function(msg) {
+ var htmllistext = $(msg.htmldata);
+ var globalhtml = null;
+ var rel = null;
+ zoneinsertion.append(htmllistext);
+ if(msg.globalhtml != null && msg.globalhtml != undefined && msg.globalhtml.length != 0){
+ rel = htmllistext.attr("rel");
+ for(var i = 0; i < msg.globalhtml.length; i++){
+ var obj = $(msg.globalhtml[i]);
+ obj.hide();
+ createArchiveForm.obj.find("#saem-form-content-insertion").append(obj);
+ }
+ createArchiveForm.form.init(rel);
+ }
+
+ createArchiveForm.form.form.initInForm(htmllistext);
+
+ if(msg.canAlwaysAdd != null && msg.canAlwaysAdd != undefined && msg.canAlwaysAdd == true){
+ var parent = zoneinsertion;
+ while(!parent.hasClass("saem-form-content-element-list")){
+ parent = parent.parent();
+ }
+ var addbutton = parent.find(".saem-form-content-element-inf-list-add-button");
+ addbutton.show();
+ }
+ else{
+ var parent = zoneinsertion;
+ while(!parent.hasClass("saem-form-content-element-list")){
+ parent = parent.parent();
+ }
+ var addbutton = parent.find(".saem-form-content-element-inf-list-add-button");
+ addbutton.hide();
+ }
+
+ }).fail(function(jqXHR, textStatus) {
+ createArchiveForm.warning.mess("Erreur lors de la mise à jour des données");
+ });
+
+ },
+ editField:function(id,val){
+ var data = {};
+ data.action = "edit";
+ data.id = id;
+ data.value = val;
+ $.ajax({
+ type: "POST",
+ dataType: 'json',
+ url: createArchiveForm.params.editDataURL,
+ data: data
+ }).done(function(msg) {
+ if(msg.result!="OK")
+ createArchiveForm.warning.mess("Erreur lors de la mise à jour des données");
+ }).fail(function(jqXHR, textStatus) {
+ createArchiveForm.warning.mess("Erreur lors de la mise à jour des données");
+ });
+ },
+ initInForm:function(module){
+
+ module.find("input[formType=\"date\"]").each(function( index ) {
+
+ var result = "";
+ var val = $(this).val().split("T")[0];
+
+ if(val != undefined && val != ""){
+ if(val.split("-").length == 1){
+ result = val;
+ }
+ else if(val.split("-").length == 2){
+ result = val.split("-")[1]+"/"+val.split("-")[0];
+ }
+ else if(val.split("-").length == 3){
+ result = val.split("-")[2]+"/"+val.split("-")[1]+"/"+val.split("-")[0];
+ }
+ }
+
+ $(this).val(result);
+
+
+ $(this).datepicker({
+ onSelect: function() {
+ var val = $(this).val().split("T")[0];
+ var result = "";
+
+
+ if(val != undefined && val != ""){
+ if(val.split("/").length == 1){
+ result = val;
+ }
+ else if(val.split("/").length == 2){
+ result = val.split("/")[1]+"-"+val.split("/")[0];
+ }
+ else if(val.split("/").length == 3){
+ result = val.split("/")[2]+"-"+val.split("/")[1]+"-"+val.split("/")[0];
+ }
+ }
+
+ createArchiveForm.form.form.checkFieldEmpty($(this));
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ createArchiveForm.form.form.editField($(this).attr("id"),result);
+ },
+ dayNames: [ "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" ],
+ monthNames: [ "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre" ],
+ monthNamesShort: [ "Janv", "Fevr", "Mars", "Avr", "Mai", "Juin", "Juil", "Aout", "Sept", "Octo", "Nove", "Déce" ],
+ dayNamesShort: [ "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam" ],
+ dateFormat: "dd/mm/yy",
+ dayNamesMin: [ "Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa" ],
+ buttonImage: "/share/res/saem/css/calendar-16-2.png",
+ showOn: "button",
+ buttonImageOnly: true
+ });
+
+ $(this).bind("blur",function(){
+ createArchiveForm.form.form.checkFieldEmpty($(this));
+
+ var val = $(this).val().split("T")[0];
+ var result = "";
+
+ if(val != undefined && val != ""){
+ if(val.split("/").length == 1){
+ result = val;
+ }
+ else if(val.split("/").length == 2){
+ result = val.split("/")[1]+"-"+val.split("/")[0];
+ }
+ else if(val.split("/").length == 3){
+ result = val.split("/")[2]+"-"+val.split("/")[1]+"-"+val.split("/")[0];
+ }
+ }
+
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ createArchiveForm.form.form.editField($(this).attr("id"),result);
+
+ });
+ });
+
+ module.find("input[formType=\"file\"]").each(function( index ) {
+ var input = $(this);
+ $(this).parent().find("iframe").bind("load", function() {
+ $(this).contents().find("[name=\"file\"]").bind("change", function() {
+ input.val($(this).val().substring($(this).val().lastIndexOf('\\') + 1));
+ createArchiveForm.form.form.checkFieldEmpty($(this));
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ createArchiveForm.form.form.editField(input.attr("id"),input.val());
+ });
+ });
+ });
+
+ module.find("[formType=\"textearea\"]").bind("blur",function(){
+ createArchiveForm.form.form.checkFieldEmpty($(this));
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ createArchiveForm.form.form.editField($(this).attr("id"),$(this).val());
+ });
+
+ module.find("[affInMenu=\"true\"]").each(function(){
+ var parent = $(this);
+ while(parent.attr("moduleid") == undefined || parent.attr("moduleid") == null){
+ parent = parent.parent();
+ }
+
+ var rel = parent.attr("moduleid");
+
+ var val = $(this).val();
+ if(val.length > 40){
+ val = val.substring(0,40);
+ }
+ var menudiv = createArchiveForm.obj.find(".saem-cat[rel=\""+rel+"\"]").find(".saem-cat-inf-td-name-link");
+ var menuFirstText = menudiv.text().split(" - ")[0];
+ if(val != ""){
+ var newval = menuFirstText + " - " + val;
+ menudiv.text(newval);
+ }
+ $(this).bind("blur",function(){
+ var val = $(this).val();
+
+ if(val.length > 40){
+ val = val.substring(0,40);
+ }
+
+ if(val != ""){
+ var newval = menuFirstText + " - " + val;
+ menudiv.text(newval);
+ }
+ else{
+ menudiv.text(menuFirstText);
+ }
+ menudiv.text(newval);
+ createArchiveForm.form.utils.modifAriane(rel);
+ });
+
+ });
+
+ module.find("[formType=\"text\"]").bind("blur",function(){
+ createArchiveForm.form.form.checkFieldEmpty($(this));
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ createArchiveForm.form.form.editField($(this).attr("id"),$(this).val());
+ });
+
+ module.find("[formType=\"combobox\"]").bind("blur",function(){
+ createArchiveForm.form.form.checkFieldEmpty($(this));
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ createArchiveForm.form.form.editField($(this).attr("id"),$(this).val());
+ });
+
+ module.find(".saem-form-content-element-e-col1 button").bind("click", function() {
+ var parent = $(this);
+ while(parent.find(".saem-form-content-element-help").length == 0){
+ parent = parent.parent();
+ }
+
+ parent.find(".saem-form-content-element-help").first().show();
+ var o2 = parent.find(".saem-form-content-element-help").first().find(".saem-form-content-element-help-balloon-arrow");
+ parent.find(".saem-form-content-element-help").first().css("top", "-" + (o2.position().top + 15 ) + "px");
+ });
+
+ module.find(".saem-form-content-element-help-closeButton").bind("click", function() {
+ var parent = $(this);
+ while(parent.find(".saem-form-content-element-help").length == 0){
+ parent = parent.parent();
+ }
+
+ parent.find(".saem-form-content-element-help").first().hide();
+ });
+
+ module.find(".saem-form-content-element-inf-list-add-button").bind("click",function(){
+ var parent = $(this);
+ while(!parent.hasClass("saem-form-content-element-list")){
+ parent = parent.parent();
+ }
+ var zoneinsertion = parent.find(".saem-form-content-element-list-value");
+ createArchiveForm.form.form.addItemList($(this).attr("id"),zoneinsertion);
+ });
+
+ module.find(".saem-form-content-element-inf-list-del-button").bind("click",function(){
+ var parent = $(this);
+ while(!parent.hasClass("saem-form-content-element")){
+ parent = parent.parent();
+ }
+ createArchiveForm.form.form.removeItemList($(this).attr("id"),parent);
+ });
+
+ module.find("[rel]").bind("click",function(){
+ createArchiveForm.form.utils.changeDisplay($(this).attr("rel"));
+ });
+
+ createArchiveForm.form.form.refreshFieldIndicator(module.attr("moduleid"));
+ },
+ checkFieldEmpty:function(obj){
+ if(createArchiveForm.params.mode == "read")
+ return true;
+
+ if(obj.attr("obligatoire") != undefined){
+ var erreur = obj.parent();
+ while(erreur.find(".saem-form-content-element-inf-erreur").length == 0){
+ erreur = erreur.parent();
+ }
+
+ erreur = erreur.find(".saem-form-content-element-inf-erreur");
+
+ if(obj.val() == ""){
+ erreur.text("Ce champ ne doit pas être vide");
+ return false;
+ }
+ else{
+ erreur.text("");
+ return true;
+ }
+ }
+ else{
+ return true;
+ }
+ },
+ refreshFieldIndicator:function(rel){
+ if(createArchiveForm.params.mode == "read")
+ return true;
+
+ var divs = null;
+ if(rel==undefined)
+ divs = createArchiveForm.obj.find(".saem-form-menu").find("[rel]");
+ else{
+ divs = createArchiveForm.obj.find(".saem-form-menu").find("[rel=\""+rel+"\"]");
+ }
+
+ for (var i = 0; i < divs.length; i++) {
+ var inputs = createArchiveForm.obj.find("[moduleid=\"" + $(divs.get(i)).attr("rel") + "\"]").find("[formtype]");
+ count = 0;
+
+ for (var j = 0; j < inputs.length; j++) {
+ if(!createArchiveForm.form.form.checkFieldEmpty($(inputs.get(j)))){
+ count ++;
+ }
+ }
+
+ if ($(divs.get(i)).find(".saem-root-cat-title-nberreur").length > 0) {
+ $(divs.get(i)).find(".saem-root-cat-title-nberreur").first().text(count);
+
+ }
+ else {
+ $(divs.get(i)).find(".saem-cat-inf-nberreur").first().text(count);
+ }
+
+ if (count == 0) {
+ if ($(divs.get(i)).find(".saem-root-cat-title-nberreur").length > 0) {
+ $(divs.get(i)).find(".saem-root-cat-title-nberreur").first().text("");
+
+ }
+ else {
+ $(divs.get(i)).find(".saem-cat-inf-nberreur").first().text("");
+ }
+ }
+ }
+ }
+ },
+ menu:{
+ affMasFolder: function() {
+ if ($(this).hasClass("close")) {
+ $(this).removeClass("close");
+ $(this).parent().parent().parent().parent().parent().children("div").show();
+ }
+ else {
+ $(this).addClass("close");
+ $(this).parent().parent().parent().parent().parent().children("div").hide();
+ }
+ },
+ simplifieVu: function(obj) {
+ var isClass;
+ for(var i = 0; i < obj.classList.length; i++){
+ if(obj.classList[i] == "saem-form-content-mode-buttons-first-child-expert-hide"){
+ isClass = true;
+ }
+ }
+
+ if (isClass) {
+ $(obj).removeClass("saem-form-content-mode-buttons-first-child-expert-hide");
+ $(obj).addClass("saem-form-content-mode-buttons-first-child-expert");
+
+
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child-simple").addClass("saem-form-content-mode-buttons-first-child-simple-hide");
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child-simple").removeClass("saem-form-content-mode-buttons-first-child-simple");
+
+ var inputs = createArchiveForm.obj.find("#saem-form-content-insertion").find(".saem-form-content-element");
+ for (var i = 0; i < inputs.length; i++) {
+ var el = $(inputs.get(i));
+ if (el.find('input').attr('disabled') == "disabled" && el.find('iframe').length == 0) {
+ el.show();
+ }
+ if (el.find('textarea').attr('disabled') == "disabled") {
+ el.show();
+ }
+ if (el.find('select').attr('disabled') == "disabled") {
+ el.show();
+ }
+ }
+
+ var lists = createArchiveForm.obj.find("#saem-form-content-insertion").find(".saem-form-content-element-list");
+ for (var i = 0; i < lists.length; i++) {
+ var el = $(lists.get(i));
+ if (el.find("input").attr('disabled') == "disabled" && el.find('iframe').length == 0) {
+ el.show();
+ el.find("#addListItem").show();
+ el.find("#delListItem").show();
+ }
+ if (el.find('textarea').attr('disabled') == "disabled") {
+ el.show();
+ el.find("#addListItem").show();
+ el.find("#delListItem").show();
+ }
+ if (el.find('select').attr('disabled') == "disabled") {
+ el.show();
+ el.find("#addListItem").show();
+ el.find("#delListItem").show();
+ }
+ }
+ }
+
+ },
+ complexeVu: function(obj) {
+ var isClass;
+ for(var i = 0; i < obj.classList.length; i++){
+ if(obj.classList[i] == "saem-form-content-mode-buttons-first-child-simple-hide"){
+ isClass = true;
+ }
+ }
+
+ if (isClass) {
+ $(obj).removeClass("saem-form-content-mode-buttons-first-child-simple-hide");
+ $(obj).addClass("saem-form-content-mode-buttons-first-child-simple");
+
+
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child-expert").addClass("saem-form-content-mode-buttons-first-child-expert-hide");
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child-expert").removeClass("saem-form-content-mode-buttons-first-child-expert");
+
+ var inputs = createArchiveForm.obj.find("#saem-form-content-insertion").find(".saem-form-content-element");
+ for (var i = 0; i < inputs.length; i++) {
+ var el = $(inputs.get(i));
+ if (el.find('input').attr('disabled') == "disabled" && el.find('iframe').length == 0) {
+ el.hide();
+ }
+ if (el.find('textarea').attr('disabled') == "disabled") {
+ el.hide();
+ }
+ if (el.find('select').attr('disabled') == "disabled") {
+ el.hide();
+ }
+ }
+
+ var lists = createArchiveForm.obj.find("#saem-form-content-insertion").find(".saem-form-content-element-list");
+ for (var i = 0; i < lists.length; i++) {
+ var el = $(lists.get(i));
+ if (el.find("input").attr('disabled') == "disabled" && el.find('iframe').length == 0) {
+ el.hide();
+ el.find("#addListItem").hide();
+ el.find("#delListItem").hide();
+ }
+ if (el.find('select').attr('disabled') == "disabled") {
+ el.hide();
+ el.find("#addListItem").hide();
+ el.find("#delListItem").hide();
+ }
+ if (el.find('textarea').attr('disabled') == "disabled") {
+ el.hide();
+ el.find("#addListItem").hide();
+ el.find("#delListItem").hide();
+ }
+ }
+ }
+
+ },
+ initInMenu:function(template){
+
+ if (template.attr("entete") == "true") {
+ var o = createArchiveForm.obj.find(".saem-form-menu #saem-entete");
+ o.attr("rel", template.attr("moduleid"));
+ o.find(".saem-root-cat-inf-td-name-link").bind("click", function() {
+ createArchiveForm.form.utils.changeDisplay(o.attr("rel"));
+ });
+ o.addClass("saem-hover");
+ }
+ else if (template.attr("description") == "true") {
+ var o = createArchiveForm.obj.find(".saem-form-menu #saem-description");
+ o.attr("rel", template.attr("moduleid"));
+ o.find(".saem-root-cat-inf-td-name-link").bind("click", function() {
+ createArchiveForm.form.utils.changeDisplay(o.attr("rel"));
+ });
+ o.addClass("saem-hover");
+
+ }
+ else {
+ var o = createArchiveForm.obj.find(".saem-form-menu [rel=" + template.attr("parentmoduleid") + "]");
+
+ if (o.children(".saem-cat").length == 0) {
+ var obj = o.find(".saem-cat-inf-td-file-link")
+ obj.removeClass("saem-cat-inf-td-file-link").addClass("saem-cat-inf-td-folder-link");
+ obj.parent().removeClass("saem-cat-inf-td-file").addClass("saem-cat-inf-td-folder");
+ obj.unbind("click", createArchiveForm.form.menu.affMasFolder);
+ obj.bind("click", createArchiveForm.form.menu.affMasFolder);
+
+ }
+ var newo = $("<div class=\"saem-cat\"><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"saem-cat-inf\"><tbody><tr><td class=\"saem-cat-inf-nberreur\"></td><td class=\"saem-cat-inf-td-file\"><a class=\"saem-cat-inf-td-file-link\" href=\"#\"> </a></td><td class=\"saem-cat-inf-td-name\"><span class=\"saem-cat-inf-td-name-link\"></span></td></tr></tbody></table></div>");
+ o.append(newo);
+ newo.attr("rel", template.attr("moduleid"));
+
+ var text = "";
+ if (createArchiveForm.obj.find("#saem-form-content-insertion").find("[moduleid=\"" + template.attr("parentmoduleid") + "\"]").find("[rel=\"" + template.attr("moduleid") + "\"]").find(".saem-form-content-element-inf-list-element-label").length > 0) {
+ text = createArchiveForm.obj.find("#saem-form-content-insertion").find("[moduleid=\"" + template.attr("parentmoduleid") + "\"]").find("[rel=\"" + template.attr("moduleid") + "\"]").find(".saem-form-content-element-inf-list-element-label").text();
+ }
+ else {
+ text = createArchiveForm.obj.find("#saem-form-content-insertion").find("[moduleid=\"" + template.attr("parentmoduleid") + "\"]").find("[rel=\"" + template.attr("moduleid") + "\"]").find(".saem-form-content-element-inf-label").text();
+ }
+ newo.find(".saem-cat-inf-td-name-link").text(text);
+ newo.find(".saem-cat-inf-td-name-link").bind("click", function() {
+ createArchiveForm.form.utils.changeDisplay(newo.attr("rel"));
+ });
+ newo.addClass("saem-hover");
+
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child-expert").bind("click", function(){
+ createArchiveForm.form.menu.simplifieVu(this);
+ });
+
+ createArchiveForm.obj.find(".saem-form-content-mode-buttons-first-child-simple-hide").bind("click", function(){
+ createArchiveForm.form.menu.complexeVu(this);
+ });
+ }
+
+ }
+ },
+ utils:{
+ modifAriane:function(id){
+ var menu = createArchiveForm.obj.find(".saem-form-menu").find("[rel=\"" + id + "\"]");
+ var result = "";
+ var count = null;
+ while (!menu.hasClass("saem-form-menu")) {
+
+
+ if (menu.attr("rel") != undefined) {
+ var text = "";
+ if (menu.find(".saem-root-cat-inf-td-name-link").length > 0) {
+ text = $(menu.find(".saem-root-cat-inf-td-name-link").get(0)).text();
+ }
+ else {
+ text = $(menu.find(".saem-cat-inf-td-name-link").get(0)).text();
+ }
+ if (result == "") {
+
+ result = "<div rel=\"" + menu.attr("rel") + "\" class=\"saem-form-content-ariane-element\"><a href=\"#\" class=\"saem-form-content-ariane-element-folder\"> </a><span class=\"saem-form-content-ariane-element-text\"><a href=\"\" class=\"saem-form-content-ariane-element-folder-label\">" + text + "</a></span></div>" + result;
+
+ }
+ else {
+ if (count == null) {
+ count = menu.attr("rel");
+ }
+ result = "<div rel=\"" + menu.attr("rel") + "\" class=\"saem-form-content-ariane-element\"><a href=\"#\" class=\"saem-form-content-ariane-element-folder\"> </a><span class=\"saem-form-content-ariane-element-text\"><a href=\"\" class=\"saem-form-content-ariane-element-folder-label\">" + text + "</a></span></div>" + "<div class=\"saem-form-content-ariane-separator2\"> ></div>" + result;
+ }
+ }
+
+ menu = menu.parent();
+ }
+
+ if (count == null) {
+ result = "<div class=\"saem-form-content-ariane-element\"><span class=\"saem-form-content-ariane-element-first-child saem-root\"><button type=\"button\" tabindex=\"0\" title=\"Plus haut\"></button></span></div><div class=\"saem-form-content-ariane-separator\"> </div>" + result;
+ }
+ else {
+ result = "<div class=\"saem-form-content-ariane-element\" rel=\"" + count + "\"><span class=\"saem-form-content-ariane-element-first-child\"><button type=\"button\" tabindex=\"0\" title=\"Plus haut\"></button></span></div><div class=\"saem-form-content-ariane-separator\"> </div>" + result;
+ }
+ createArchiveForm.obj.find(".saem-form-content-ariane").children().remove();
+ var ariane = $(result);
+
+ createArchiveForm.obj.find(".saem-form-content-ariane").append(ariane);
+ createArchiveForm.obj.find(".saem-form-content-ariane").find(".saem-form-content-ariane-element").bind("click", function() {
+ createArchiveForm.form.utils.changeDisplay($(this).attr("rel"));
+ return false;
+ });
+ createArchiveForm.obj.find(".saem-form-content-ariane").addClass("saem-hover");
+ },
+ changeDisplay:function(id){
+ createArchiveForm.obj.find("#saem-form-content-insertion").children().hide();
+ createArchiveForm.obj.find("#saem-form-content-insertion").find("[moduleid=\"" + id + "\"]").show();
+ createArchiveForm.obj.find(".saem-form-menu").find(".saem-cat-inf-sel").removeClass("saem-cat-inf-sel");
+ createArchiveForm.obj.find(".saem-form-menu").find("[rel=\"" + id + "\"]").children(".saem-cat-inf").addClass("saem-cat-inf-sel");
+
+ createArchiveForm.form.utils.modifAriane(id);
+ var height = createArchiveForm.obj.find(".saem-form-content").height();
+ var heighttmp = createArchiveForm.obj.find(".saem-form-menu").height();
+ var heightpage = $(window).height() - 115 - 50;
+
+ /* THOMAS **/
+ $(".saem-form-menu").css("height", heightpage);
+ $(".saem-form-content").css("height", heightpage);
+ /***/
+
+ if (heighttmp > height) {
+ height = heighttmp;
+ }
+
+ if (height < heightpage) {
+ $(".saem-form-main").css("height", heightpage);
+ height = heightpage;
+ }
+
+ createArchiveForm.obj.find(".saem-form-move-div").height(height);
+
+ /**** THOMAS *****/
+ var menuitem = createArchiveForm.obj.find(".saem-form-menu").find("[rel=" + id + "]");
+ var itemoffset = menuitem.offset().top - $(".saem-form-menu").offset().top + $(".saem-form-menu").scrollTop();
+ var heightmenu = $(".saem-form-menu").height();
+
+ var visiblemin = $(".saem-form-menu").scrollTop();
+ var visiblemax = visiblemin + heightmenu;
+
+ if(itemoffset < visiblemin){
+ $(".saem-form-menu").scrollTop(0);
+ }
+ else if(itemoffset > visiblemax){
+ $(".saem-form-menu").scrollTop(itemoffset - (itemoffset - heightmenu / 2));
+ }
+
+ }
+ }
+ },
+ loader: {
+ object: [],
+ loaderObject: null,
+ messageObject: null,
+ state:false,
+ init: function() {
+ createArchiveForm.loader.loadObject = $("#" + createArchiveForm.params.loaderId);
+ createArchiveForm.loader.messageObject = $("#" + createArchiveForm.params.loaderId).find(".saem-loader-text");
+ //createArchiveForm.loader.object.push($("#saem-action"));
+ },
+ show: function() {
+ for (var i = 0; i < createArchiveForm.loader.object.length; i++) {
+ createArchiveForm.loader.object[i].hide();
+ }
+ createArchiveForm.loader.loadObject.show();
+ createArchiveForm.loader.state = true;
+ },
+ hide: function() {
+ for (var i = 0; i < createArchiveForm.loader.object.length; i++) {
+ createArchiveForm.loader.object[i].show();
+ }
+ createArchiveForm.loader.loadObject.hide();
+ createArchiveForm.loader.state = false;
+ },
+ setMessage: function(text) {
+ createArchiveForm.loader.messageObject.text(text);
+ }
+ }
+};
+(function($) {
+
+ $.fn.createArchiveForm = function(params) {
+
+ params = $.extend(createArchiveForm.params, params);
+
+ if (createArchiveForm.obj == null) {
+ createArchiveForm.obj = $(this[0]);
+ createArchiveForm.start();
+ }
+ };
+
+})(jQuery);
--- /dev/null
+/*! jQuery UI - v1.10.3 - 2013-05-03
+* http://jqueryui.com
+* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
+* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+(function( $, undefined ) {
+
+var uuid = 0,
+ runiqueId = /^ui-id-\d+$/;
+
+// $.ui might exist from components with no dependencies, e.g., $.ui.position
+$.ui = $.ui || {};
+
+$.extend( $.ui, {
+ version: "1.10.3",
+
+ keyCode: {
+ BACKSPACE: 8,
+ COMMA: 188,
+ DELETE: 46,
+ DOWN: 40,
+ END: 35,
+ ENTER: 13,
+ ESCAPE: 27,
+ HOME: 36,
+ LEFT: 37,
+ NUMPAD_ADD: 107,
+ NUMPAD_DECIMAL: 110,
+ NUMPAD_DIVIDE: 111,
+ NUMPAD_ENTER: 108,
+ NUMPAD_MULTIPLY: 106,
+ NUMPAD_SUBTRACT: 109,
+ PAGE_DOWN: 34,
+ PAGE_UP: 33,
+ PERIOD: 190,
+ RIGHT: 39,
+ SPACE: 32,
+ TAB: 9,
+ UP: 38
+ }
+});
+
+// plugins
+$.fn.extend({
+ focus: (function( orig ) {
+ return function( delay, fn ) {
+ return typeof delay === "number" ?
+ this.each(function() {
+ var elem = this;
+ setTimeout(function() {
+ $( elem ).focus();
+ if ( fn ) {
+ fn.call( elem );
+ }
+ }, delay );
+ }) :
+ orig.apply( this, arguments );
+ };
+ })( $.fn.focus ),
+
+ scrollParent: function() {
+ var scrollParent;
+ if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
+ scrollParent = this.parents().filter(function() {
+ return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
+ }).eq(0);
+ } else {
+ scrollParent = this.parents().filter(function() {
+ return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
+ }).eq(0);
+ }
+
+ return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
+ },
+
+ zIndex: function( zIndex ) {
+ if ( zIndex !== undefined ) {
+ return this.css( "zIndex", zIndex );
+ }
+
+ if ( this.length ) {
+ var elem = $( this[ 0 ] ), position, value;
+ while ( elem.length && elem[ 0 ] !== document ) {
+ // Ignore z-index if position is set to a value where z-index is ignored by the browser
+ // This makes behavior of this function consistent across browsers
+ // WebKit always returns auto if the element is positioned
+ position = elem.css( "position" );
+ if ( position === "absolute" || position === "relative" || position === "fixed" ) {
+ // IE returns 0 when zIndex is not specified
+ // other browsers return a string
+ // we ignore the case of nested elements with an explicit value of 0
+ // <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
+ value = parseInt( elem.css( "zIndex" ), 10 );
+ if ( !isNaN( value ) && value !== 0 ) {
+ return value;
+ }
+ }
+ elem = elem.parent();
+ }
+ }
+
+ return 0;
+ },
+
+ uniqueId: function() {
+ return this.each(function() {
+ if ( !this.id ) {
+ this.id = "ui-id-" + (++uuid);
+ }
+ });
+ },
+
+ removeUniqueId: function() {
+ return this.each(function() {
+ if ( runiqueId.test( this.id ) ) {
+ $( this ).removeAttr( "id" );
+ }
+ });
+ }
+});
+
+// selectors
+function focusable( element, isTabIndexNotNaN ) {
+ var map, mapName, img,
+ nodeName = element.nodeName.toLowerCase();
+ if ( "area" === nodeName ) {
+ map = element.parentNode;
+ mapName = map.name;
+ if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
+ return false;
+ }
+ img = $( "img[usemap=#" + mapName + "]" )[0];
+ return !!img && visible( img );
+ }
+ return ( /input|select|textarea|button|object/.test( nodeName ) ?
+ !element.disabled :
+ "a" === nodeName ?
+ element.href || isTabIndexNotNaN :
+ isTabIndexNotNaN) &&
+ // the element and all of its ancestors must be visible
+ visible( element );
+}
+
+function visible( element ) {
+ return $.expr.filters.visible( element ) &&
+ !$( element ).parents().addBack().filter(function() {
+ return $.css( this, "visibility" ) === "hidden";
+ }).length;
+}
+
+$.extend( $.expr[ ":" ], {
+ data: $.expr.createPseudo ?
+ $.expr.createPseudo(function( dataName ) {
+ return function( elem ) {
+ return !!$.data( elem, dataName );
+ };
+ }) :
+ // support: jQuery <1.8
+ function( elem, i, match ) {
+ return !!$.data( elem, match[ 3 ] );
+ },
+
+ focusable: function( element ) {
+ return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
+ },
+
+ tabbable: function( element ) {
+ var tabIndex = $.attr( element, "tabindex" ),
+ isTabIndexNaN = isNaN( tabIndex );
+ return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
+ }
+});
+
+// support: jQuery <1.8
+if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
+ $.each( [ "Width", "Height" ], function( i, name ) {
+ var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
+ type = name.toLowerCase(),
+ orig = {
+ innerWidth: $.fn.innerWidth,
+ innerHeight: $.fn.innerHeight,
+ outerWidth: $.fn.outerWidth,
+ outerHeight: $.fn.outerHeight
+ };
+
+ function reduce( elem, size, border, margin ) {
+ $.each( side, function() {
+ size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
+ if ( border ) {
+ size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
+ }
+ if ( margin ) {
+ size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
+ }
+ });
+ return size;
+ }
+
+ $.fn[ "inner" + name ] = function( size ) {
+ if ( size === undefined ) {
+ return orig[ "inner" + name ].call( this );
+ }
+
+ return this.each(function() {
+ $( this ).css( type, reduce( this, size ) + "px" );
+ });
+ };
+
+ $.fn[ "outer" + name] = function( size, margin ) {
+ if ( typeof size !== "number" ) {
+ return orig[ "outer" + name ].call( this, size );
+ }
+
+ return this.each(function() {
+ $( this).css( type, reduce( this, size, true, margin ) + "px" );
+ });
+ };
+ });
+}
+
+// support: jQuery <1.8
+if ( !$.fn.addBack ) {
+ $.fn.addBack = function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ };
+}
+
+// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
+if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
+ $.fn.removeData = (function( removeData ) {
+ return function( key ) {
+ if ( arguments.length ) {
+ return removeData.call( this, $.camelCase( key ) );
+ } else {
+ return removeData.call( this );
+ }
+ };
+ })( $.fn.removeData );
+}
+
+
+
+
+
+// deprecated
+$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
+
+$.support.selectstart = "onselectstart" in document.createElement( "div" );
+$.fn.extend({
+ disableSelection: function() {
+ return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
+ ".ui-disableSelection", function( event ) {
+ event.preventDefault();
+ });
+ },
+
+ enableSelection: function() {
+ return this.unbind( ".ui-disableSelection" );
+ }
+});
+
+$.extend( $.ui, {
+ // $.ui.plugin is deprecated. Use $.widget() extensions instead.
+ plugin: {
+ add: function( module, option, set ) {
+ var i,
+ proto = $.ui[ module ].prototype;
+ for ( i in set ) {
+ proto.plugins[ i ] = proto.plugins[ i ] || [];
+ proto.plugins[ i ].push( [ option, set[ i ] ] );
+ }
+ },
+ call: function( instance, name, args ) {
+ var i,
+ set = instance.plugins[ name ];
+ if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {
+ return;
+ }
+
+ for ( i = 0; i < set.length; i++ ) {
+ if ( instance.options[ set[ i ][ 0 ] ] ) {
+ set[ i ][ 1 ].apply( instance.element, args );
+ }
+ }
+ }
+ },
+
+ // only used by resizable
+ hasScroll: function( el, a ) {
+
+ //If overflow is hidden, the element might have extra content, but the user wants to hide it
+ if ( $( el ).css( "overflow" ) === "hidden") {
+ return false;
+ }
+
+ var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
+ has = false;
+
+ if ( el[ scroll ] > 0 ) {
+ return true;
+ }
+
+ // TODO: determine which cases actually cause this to happen
+ // if the element doesn't have the scroll set, see if it's possible to
+ // set the scroll
+ el[ scroll ] = 1;
+ has = ( el[ scroll ] > 0 );
+ el[ scroll ] = 0;
+ return has;
+ }
+});
+
+})( jQuery );
+
+(function( $, undefined ) {
+
+var uuid = 0,
+ slice = Array.prototype.slice,
+ _cleanData = $.cleanData;
+$.cleanData = function( elems ) {
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+ try {
+ $( elem ).triggerHandler( "remove" );
+ // http://bugs.jquery.com/ticket/8235
+ } catch( e ) {}
+ }
+ _cleanData( elems );
+};
+
+$.widget = function( name, base, prototype ) {
+ var fullName, existingConstructor, constructor, basePrototype,
+ // proxiedPrototype allows the provided prototype to remain unmodified
+ // so that it can be used as a mixin for multiple widgets (#8876)
+ proxiedPrototype = {},
+ namespace = name.split( "." )[ 0 ];
+
+ name = name.split( "." )[ 1 ];
+ fullName = namespace + "-" + name;
+
+ if ( !prototype ) {
+ prototype = base;
+ base = $.Widget;
+ }
+
+ // create selector for plugin
+ $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
+ return !!$.data( elem, fullName );
+ };
+
+ $[ namespace ] = $[ namespace ] || {};
+ existingConstructor = $[ namespace ][ name ];
+ constructor = $[ namespace ][ name ] = function( options, element ) {
+ // allow instantiation without "new" keyword
+ if ( !this._createWidget ) {
+ return new constructor( options, element );
+ }
+
+ // allow instantiation without initializing for simple inheritance
+ // must use "new" keyword (the code above always passes args)
+ if ( arguments.length ) {
+ this._createWidget( options, element );
+ }
+ };
+ // extend with the existing constructor to carry over any static properties
+ $.extend( constructor, existingConstructor, {
+ version: prototype.version,
+ // copy the object used to create the prototype in case we need to
+ // redefine the widget later
+ _proto: $.extend( {}, prototype ),
+ // track widgets that inherit from this widget in case this widget is
+ // redefined after a widget inherits from it
+ _childConstructors: []
+ });
+
+ basePrototype = new base();
+ // we need to make the options hash a property directly on the new instance
+ // otherwise we'll modify the options hash on the prototype that we're
+ // inheriting from
+ basePrototype.options = $.widget.extend( {}, basePrototype.options );
+ $.each( prototype, function( prop, value ) {
+ if ( !$.isFunction( value ) ) {
+ proxiedPrototype[ prop ] = value;
+ return;
+ }
+ proxiedPrototype[ prop ] = (function() {
+ var _super = function() {
+ return base.prototype[ prop ].apply( this, arguments );
+ },
+ _superApply = function( args ) {
+ return base.prototype[ prop ].apply( this, args );
+ };
+ return function() {
+ var __super = this._super,
+ __superApply = this._superApply,
+ returnValue;
+
+ this._super = _super;
+ this._superApply = _superApply;
+
+ returnValue = value.apply( this, arguments );
+
+ this._super = __super;
+ this._superApply = __superApply;
+
+ return returnValue;
+ };
+ })();
+ });
+ constructor.prototype = $.widget.extend( basePrototype, {
+ // TODO: remove support for widgetEventPrefix
+ // always use the name + a colon as the prefix, e.g., draggable:start
+ // don't prefix for widgets that aren't DOM-based
+ widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name
+ }, proxiedPrototype, {
+ constructor: constructor,
+ namespace: namespace,
+ widgetName: name,
+ widgetFullName: fullName
+ });
+
+ // If this widget is being redefined then we need to find all widgets that
+ // are inheriting from it and redefine all of them so that they inherit from
+ // the new version of this widget. We're essentially trying to replace one
+ // level in the prototype chain.
+ if ( existingConstructor ) {
+ $.each( existingConstructor._childConstructors, function( i, child ) {
+ var childPrototype = child.prototype;
+
+ // redefine the child widget using the same prototype that was
+ // originally used, but inherit from the new version of the base
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
+ });
+ // remove the list of existing child constructors from the old constructor
+ // so the old child constructors can be garbage collected
+ delete existingConstructor._childConstructors;
+ } else {
+ base._childConstructors.push( constructor );
+ }
+
+ $.widget.bridge( name, constructor );
+};
+
+$.widget.extend = function( target ) {
+ var input = slice.call( arguments, 1 ),
+ inputIndex = 0,
+ inputLength = input.length,
+ key,
+ value;
+ for ( ; inputIndex < inputLength; inputIndex++ ) {
+ for ( key in input[ inputIndex ] ) {
+ value = input[ inputIndex ][ key ];
+ if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
+ // Clone objects
+ if ( $.isPlainObject( value ) ) {
+ target[ key ] = $.isPlainObject( target[ key ] ) ?
+ $.widget.extend( {}, target[ key ], value ) :
+ // Don't extend strings, arrays, etc. with objects
+ $.widget.extend( {}, value );
+ // Copy everything else by reference
+ } else {
+ target[ key ] = value;
+ }
+ }
+ }
+ }
+ return target;
+};
+
+$.widget.bridge = function( name, object ) {
+ var fullName = object.prototype.widgetFullName || name;
+ $.fn[ name ] = function( options ) {
+ var isMethodCall = typeof options === "string",
+ args = slice.call( arguments, 1 ),
+ returnValue = this;
+
+ // allow multiple hashes to be passed on init
+ options = !isMethodCall && args.length ?
+ $.widget.extend.apply( null, [ options ].concat(args) ) :
+ options;
+
+ if ( isMethodCall ) {
+ this.each(function() {
+ var methodValue,
+ instance = $.data( this, fullName );
+ if ( !instance ) {
+ return $.error( "cannot call methods on " + name + " prior to initialization; " +
+ "attempted to call method '" + options + "'" );
+ }
+ if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
+ return $.error( "no such method '" + options + "' for " + name + " widget instance" );
+ }
+ methodValue = instance[ options ].apply( instance, args );
+ if ( methodValue !== instance && methodValue !== undefined ) {
+ returnValue = methodValue && methodValue.jquery ?
+ returnValue.pushStack( methodValue.get() ) :
+ methodValue;
+ return false;
+ }
+ });
+ } else {
+ this.each(function() {
+ var instance = $.data( this, fullName );
+ if ( instance ) {
+ instance.option( options || {} )._init();
+ } else {
+ $.data( this, fullName, new object( options, this ) );
+ }
+ });
+ }
+
+ return returnValue;
+ };
+};
+
+$.Widget = function( /* options, element */ ) {};
+$.Widget._childConstructors = [];
+
+$.Widget.prototype = {
+ widgetName: "widget",
+ widgetEventPrefix: "",
+ defaultElement: "<div>",
+ options: {
+ disabled: false,
+
+ // callbacks
+ create: null
+ },
+ _createWidget: function( options, element ) {
+ element = $( element || this.defaultElement || this )[ 0 ];
+ this.element = $( element );
+ this.uuid = uuid++;
+ this.eventNamespace = "." + this.widgetName + this.uuid;
+ this.options = $.widget.extend( {},
+ this.options,
+ this._getCreateOptions(),
+ options );
+
+ this.bindings = $();
+ this.hoverable = $();
+ this.focusable = $();
+
+ if ( element !== this ) {
+ $.data( element, this.widgetFullName, this );
+ this._on( true, this.element, {
+ remove: function( event ) {
+ if ( event.target === element ) {
+ this.destroy();
+ }
+ }
+ });
+ this.document = $( element.style ?
+ // element within the document
+ element.ownerDocument :
+ // element is window or document
+ element.document || element );
+ this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
+ }
+
+ this._create();
+ this._trigger( "create", null, this._getCreateEventData() );
+ this._init();
+ },
+ _getCreateOptions: $.noop,
+ _getCreateEventData: $.noop,
+ _create: $.noop,
+ _init: $.noop,
+
+ destroy: function() {
+ this._destroy();
+ // we can probably remove the unbind calls in 2.0
+ // all event bindings should go through this._on()
+ this.element
+ .unbind( this.eventNamespace )
+ // 1.9 BC for #7810
+ // TODO remove dual storage
+ .removeData( this.widgetName )
+ .removeData( this.widgetFullName )
+ // support: jquery <1.6.3
+ // http://bugs.jquery.com/ticket/9413
+ .removeData( $.camelCase( this.widgetFullName ) );
+ this.widget()
+ .unbind( this.eventNamespace )
+ .removeAttr( "aria-disabled" )
+ .removeClass(
+ this.widgetFullName + "-disabled " +
+ "ui-state-disabled" );
+
+ // clean up events and states
+ this.bindings.unbind( this.eventNamespace );
+ this.hoverable.removeClass( "ui-state-hover" );
+ this.focusable.removeClass( "ui-state-focus" );
+ },
+ _destroy: $.noop,
+
+ widget: function() {
+ return this.element;
+ },
+
+ option: function( key, value ) {
+ var options = key,
+ parts,
+ curOption,
+ i;
+
+ if ( arguments.length === 0 ) {
+ // don't return a reference to the internal hash
+ return $.widget.extend( {}, this.options );
+ }
+
+ if ( typeof key === "string" ) {
+ // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
+ options = {};
+ parts = key.split( "." );
+ key = parts.shift();
+ if ( parts.length ) {
+ curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
+ for ( i = 0; i < parts.length - 1; i++ ) {
+ curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
+ curOption = curOption[ parts[ i ] ];
+ }
+ key = parts.pop();
+ if ( value === undefined ) {
+ return curOption[ key ] === undefined ? null : curOption[ key ];
+ }
+ curOption[ key ] = value;
+ } else {
+ if ( value === undefined ) {
+ return this.options[ key ] === undefined ? null : this.options[ key ];
+ }
+ options[ key ] = value;
+ }
+ }
+
+ this._setOptions( options );
+
+ return this;
+ },
+ _setOptions: function( options ) {
+ var key;
+
+ for ( key in options ) {
+ this._setOption( key, options[ key ] );
+ }
+
+ return this;
+ },
+ _setOption: function( key, value ) {
+ this.options[ key ] = value;
+
+ if ( key === "disabled" ) {
+ this.widget()
+ .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
+ .attr( "aria-disabled", value );
+ this.hoverable.removeClass( "ui-state-hover" );
+ this.focusable.removeClass( "ui-state-focus" );
+ }
+
+ return this;
+ },
+
+ enable: function() {
+ return this._setOption( "disabled", false );
+ },
+ disable: function() {
+ return this._setOption( "disabled", true );
+ },
+
+ _on: function( suppressDisabledCheck, element, handlers ) {
+ var delegateElement,
+ instance = this;
+
+ // no suppressDisabledCheck flag, shuffle arguments
+ if ( typeof suppressDisabledCheck !== "boolean" ) {
+ handlers = element;
+ element = suppressDisabledCheck;
+ suppressDisabledCheck = false;
+ }
+
+ // no element argument, shuffle and use this.element
+ if ( !handlers ) {
+ handlers = element;
+ element = this.element;
+ delegateElement = this.widget();
+ } else {
+ // accept selectors, DOM elements
+ element = delegateElement = $( element );
+ this.bindings = this.bindings.add( element );
+ }
+
+ $.each( handlers, function( event, handler ) {
+ function handlerProxy() {
+ // allow widgets to customize the disabled handling
+ // - disabled as an array instead of boolean
+ // - disabled class as method for disabling individual parts
+ if ( !suppressDisabledCheck &&
+ ( instance.options.disabled === true ||
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
+ return;
+ }
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
+ .apply( instance, arguments );
+ }
+
+ // copy the guid so direct unbinding works
+ if ( typeof handler !== "string" ) {
+ handlerProxy.guid = handler.guid =
+ handler.guid || handlerProxy.guid || $.guid++;
+ }
+
+ var match = event.match( /^(\w+)\s*(.*)$/ ),
+ eventName = match[1] + instance.eventNamespace,
+ selector = match[2];
+ if ( selector ) {
+ delegateElement.delegate( selector, eventName, handlerProxy );
+ } else {
+ element.bind( eventName, handlerProxy );
+ }
+ });
+ },
+
+ _off: function( element, eventName ) {
+ eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
+ element.unbind( eventName ).undelegate( eventName );
+ },
+
+ _delay: function( handler, delay ) {
+ function handlerProxy() {
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
+ .apply( instance, arguments );
+ }
+ var instance = this;
+ return setTimeout( handlerProxy, delay || 0 );
+ },
+
+ _hoverable: function( element ) {
+ this.hoverable = this.hoverable.add( element );
+ this._on( element, {
+ mouseenter: function( event ) {
+ $( event.currentTarget ).addClass( "ui-state-hover" );
+ },
+ mouseleave: function( event ) {
+ $( event.currentTarget ).removeClass( "ui-state-hover" );
+ }
+ });
+ },
+
+ _focusable: function( element ) {
+ this.focusable = this.focusable.add( element );
+ this._on( element, {
+ focusin: function( event ) {
+ $( event.currentTarget ).addClass( "ui-state-focus" );
+ },
+ focusout: function( event ) {
+ $( event.currentTarget ).removeClass( "ui-state-focus" );
+ }
+ });
+ },
+
+ _trigger: function( type, event, data ) {
+ var prop, orig,
+ callback = this.options[ type ];
+
+ data = data || {};
+ event = $.Event( event );
+ event.type = ( type === this.widgetEventPrefix ?
+ type :
+ this.widgetEventPrefix + type ).toLowerCase();
+ // the original event may come from any element
+ // so we need to reset the target on the new event
+ event.target = this.element[ 0 ];
+
+ // copy original event properties over to the new event
+ orig = event.originalEvent;
+ if ( orig ) {
+ for ( prop in orig ) {
+ if ( !( prop in event ) ) {
+ event[ prop ] = orig[ prop ];
+ }
+ }
+ }
+
+ this.element.trigger( event, data );
+ return !( $.isFunction( callback ) &&
+ callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
+ event.isDefaultPrevented() );
+ }
+};
+
+$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
+ $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
+ if ( typeof options === "string" ) {
+ options = { effect: options };
+ }
+ var hasOptions,
+ effectName = !options ?
+ method :
+ options === true || typeof options === "number" ?
+ defaultEffect :
+ options.effect || defaultEffect;
+ options = options || {};
+ if ( typeof options === "number" ) {
+ options = { duration: options };
+ }
+ hasOptions = !$.isEmptyObject( options );
+ options.complete = callback;
+ if ( options.delay ) {
+ element.delay( options.delay );
+ }
+ if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
+ element[ method ]( options );
+ } else if ( effectName !== method && element[ effectName ] ) {
+ element[ effectName ]( options.duration, options.easing, callback );
+ } else {
+ element.queue(function( next ) {
+ $( this )[ method ]();
+ if ( callback ) {
+ callback.call( element[ 0 ] );
+ }
+ next();
+ });
+ }
+ };
+});
+
+})( jQuery );
+
+(function( $, undefined ) {
+
+var mouseHandled = false;
+$( document ).mouseup( function() {
+ mouseHandled = false;
+});
+
+$.widget("ui.mouse", {
+ version: "1.10.3",
+ options: {
+ cancel: "input,textarea,button,select,option",
+ distance: 1,
+ delay: 0
+ },
+ _mouseInit: function() {
+ var that = this;
+
+ this.element
+ .bind("mousedown."+this.widgetName, function(event) {
+ return that._mouseDown(event);
+ })
+ .bind("click."+this.widgetName, function(event) {
+ if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
+ $.removeData(event.target, that.widgetName + ".preventClickEvent");
+ event.stopImmediatePropagation();
+ return false;
+ }
+ });
+
+ this.started = false;
+ },
+
+ // TODO: make sure destroying one instance of mouse doesn't mess with
+ // other instances of mouse
+ _mouseDestroy: function() {
+ this.element.unbind("."+this.widgetName);
+ if ( this._mouseMoveDelegate ) {
+ $(document)
+ .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
+ .unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
+ }
+ },
+
+ _mouseDown: function(event) {
+ // don't let more than one widget handle mouseStart
+ if( mouseHandled ) { return; }
+
+ // we may have missed mouseup (out of window)
+ (this._mouseStarted && this._mouseUp(event));
+
+ this._mouseDownEvent = event;
+
+ var that = this,
+ btnIsLeft = (event.which === 1),
+ // event.target.nodeName works around a bug in IE 8 with
+ // disabled inputs (#7620)
+ elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
+ if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
+ return true;
+ }
+
+ this.mouseDelayMet = !this.options.delay;
+ if (!this.mouseDelayMet) {
+ this._mouseDelayTimer = setTimeout(function() {
+ that.mouseDelayMet = true;
+ }, this.options.delay);
+ }
+
+ if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
+ this._mouseStarted = (this._mouseStart(event) !== false);
+ if (!this._mouseStarted) {
+ event.preventDefault();
+ return true;
+ }
+ }
+
+ // Click event may never have fired (Gecko & Opera)
+ if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
+ $.removeData(event.target, this.widgetName + ".preventClickEvent");
+ }
+
+ // these delegates are required to keep context
+ this._mouseMoveDelegate = function(event) {
+ return that._mouseMove(event);
+ };
+ this._mouseUpDelegate = function(event) {
+ return that._mouseUp(event);
+ };
+ $(document)
+ .bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
+ .bind("mouseup."+this.widgetName, this._mouseUpDelegate);
+
+ event.preventDefault();
+
+ mouseHandled = true;
+ return true;
+ },
+
+ _mouseMove: function(event) {
+ // IE mouseup check - mouseup happened when mouse was out of window
+ if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
+ return this._mouseUp(event);
+ }
+
+ if (this._mouseStarted) {
+ this._mouseDrag(event);
+ return event.preventDefault();
+ }
+
+ if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
+ this._mouseStarted =
+ (this._mouseStart(this._mouseDownEvent, event) !== false);
+ (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
+ }
+
+ return !this._mouseStarted;
+ },
+
+ _mouseUp: function(event) {
+ $(document)
+ .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
+ .unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
+
+ if (this._mouseStarted) {
+ this._mouseStarted = false;
+
+ if (event.target === this._mouseDownEvent.target) {
+ $.data(event.target, this.widgetName + ".preventClickEvent", true);
+ }
+
+ this._mouseStop(event);
+ }
+
+ return false;
+ },
+
+ _mouseDistanceMet: function(event) {
+ return (Math.max(
+ Math.abs(this._mouseDownEvent.pageX - event.pageX),
+ Math.abs(this._mouseDownEvent.pageY - event.pageY)
+ ) >= this.options.distance
+ );
+ },
+
+ _mouseDelayMet: function(/* event */) {
+ return this.mouseDelayMet;
+ },
+
+ // These are placeholder methods, to be overriden by extending plugin
+ _mouseStart: function(/* event */) {},
+ _mouseDrag: function(/* event */) {},
+ _mouseStop: function(/* event */) {},
+ _mouseCapture: function(/* event */) { return true; }
+});
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.widget("ui.draggable", $.ui.mouse, {
+ version: "1.10.3",
+ widgetEventPrefix: "drag",
+ options: {
+ addClasses: true,
+ appendTo: "parent",
+ axis: false,
+ connectToSortable: false,
+ containment: false,
+ cursor: "auto",
+ cursorAt: false,
+ grid: false,
+ handle: false,
+ helper: "original",
+ iframeFix: false,
+ opacity: false,
+ refreshPositions: false,
+ revert: false,
+ revertDuration: 500,
+ scope: "default",
+ scroll: true,
+ scrollSensitivity: 20,
+ scrollSpeed: 20,
+ snap: false,
+ snapMode: "both",
+ snapTolerance: 20,
+ stack: false,
+ zIndex: false,
+
+ // callbacks
+ drag: null,
+ start: null,
+ stop: null
+ },
+ _create: function() {
+
+ if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
+ this.element[0].style.position = "relative";
+ }
+ if (this.options.addClasses){
+ this.element.addClass("ui-draggable");
+ }
+ if (this.options.disabled){
+ this.element.addClass("ui-draggable-disabled");
+ }
+
+ this._mouseInit();
+
+ },
+
+ _destroy: function() {
+ this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
+ this._mouseDestroy();
+ },
+
+ _mouseCapture: function(event) {
+
+ var o = this.options;
+
+ // among others, prevent a drag on a resizable-handle
+ if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
+ return false;
+ }
+
+ //Quit if we're not on a valid handle
+ this.handle = this._getHandle(event);
+ if (!this.handle) {
+ return false;
+ }
+
+ $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
+ $("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
+ .css({
+ width: this.offsetWidth+"px", height: this.offsetHeight+"px",
+ position: "absolute", opacity: "0.001", zIndex: 1000
+ })
+ .css($(this).offset())
+ .appendTo("body");
+ });
+
+ return true;
+
+ },
+
+ _mouseStart: function(event) {
+
+ var o = this.options;
+
+ //Create and append the visible helper
+ this.helper = this._createHelper(event);
+
+ this.helper.addClass("ui-draggable-dragging");
+
+ //Cache the helper size
+ this._cacheHelperProportions();
+
+ //If ddmanager is used for droppables, set the global draggable
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.current = this;
+ }
+
+ /*
+ * - Position generation -
+ * This block generates everything position related - it's the core of draggables.
+ */
+
+ //Cache the margins of the original element
+ this._cacheMargins();
+
+ //Store the helper's css position
+ this.cssPosition = this.helper.css( "position" );
+ this.scrollParent = this.helper.scrollParent();
+ this.offsetParent = this.helper.offsetParent();
+ this.offsetParentCssPosition = this.offsetParent.css( "position" );
+
+ //The element's absolute position on the page minus margins
+ this.offset = this.positionAbs = this.element.offset();
+ this.offset = {
+ top: this.offset.top - this.margins.top,
+ left: this.offset.left - this.margins.left
+ };
+
+ //Reset scroll cache
+ this.offset.scroll = false;
+
+ $.extend(this.offset, {
+ click: { //Where the click happened, relative to the element
+ left: event.pageX - this.offset.left,
+ top: event.pageY - this.offset.top
+ },
+ parent: this._getParentOffset(),
+ relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
+ });
+
+ //Generate the original position
+ this.originalPosition = this.position = this._generatePosition(event);
+ this.originalPageX = event.pageX;
+ this.originalPageY = event.pageY;
+
+ //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
+ (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
+
+ //Set a containment if given in the options
+ this._setContainment();
+
+ //Trigger event + callbacks
+ if(this._trigger("start", event) === false) {
+ this._clear();
+ return false;
+ }
+
+ //Recache the helper size
+ this._cacheHelperProportions();
+
+ //Prepare the droppable offsets
+ if ($.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(this, event);
+ }
+
+
+ this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
+
+ //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
+ if ( $.ui.ddmanager ) {
+ $.ui.ddmanager.dragStart(this, event);
+ }
+
+ return true;
+ },
+
+ _mouseDrag: function(event, noPropagation) {
+ // reset any necessary cached properties (see #5009)
+ if ( this.offsetParentCssPosition === "fixed" ) {
+ this.offset.parent = this._getParentOffset();
+ }
+
+ //Compute the helpers position
+ this.position = this._generatePosition(event);
+ this.positionAbs = this._convertPositionTo("absolute");
+
+ //Call plugins and callbacks and use the resulting position if something is returned
+ if (!noPropagation) {
+ var ui = this._uiHash();
+ if(this._trigger("drag", event, ui) === false) {
+ this._mouseUp({});
+ return false;
+ }
+ this.position = ui.position;
+ }
+
+ if(!this.options.axis || this.options.axis !== "y") {
+ this.helper[0].style.left = this.position.left+"px";
+ }
+ if(!this.options.axis || this.options.axis !== "x") {
+ this.helper[0].style.top = this.position.top+"px";
+ }
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.drag(this, event);
+ }
+
+ return false;
+ },
+
+ _mouseStop: function(event) {
+
+ //If we are using droppables, inform the manager about the drop
+ var that = this,
+ dropped = false;
+ if ($.ui.ddmanager && !this.options.dropBehaviour) {
+ dropped = $.ui.ddmanager.drop(this, event);
+ }
+
+ //if a drop comes from outside (a sortable)
+ if(this.dropped) {
+ dropped = this.dropped;
+ this.dropped = false;
+ }
+
+ //if the original element is no longer in the DOM don't bother to continue (see #8269)
+ if ( this.options.helper === "original" && !$.contains( this.element[ 0 ].ownerDocument, this.element[ 0 ] ) ) {
+ return false;
+ }
+
+ if((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
+ $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
+ if(that._trigger("stop", event) !== false) {
+ that._clear();
+ }
+ });
+ } else {
+ if(this._trigger("stop", event) !== false) {
+ this._clear();
+ }
+ }
+
+ return false;
+ },
+
+ _mouseUp: function(event) {
+ //Remove frame helpers
+ $("div.ui-draggable-iframeFix").each(function() {
+ this.parentNode.removeChild(this);
+ });
+
+ //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
+ if( $.ui.ddmanager ) {
+ $.ui.ddmanager.dragStop(this, event);
+ }
+
+ return $.ui.mouse.prototype._mouseUp.call(this, event);
+ },
+
+ cancel: function() {
+
+ if(this.helper.is(".ui-draggable-dragging")) {
+ this._mouseUp({});
+ } else {
+ this._clear();
+ }
+
+ return this;
+
+ },
+
+ _getHandle: function(event) {
+ return this.options.handle ?
+ !!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
+ true;
+ },
+
+ _createHelper: function(event) {
+
+ var o = this.options,
+ helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
+
+ if(!helper.parents("body").length) {
+ helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
+ }
+
+ if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
+ helper.css("position", "absolute");
+ }
+
+ return helper;
+
+ },
+
+ _adjustOffsetFromHelper: function(obj) {
+ if (typeof obj === "string") {
+ obj = obj.split(" ");
+ }
+ if ($.isArray(obj)) {
+ obj = {left: +obj[0], top: +obj[1] || 0};
+ }
+ if ("left" in obj) {
+ this.offset.click.left = obj.left + this.margins.left;
+ }
+ if ("right" in obj) {
+ this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
+ }
+ if ("top" in obj) {
+ this.offset.click.top = obj.top + this.margins.top;
+ }
+ if ("bottom" in obj) {
+ this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
+ }
+ },
+
+ _getParentOffset: function() {
+
+ //Get the offsetParent and cache its position
+ var po = this.offsetParent.offset();
+
+ // This is a special case where we need to modify a offset calculated on start, since the following happened:
+ // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
+ // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
+ // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
+ if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
+ po.left += this.scrollParent.scrollLeft();
+ po.top += this.scrollParent.scrollTop();
+ }
+
+ //This needs to be actually done for all browsers, since pageX/pageY includes this information
+ //Ugly IE fix
+ if((this.offsetParent[0] === document.body) ||
+ (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
+ po = { top: 0, left: 0 };
+ }
+
+ return {
+ top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
+ left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
+ };
+
+ },
+
+ _getRelativeOffset: function() {
+
+ if(this.cssPosition === "relative") {
+ var p = this.element.position();
+ return {
+ top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
+ left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
+ };
+ } else {
+ return { top: 0, left: 0 };
+ }
+
+ },
+
+ _cacheMargins: function() {
+ this.margins = {
+ left: (parseInt(this.element.css("marginLeft"),10) || 0),
+ top: (parseInt(this.element.css("marginTop"),10) || 0),
+ right: (parseInt(this.element.css("marginRight"),10) || 0),
+ bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
+ };
+ },
+
+ _cacheHelperProportions: function() {
+ this.helperProportions = {
+ width: this.helper.outerWidth(),
+ height: this.helper.outerHeight()
+ };
+ },
+
+ _setContainment: function() {
+
+ var over, c, ce,
+ o = this.options;
+
+ if ( !o.containment ) {
+ this.containment = null;
+ return;
+ }
+
+ if ( o.containment === "window" ) {
+ this.containment = [
+ $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
+ $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
+ $( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,
+ $( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
+ ];
+ return;
+ }
+
+ if ( o.containment === "document") {
+ this.containment = [
+ 0,
+ 0,
+ $( document ).width() - this.helperProportions.width - this.margins.left,
+ ( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
+ ];
+ return;
+ }
+
+ if ( o.containment.constructor === Array ) {
+ this.containment = o.containment;
+ return;
+ }
+
+ if ( o.containment === "parent" ) {
+ o.containment = this.helper[ 0 ].parentNode;
+ }
+
+ c = $( o.containment );
+ ce = c[ 0 ];
+
+ if( !ce ) {
+ return;
+ }
+
+ over = c.css( "overflow" ) !== "hidden";
+
+ this.containment = [
+ ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
+ ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ) ,
+ ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right,
+ ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top - this.margins.bottom
+ ];
+ this.relative_container = c;
+ },
+
+ _convertPositionTo: function(d, pos) {
+
+ if(!pos) {
+ pos = this.position;
+ }
+
+ var mod = d === "absolute" ? 1 : -1,
+ scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent;
+
+ //Cache the scroll
+ if (!this.offset.scroll) {
+ this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
+ }
+
+ return {
+ top: (
+ pos.top + // The absolute mouse position
+ this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) * mod )
+ ),
+ left: (
+ pos.left + // The absolute mouse position
+ this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) * mod )
+ )
+ };
+
+ },
+
+ _generatePosition: function(event) {
+
+ var containment, co, top, left,
+ o = this.options,
+ scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent,
+ pageX = event.pageX,
+ pageY = event.pageY;
+
+ //Cache the scroll
+ if (!this.offset.scroll) {
+ this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
+ }
+
+ /*
+ * - Position constraining -
+ * Constrain the position to a mix of grid, containment.
+ */
+
+ // If we are not dragging yet, we won't check for options
+ if ( this.originalPosition ) {
+ if ( this.containment ) {
+ if ( this.relative_container ){
+ co = this.relative_container.offset();
+ containment = [
+ this.containment[ 0 ] + co.left,
+ this.containment[ 1 ] + co.top,
+ this.containment[ 2 ] + co.left,
+ this.containment[ 3 ] + co.top
+ ];
+ }
+ else {
+ containment = this.containment;
+ }
+
+ if(event.pageX - this.offset.click.left < containment[0]) {
+ pageX = containment[0] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top < containment[1]) {
+ pageY = containment[1] + this.offset.click.top;
+ }
+ if(event.pageX - this.offset.click.left > containment[2]) {
+ pageX = containment[2] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top > containment[3]) {
+ pageY = containment[3] + this.offset.click.top;
+ }
+ }
+
+ if(o.grid) {
+ //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
+ top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
+ pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
+
+ left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
+ pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
+ }
+
+ }
+
+ return {
+ top: (
+ pageY - // The absolute mouse position
+ this.offset.click.top - // Click offset (relative to the element)
+ this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
+ ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top )
+ ),
+ left: (
+ pageX - // The absolute mouse position
+ this.offset.click.left - // Click offset (relative to the element)
+ this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
+ ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left )
+ )
+ };
+
+ },
+
+ _clear: function() {
+ this.helper.removeClass("ui-draggable-dragging");
+ if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
+ this.helper.remove();
+ }
+ this.helper = null;
+ this.cancelHelperRemoval = false;
+ },
+
+ // From now on bulk stuff - mainly helpers
+
+ _trigger: function(type, event, ui) {
+ ui = ui || this._uiHash();
+ $.ui.plugin.call(this, type, [event, ui]);
+ //The absolute position has to be recalculated after plugins
+ if(type === "drag") {
+ this.positionAbs = this._convertPositionTo("absolute");
+ }
+ return $.Widget.prototype._trigger.call(this, type, event, ui);
+ },
+
+ plugins: {},
+
+ _uiHash: function() {
+ return {
+ helper: this.helper,
+ position: this.position,
+ originalPosition: this.originalPosition,
+ offset: this.positionAbs
+ };
+ }
+
+});
+
+$.ui.plugin.add("draggable", "connectToSortable", {
+ start: function(event, ui) {
+
+ var inst = $(this).data("ui-draggable"), o = inst.options,
+ uiSortable = $.extend({}, ui, { item: inst.element });
+ inst.sortables = [];
+ $(o.connectToSortable).each(function() {
+ var sortable = $.data(this, "ui-sortable");
+ if (sortable && !sortable.options.disabled) {
+ inst.sortables.push({
+ instance: sortable,
+ shouldRevert: sortable.options.revert
+ });
+ sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
+ sortable._trigger("activate", event, uiSortable);
+ }
+ });
+
+ },
+ stop: function(event, ui) {
+
+ //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
+ var inst = $(this).data("ui-draggable"),
+ uiSortable = $.extend({}, ui, { item: inst.element });
+
+ $.each(inst.sortables, function() {
+ if(this.instance.isOver) {
+
+ this.instance.isOver = 0;
+
+ inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
+ this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
+
+ //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid"
+ if(this.shouldRevert) {
+ this.instance.options.revert = this.shouldRevert;
+ }
+
+ //Trigger the stop of the sortable
+ this.instance._mouseStop(event);
+
+ this.instance.options.helper = this.instance.options._helper;
+
+ //If the helper has been the original item, restore properties in the sortable
+ if(inst.options.helper === "original") {
+ this.instance.currentItem.css({ top: "auto", left: "auto" });
+ }
+
+ } else {
+ this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
+ this.instance._trigger("deactivate", event, uiSortable);
+ }
+
+ });
+
+ },
+ drag: function(event, ui) {
+
+ var inst = $(this).data("ui-draggable"), that = this;
+
+ $.each(inst.sortables, function() {
+
+ var innermostIntersecting = false,
+ thisSortable = this;
+
+ //Copy over some variables to allow calling the sortable's native _intersectsWith
+ this.instance.positionAbs = inst.positionAbs;
+ this.instance.helperProportions = inst.helperProportions;
+ this.instance.offset.click = inst.offset.click;
+
+ if(this.instance._intersectsWith(this.instance.containerCache)) {
+ innermostIntersecting = true;
+ $.each(inst.sortables, function () {
+ this.instance.positionAbs = inst.positionAbs;
+ this.instance.helperProportions = inst.helperProportions;
+ this.instance.offset.click = inst.offset.click;
+ if (this !== thisSortable &&
+ this.instance._intersectsWith(this.instance.containerCache) &&
+ $.contains(thisSortable.instance.element[0], this.instance.element[0])
+ ) {
+ innermostIntersecting = false;
+ }
+ return innermostIntersecting;
+ });
+ }
+
+
+ if(innermostIntersecting) {
+ //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
+ if(!this.instance.isOver) {
+
+ this.instance.isOver = 1;
+ //Now we fake the start of dragging for the sortable instance,
+ //by cloning the list group item, appending it to the sortable and using it as inst.currentItem
+ //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
+ this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
+ this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
+ this.instance.options.helper = function() { return ui.helper[0]; };
+
+ event.target = this.instance.currentItem[0];
+ this.instance._mouseCapture(event, true);
+ this.instance._mouseStart(event, true, true);
+
+ //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
+ this.instance.offset.click.top = inst.offset.click.top;
+ this.instance.offset.click.left = inst.offset.click.left;
+ this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
+ this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
+
+ inst._trigger("toSortable", event);
+ inst.dropped = this.instance.element; //draggable revert needs that
+ //hack so receive/update callbacks work (mostly)
+ inst.currentItem = inst.element;
+ this.instance.fromOutside = inst;
+
+ }
+
+ //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
+ if(this.instance.currentItem) {
+ this.instance._mouseDrag(event);
+ }
+
+ } else {
+
+ //If it doesn't intersect with the sortable, and it intersected before,
+ //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
+ if(this.instance.isOver) {
+
+ this.instance.isOver = 0;
+ this.instance.cancelHelperRemoval = true;
+
+ //Prevent reverting on this forced stop
+ this.instance.options.revert = false;
+
+ // The out event needs to be triggered independently
+ this.instance._trigger("out", event, this.instance._uiHash(this.instance));
+
+ this.instance._mouseStop(event, true);
+ this.instance.options.helper = this.instance.options._helper;
+
+ //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
+ this.instance.currentItem.remove();
+ if(this.instance.placeholder) {
+ this.instance.placeholder.remove();
+ }
+
+ inst._trigger("fromSortable", event);
+ inst.dropped = false; //draggable revert needs that
+ }
+
+ }
+
+ });
+
+ }
+});
+
+$.ui.plugin.add("draggable", "cursor", {
+ start: function() {
+ var t = $("body"), o = $(this).data("ui-draggable").options;
+ if (t.css("cursor")) {
+ o._cursor = t.css("cursor");
+ }
+ t.css("cursor", o.cursor);
+ },
+ stop: function() {
+ var o = $(this).data("ui-draggable").options;
+ if (o._cursor) {
+ $("body").css("cursor", o._cursor);
+ }
+ }
+});
+
+$.ui.plugin.add("draggable", "opacity", {
+ start: function(event, ui) {
+ var t = $(ui.helper), o = $(this).data("ui-draggable").options;
+ if(t.css("opacity")) {
+ o._opacity = t.css("opacity");
+ }
+ t.css("opacity", o.opacity);
+ },
+ stop: function(event, ui) {
+ var o = $(this).data("ui-draggable").options;
+ if(o._opacity) {
+ $(ui.helper).css("opacity", o._opacity);
+ }
+ }
+});
+
+$.ui.plugin.add("draggable", "scroll", {
+ start: function() {
+ var i = $(this).data("ui-draggable");
+ if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
+ i.overflowOffset = i.scrollParent.offset();
+ }
+ },
+ drag: function( event ) {
+
+ var i = $(this).data("ui-draggable"), o = i.options, scrolled = false;
+
+ if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
+
+ if(!o.axis || o.axis !== "x") {
+ if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
+ i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
+ } else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) {
+ i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
+ }
+ }
+
+ if(!o.axis || o.axis !== "y") {
+ if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
+ i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
+ } else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) {
+ i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
+ }
+ }
+
+ } else {
+
+ if(!o.axis || o.axis !== "x") {
+ if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
+ } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
+ }
+ }
+
+ if(!o.axis || o.axis !== "y") {
+ if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
+ } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
+ }
+ }
+
+ }
+
+ if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(i, event);
+ }
+
+ }
+});
+
+$.ui.plugin.add("draggable", "snap", {
+ start: function() {
+
+ var i = $(this).data("ui-draggable"),
+ o = i.options;
+
+ i.snapElements = [];
+
+ $(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
+ var $t = $(this),
+ $o = $t.offset();
+ if(this !== i.element[0]) {
+ i.snapElements.push({
+ item: this,
+ width: $t.outerWidth(), height: $t.outerHeight(),
+ top: $o.top, left: $o.left
+ });
+ }
+ });
+
+ },
+ drag: function(event, ui) {
+
+ var ts, bs, ls, rs, l, r, t, b, i, first,
+ inst = $(this).data("ui-draggable"),
+ o = inst.options,
+ d = o.snapTolerance,
+ x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
+ y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
+
+ for (i = inst.snapElements.length - 1; i >= 0; i--){
+
+ l = inst.snapElements[i].left;
+ r = l + inst.snapElements[i].width;
+ t = inst.snapElements[i].top;
+ b = t + inst.snapElements[i].height;
+
+ if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
+ if(inst.snapElements[i].snapping) {
+ (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
+ }
+ inst.snapElements[i].snapping = false;
+ continue;
+ }
+
+ if(o.snapMode !== "inner") {
+ ts = Math.abs(t - y2) <= d;
+ bs = Math.abs(b - y1) <= d;
+ ls = Math.abs(l - x2) <= d;
+ rs = Math.abs(r - x1) <= d;
+ if(ts) {
+ ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
+ }
+ if(bs) {
+ ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
+ }
+ if(ls) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
+ }
+ if(rs) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
+ }
+ }
+
+ first = (ts || bs || ls || rs);
+
+ if(o.snapMode !== "outer") {
+ ts = Math.abs(t - y1) <= d;
+ bs = Math.abs(b - y2) <= d;
+ ls = Math.abs(l - x1) <= d;
+ rs = Math.abs(r - x2) <= d;
+ if(ts) {
+ ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
+ }
+ if(bs) {
+ ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
+ }
+ if(ls) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
+ }
+ if(rs) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
+ }
+ }
+
+ if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
+ (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
+ }
+ inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
+
+ }
+
+ }
+});
+
+$.ui.plugin.add("draggable", "stack", {
+ start: function() {
+ var min,
+ o = this.data("ui-draggable").options,
+ group = $.makeArray($(o.stack)).sort(function(a,b) {
+ return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
+ });
+
+ if (!group.length) { return; }
+
+ min = parseInt($(group[0]).css("zIndex"), 10) || 0;
+ $(group).each(function(i) {
+ $(this).css("zIndex", min + i);
+ });
+ this.css("zIndex", (min + group.length));
+ }
+});
+
+$.ui.plugin.add("draggable", "zIndex", {
+ start: function(event, ui) {
+ var t = $(ui.helper), o = $(this).data("ui-draggable").options;
+ if(t.css("zIndex")) {
+ o._zIndex = t.css("zIndex");
+ }
+ t.css("zIndex", o.zIndex);
+ },
+ stop: function(event, ui) {
+ var o = $(this).data("ui-draggable").options;
+ if(o._zIndex) {
+ $(ui.helper).css("zIndex", o._zIndex);
+ }
+ }
+});
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+function isOverAxis( x, reference, size ) {
+ return ( x > reference ) && ( x < ( reference + size ) );
+}
+
+$.widget("ui.droppable", {
+ version: "1.10.3",
+ widgetEventPrefix: "drop",
+ options: {
+ accept: "*",
+ activeClass: false,
+ addClasses: true,
+ greedy: false,
+ hoverClass: false,
+ scope: "default",
+ tolerance: "intersect",
+
+ // callbacks
+ activate: null,
+ deactivate: null,
+ drop: null,
+ out: null,
+ over: null
+ },
+ _create: function() {
+
+ var o = this.options,
+ accept = o.accept;
+
+ this.isover = false;
+ this.isout = true;
+
+ this.accept = $.isFunction(accept) ? accept : function(d) {
+ return d.is(accept);
+ };
+
+ //Store the droppable's proportions
+ this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };
+
+ // Add the reference and positions to the manager
+ $.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];
+ $.ui.ddmanager.droppables[o.scope].push(this);
+
+ (o.addClasses && this.element.addClass("ui-droppable"));
+
+ },
+
+ _destroy: function() {
+ var i = 0,
+ drop = $.ui.ddmanager.droppables[this.options.scope];
+
+ for ( ; i < drop.length; i++ ) {
+ if ( drop[i] === this ) {
+ drop.splice(i, 1);
+ }
+ }
+
+ this.element.removeClass("ui-droppable ui-droppable-disabled");
+ },
+
+ _setOption: function(key, value) {
+
+ if(key === "accept") {
+ this.accept = $.isFunction(value) ? value : function(d) {
+ return d.is(value);
+ };
+ }
+ $.Widget.prototype._setOption.apply(this, arguments);
+ },
+
+ _activate: function(event) {
+ var draggable = $.ui.ddmanager.current;
+ if(this.options.activeClass) {
+ this.element.addClass(this.options.activeClass);
+ }
+ if(draggable){
+ this._trigger("activate", event, this.ui(draggable));
+ }
+ },
+
+ _deactivate: function(event) {
+ var draggable = $.ui.ddmanager.current;
+ if(this.options.activeClass) {
+ this.element.removeClass(this.options.activeClass);
+ }
+ if(draggable){
+ this._trigger("deactivate", event, this.ui(draggable));
+ }
+ },
+
+ _over: function(event) {
+
+ var draggable = $.ui.ddmanager.current;
+
+ // Bail if draggable and droppable are same element
+ if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
+ return;
+ }
+
+ if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ if(this.options.hoverClass) {
+ this.element.addClass(this.options.hoverClass);
+ }
+ this._trigger("over", event, this.ui(draggable));
+ }
+
+ },
+
+ _out: function(event) {
+
+ var draggable = $.ui.ddmanager.current;
+
+ // Bail if draggable and droppable are same element
+ if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
+ return;
+ }
+
+ if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ if(this.options.hoverClass) {
+ this.element.removeClass(this.options.hoverClass);
+ }
+ this._trigger("out", event, this.ui(draggable));
+ }
+
+ },
+
+ _drop: function(event,custom) {
+
+ var draggable = custom || $.ui.ddmanager.current,
+ childrenIntersection = false;
+
+ // Bail if draggable and droppable are same element
+ if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
+ return false;
+ }
+
+ this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() {
+ var inst = $.data(this, "ui-droppable");
+ if(
+ inst.options.greedy &&
+ !inst.options.disabled &&
+ inst.options.scope === draggable.options.scope &&
+ inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) &&
+ $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
+ ) { childrenIntersection = true; return false; }
+ });
+ if(childrenIntersection) {
+ return false;
+ }
+
+ if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ if(this.options.activeClass) {
+ this.element.removeClass(this.options.activeClass);
+ }
+ if(this.options.hoverClass) {
+ this.element.removeClass(this.options.hoverClass);
+ }
+ this._trigger("drop", event, this.ui(draggable));
+ return this.element;
+ }
+
+ return false;
+
+ },
+
+ ui: function(c) {
+ return {
+ draggable: (c.currentItem || c.element),
+ helper: c.helper,
+ position: c.position,
+ offset: c.positionAbs
+ };
+ }
+
+});
+
+$.ui.intersect = function(draggable, droppable, toleranceMode) {
+
+ if (!droppable.offset) {
+ return false;
+ }
+
+ var draggableLeft, draggableTop,
+ x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
+ y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height,
+ l = droppable.offset.left, r = l + droppable.proportions.width,
+ t = droppable.offset.top, b = t + droppable.proportions.height;
+
+ switch (toleranceMode) {
+ case "fit":
+ return (l <= x1 && x2 <= r && t <= y1 && y2 <= b);
+ case "intersect":
+ return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half
+ x2 - (draggable.helperProportions.width / 2) < r && // Left Half
+ t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half
+ y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
+ case "pointer":
+ draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left);
+ draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top);
+ return isOverAxis( draggableTop, t, droppable.proportions.height ) && isOverAxis( draggableLeft, l, droppable.proportions.width );
+ case "touch":
+ return (
+ (y1 >= t && y1 <= b) || // Top edge touching
+ (y2 >= t && y2 <= b) || // Bottom edge touching
+ (y1 < t && y2 > b) // Surrounded vertically
+ ) && (
+ (x1 >= l && x1 <= r) || // Left edge touching
+ (x2 >= l && x2 <= r) || // Right edge touching
+ (x1 < l && x2 > r) // Surrounded horizontally
+ );
+ default:
+ return false;
+ }
+
+};
+
+/*
+ This manager tracks offsets of draggables and droppables
+*/
+$.ui.ddmanager = {
+ current: null,
+ droppables: { "default": [] },
+ prepareOffsets: function(t, event) {
+
+ var i, j,
+ m = $.ui.ddmanager.droppables[t.options.scope] || [],
+ type = event ? event.type : null, // workaround for #2317
+ list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
+
+ droppablesLoop: for (i = 0; i < m.length; i++) {
+
+ //No disabled and non-accepted
+ if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) {
+ continue;
+ }
+
+ // Filter out elements in the current dragged item
+ for (j=0; j < list.length; j++) {
+ if(list[j] === m[i].element[0]) {
+ m[i].proportions.height = 0;
+ continue droppablesLoop;
+ }
+ }
+
+ m[i].visible = m[i].element.css("display") !== "none";
+ if(!m[i].visible) {
+ continue;
+ }
+
+ //Activate the droppable if used directly from draggables
+ if(type === "mousedown") {
+ m[i]._activate.call(m[i], event);
+ }
+
+ m[i].offset = m[i].element.offset();
+ m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
+
+ }
+
+ },
+ drop: function(draggable, event) {
+
+ var dropped = false;
+ // Create a copy of the droppables in case the list changes during the drop (#9116)
+ $.each(($.ui.ddmanager.droppables[draggable.options.scope] || []).slice(), function() {
+
+ if(!this.options) {
+ return;
+ }
+ if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) {
+ dropped = this._drop.call(this, event) || dropped;
+ }
+
+ if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ this.isout = true;
+ this.isover = false;
+ this._deactivate.call(this, event);
+ }
+
+ });
+ return dropped;
+
+ },
+ dragStart: function( draggable, event ) {
+ //Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
+ draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
+ if( !draggable.options.refreshPositions ) {
+ $.ui.ddmanager.prepareOffsets( draggable, event );
+ }
+ });
+ },
+ drag: function(draggable, event) {
+
+ //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
+ if(draggable.options.refreshPositions) {
+ $.ui.ddmanager.prepareOffsets(draggable, event);
+ }
+
+ //Run through all droppables and check their positions based on specific tolerance options
+ $.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
+
+ if(this.options.disabled || this.greedyChild || !this.visible) {
+ return;
+ }
+
+ var parentInstance, scope, parent,
+ intersects = $.ui.intersect(draggable, this, this.options.tolerance),
+ c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null);
+ if(!c) {
+ return;
+ }
+
+ if (this.options.greedy) {
+ // find droppable parents with same scope
+ scope = this.options.scope;
+ parent = this.element.parents(":data(ui-droppable)").filter(function () {
+ return $.data(this, "ui-droppable").options.scope === scope;
+ });
+
+ if (parent.length) {
+ parentInstance = $.data(parent[0], "ui-droppable");
+ parentInstance.greedyChild = (c === "isover");
+ }
+ }
+
+ // we just moved into a greedy child
+ if (parentInstance && c === "isover") {
+ parentInstance.isover = false;
+ parentInstance.isout = true;
+ parentInstance._out.call(parentInstance, event);
+ }
+
+ this[c] = true;
+ this[c === "isout" ? "isover" : "isout"] = false;
+ this[c === "isover" ? "_over" : "_out"].call(this, event);
+
+ // we just moved out of a greedy child
+ if (parentInstance && c === "isout") {
+ parentInstance.isout = false;
+ parentInstance.isover = true;
+ parentInstance._over.call(parentInstance, event);
+ }
+ });
+
+ },
+ dragStop: function( draggable, event ) {
+ draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
+ //Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
+ if( !draggable.options.refreshPositions ) {
+ $.ui.ddmanager.prepareOffsets( draggable, event );
+ }
+ }
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+function num(v) {
+ return parseInt(v, 10) || 0;
+}
+
+function isNumber(value) {
+ return !isNaN(parseInt(value, 10));
+}
+
+$.widget("ui.resizable", $.ui.mouse, {
+ version: "1.10.3",
+ widgetEventPrefix: "resize",
+ options: {
+ alsoResize: false,
+ animate: false,
+ animateDuration: "slow",
+ animateEasing: "swing",
+ aspectRatio: false,
+ autoHide: false,
+ containment: false,
+ ghost: false,
+ grid: false,
+ handles: "e,s,se",
+ helper: false,
+ maxHeight: null,
+ maxWidth: null,
+ minHeight: 10,
+ minWidth: 10,
+ // See #7960
+ zIndex: 90,
+
+ // callbacks
+ resize: null,
+ start: null,
+ stop: null
+ },
+ _create: function() {
+
+ var n, i, handle, axis, hname,
+ that = this,
+ o = this.options;
+ this.element.addClass("ui-resizable");
+
+ $.extend(this, {
+ _aspectRatio: !!(o.aspectRatio),
+ aspectRatio: o.aspectRatio,
+ originalElement: this.element,
+ _proportionallyResizeElements: [],
+ _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
+ });
+
+ //Wrap the element if it cannot hold child nodes
+ if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
+
+ //Create a wrapper element and set the wrapper to the new current internal element
+ this.element.wrap(
+ $("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
+ position: this.element.css("position"),
+ width: this.element.outerWidth(),
+ height: this.element.outerHeight(),
+ top: this.element.css("top"),
+ left: this.element.css("left")
+ })
+ );
+
+ //Overwrite the original this.element
+ this.element = this.element.parent().data(
+ "ui-resizable", this.element.data("ui-resizable")
+ );
+
+ this.elementIsWrapper = true;
+
+ //Move margins to the wrapper
+ this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") });
+ this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});
+
+ //Prevent Safari textarea resize
+ this.originalResizeStyle = this.originalElement.css("resize");
+ this.originalElement.css("resize", "none");
+
+ //Push the actual element to our proportionallyResize internal array
+ this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" }));
+
+ // avoid IE jump (hard set the margin)
+ this.originalElement.css({ margin: this.originalElement.css("margin") });
+
+ // fix handlers offset
+ this._proportionallyResize();
+
+ }
+
+ this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" });
+ if(this.handles.constructor === String) {
+
+ if ( this.handles === "all") {
+ this.handles = "n,e,s,w,se,sw,ne,nw";
+ }
+
+ n = this.handles.split(",");
+ this.handles = {};
+
+ for(i = 0; i < n.length; i++) {
+
+ handle = $.trim(n[i]);
+ hname = "ui-resizable-"+handle;
+ axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
+
+ // Apply zIndex to all handles - see #7960
+ axis.css({ zIndex: o.zIndex });
+
+ //TODO : What's going on here?
+ if ("se" === handle) {
+ axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
+ }
+
+ //Insert into internal handles object and append to element
+ this.handles[handle] = ".ui-resizable-"+handle;
+ this.element.append(axis);
+ }
+
+ }
+
+ this._renderAxis = function(target) {
+
+ var i, axis, padPos, padWrapper;
+
+ target = target || this.element;
+
+ for(i in this.handles) {
+
+ if(this.handles[i].constructor === String) {
+ this.handles[i] = $(this.handles[i], this.element).show();
+ }
+
+ //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls)
+ if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
+
+ axis = $(this.handles[i], this.element);
+
+ //Checking the correct pad and border
+ padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
+
+ //The padding type i have to apply...
+ padPos = [ "padding",
+ /ne|nw|n/.test(i) ? "Top" :
+ /se|sw|s/.test(i) ? "Bottom" :
+ /^e$/.test(i) ? "Right" : "Left" ].join("");
+
+ target.css(padPos, padWrapper);
+
+ this._proportionallyResize();
+
+ }
+
+ //TODO: What's that good for? There's not anything to be executed left
+ if(!$(this.handles[i]).length) {
+ continue;
+ }
+ }
+ };
+
+ //TODO: make renderAxis a prototype function
+ this._renderAxis(this.element);
+
+ this._handles = $(".ui-resizable-handle", this.element)
+ .disableSelection();
+
+ //Matching axis name
+ this._handles.mouseover(function() {
+ if (!that.resizing) {
+ if (this.className) {
+ axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
+ }
+ //Axis, default = se
+ that.axis = axis && axis[1] ? axis[1] : "se";
+ }
+ });
+
+ //If we want to auto hide the elements
+ if (o.autoHide) {
+ this._handles.hide();
+ $(this.element)
+ .addClass("ui-resizable-autohide")
+ .mouseenter(function() {
+ if (o.disabled) {
+ return;
+ }
+ $(this).removeClass("ui-resizable-autohide");
+ that._handles.show();
+ })
+ .mouseleave(function(){
+ if (o.disabled) {
+ return;
+ }
+ if (!that.resizing) {
+ $(this).addClass("ui-resizable-autohide");
+ that._handles.hide();
+ }
+ });
+ }
+
+ //Initialize the mouse interaction
+ this._mouseInit();
+
+ },
+
+ _destroy: function() {
+
+ this._mouseDestroy();
+
+ var wrapper,
+ _destroy = function(exp) {
+ $(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
+ .removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();
+ };
+
+ //TODO: Unwrap at same DOM position
+ if (this.elementIsWrapper) {
+ _destroy(this.element);
+ wrapper = this.element;
+ this.originalElement.css({
+ position: wrapper.css("position"),
+ width: wrapper.outerWidth(),
+ height: wrapper.outerHeight(),
+ top: wrapper.css("top"),
+ left: wrapper.css("left")
+ }).insertAfter( wrapper );
+ wrapper.remove();
+ }
+
+ this.originalElement.css("resize", this.originalResizeStyle);
+ _destroy(this.originalElement);
+
+ return this;
+ },
+
+ _mouseCapture: function(event) {
+ var i, handle,
+ capture = false;
+
+ for (i in this.handles) {
+ handle = $(this.handles[i])[0];
+ if (handle === event.target || $.contains(handle, event.target)) {
+ capture = true;
+ }
+ }
+
+ return !this.options.disabled && capture;
+ },
+
+ _mouseStart: function(event) {
+
+ var curleft, curtop, cursor,
+ o = this.options,
+ iniPos = this.element.position(),
+ el = this.element;
+
+ this.resizing = true;
+
+ // bugfix for http://dev.jquery.com/ticket/1749
+ if ( (/absolute/).test( el.css("position") ) ) {
+ el.css({ position: "absolute", top: el.css("top"), left: el.css("left") });
+ } else if (el.is(".ui-draggable")) {
+ el.css({ position: "absolute", top: iniPos.top, left: iniPos.left });
+ }
+
+ this._renderProxy();
+
+ curleft = num(this.helper.css("left"));
+ curtop = num(this.helper.css("top"));
+
+ if (o.containment) {
+ curleft += $(o.containment).scrollLeft() || 0;
+ curtop += $(o.containment).scrollTop() || 0;
+ }
+
+ //Store needed variables
+ this.offset = this.helper.offset();
+ this.position = { left: curleft, top: curtop };
+ this.size = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
+ this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
+ this.originalPosition = { left: curleft, top: curtop };
+ this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };
+ this.originalMousePosition = { left: event.pageX, top: event.pageY };
+
+ //Aspect Ratio
+ this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
+
+ cursor = $(".ui-resizable-" + this.axis).css("cursor");
+ $("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
+
+ el.addClass("ui-resizable-resizing");
+ this._propagate("start", event);
+ return true;
+ },
+
+ _mouseDrag: function(event) {
+
+ //Increase performance, avoid regex
+ var data,
+ el = this.helper, props = {},
+ smp = this.originalMousePosition,
+ a = this.axis,
+ prevTop = this.position.top,
+ prevLeft = this.position.left,
+ prevWidth = this.size.width,
+ prevHeight = this.size.height,
+ dx = (event.pageX-smp.left)||0,
+ dy = (event.pageY-smp.top)||0,
+ trigger = this._change[a];
+
+ if (!trigger) {
+ return false;
+ }
+
+ // Calculate the attrs that will be change
+ data = trigger.apply(this, [event, dx, dy]);
+
+ // Put this in the mouseDrag handler since the user can start pressing shift while resizing
+ this._updateVirtualBoundaries(event.shiftKey);
+ if (this._aspectRatio || event.shiftKey) {
+ data = this._updateRatio(data, event);
+ }
+
+ data = this._respectSize(data, event);
+
+ this._updateCache(data);
+
+ // plugins callbacks need to be called first
+ this._propagate("resize", event);
+
+ if (this.position.top !== prevTop) {
+ props.top = this.position.top + "px";
+ }
+ if (this.position.left !== prevLeft) {
+ props.left = this.position.left + "px";
+ }
+ if (this.size.width !== prevWidth) {
+ props.width = this.size.width + "px";
+ }
+ if (this.size.height !== prevHeight) {
+ props.height = this.size.height + "px";
+ }
+ el.css(props);
+
+ if (!this._helper && this._proportionallyResizeElements.length) {
+ this._proportionallyResize();
+ }
+
+ // Call the user callback if the element was resized
+ if ( ! $.isEmptyObject(props) ) {
+ this._trigger("resize", event, this.ui());
+ }
+
+ return false;
+ },
+
+ _mouseStop: function(event) {
+
+ this.resizing = false;
+ var pr, ista, soffseth, soffsetw, s, left, top,
+ o = this.options, that = this;
+
+ if(this._helper) {
+
+ pr = this._proportionallyResizeElements;
+ ista = pr.length && (/textarea/i).test(pr[0].nodeName);
+ soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height;
+ soffsetw = ista ? 0 : that.sizeDiff.width;
+
+ s = { width: (that.helper.width() - soffsetw), height: (that.helper.height() - soffseth) };
+ left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null;
+ top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
+
+ if (!o.animate) {
+ this.element.css($.extend(s, { top: top, left: left }));
+ }
+
+ that.helper.height(that.size.height);
+ that.helper.width(that.size.width);
+
+ if (this._helper && !o.animate) {
+ this._proportionallyResize();
+ }
+ }
+
+ $("body").css("cursor", "auto");
+
+ this.element.removeClass("ui-resizable-resizing");
+
+ this._propagate("stop", event);
+
+ if (this._helper) {
+ this.helper.remove();
+ }
+
+ return false;
+
+ },
+
+ _updateVirtualBoundaries: function(forceAspectRatio) {
+ var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
+ o = this.options;
+
+ b = {
+ minWidth: isNumber(o.minWidth) ? o.minWidth : 0,
+ maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,
+ minHeight: isNumber(o.minHeight) ? o.minHeight : 0,
+ maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity
+ };
+
+ if(this._aspectRatio || forceAspectRatio) {
+ // We want to create an enclosing box whose aspect ration is the requested one
+ // First, compute the "projected" size for each dimension based on the aspect ratio and other dimension
+ pMinWidth = b.minHeight * this.aspectRatio;
+ pMinHeight = b.minWidth / this.aspectRatio;
+ pMaxWidth = b.maxHeight * this.aspectRatio;
+ pMaxHeight = b.maxWidth / this.aspectRatio;
+
+ if(pMinWidth > b.minWidth) {
+ b.minWidth = pMinWidth;
+ }
+ if(pMinHeight > b.minHeight) {
+ b.minHeight = pMinHeight;
+ }
+ if(pMaxWidth < b.maxWidth) {
+ b.maxWidth = pMaxWidth;
+ }
+ if(pMaxHeight < b.maxHeight) {
+ b.maxHeight = pMaxHeight;
+ }
+ }
+ this._vBoundaries = b;
+ },
+
+ _updateCache: function(data) {
+ this.offset = this.helper.offset();
+ if (isNumber(data.left)) {
+ this.position.left = data.left;
+ }
+ if (isNumber(data.top)) {
+ this.position.top = data.top;
+ }
+ if (isNumber(data.height)) {
+ this.size.height = data.height;
+ }
+ if (isNumber(data.width)) {
+ this.size.width = data.width;
+ }
+ },
+
+ _updateRatio: function( data ) {
+
+ var cpos = this.position,
+ csize = this.size,
+ a = this.axis;
+
+ if (isNumber(data.height)) {
+ data.width = (data.height * this.aspectRatio);
+ } else if (isNumber(data.width)) {
+ data.height = (data.width / this.aspectRatio);
+ }
+
+ if (a === "sw") {
+ data.left = cpos.left + (csize.width - data.width);
+ data.top = null;
+ }
+ if (a === "nw") {
+ data.top = cpos.top + (csize.height - data.height);
+ data.left = cpos.left + (csize.width - data.width);
+ }
+
+ return data;
+ },
+
+ _respectSize: function( data ) {
+
+ var o = this._vBoundaries,
+ a = this.axis,
+ ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
+ isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
+ dw = this.originalPosition.left + this.originalSize.width,
+ dh = this.position.top + this.size.height,
+ cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
+ if (isminw) {
+ data.width = o.minWidth;
+ }
+ if (isminh) {
+ data.height = o.minHeight;
+ }
+ if (ismaxw) {
+ data.width = o.maxWidth;
+ }
+ if (ismaxh) {
+ data.height = o.maxHeight;
+ }
+
+ if (isminw && cw) {
+ data.left = dw - o.minWidth;
+ }
+ if (ismaxw && cw) {
+ data.left = dw - o.maxWidth;
+ }
+ if (isminh && ch) {
+ data.top = dh - o.minHeight;
+ }
+ if (ismaxh && ch) {
+ data.top = dh - o.maxHeight;
+ }
+
+ // fixing jump error on top/left - bug #2330
+ if (!data.width && !data.height && !data.left && data.top) {
+ data.top = null;
+ } else if (!data.width && !data.height && !data.top && data.left) {
+ data.left = null;
+ }
+
+ return data;
+ },
+
+ _proportionallyResize: function() {
+
+ if (!this._proportionallyResizeElements.length) {
+ return;
+ }
+
+ var i, j, borders, paddings, prel,
+ element = this.helper || this.element;
+
+ for ( i=0; i < this._proportionallyResizeElements.length; i++) {
+
+ prel = this._proportionallyResizeElements[i];
+
+ if (!this.borderDif) {
+ this.borderDif = [];
+ borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")];
+ paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")];
+
+ for ( j = 0; j < borders.length; j++ ) {
+ this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 );
+ }
+ }
+
+ prel.css({
+ height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0,
+ width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0
+ });
+
+ }
+
+ },
+
+ _renderProxy: function() {
+
+ var el = this.element, o = this.options;
+ this.elementOffset = el.offset();
+
+ if(this._helper) {
+
+ this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
+
+ this.helper.addClass(this._helper).css({
+ width: this.element.outerWidth() - 1,
+ height: this.element.outerHeight() - 1,
+ position: "absolute",
+ left: this.elementOffset.left +"px",
+ top: this.elementOffset.top +"px",
+ zIndex: ++o.zIndex //TODO: Don't modify option
+ });
+
+ this.helper
+ .appendTo("body")
+ .disableSelection();
+
+ } else {
+ this.helper = this.element;
+ }
+
+ },
+
+ _change: {
+ e: function(event, dx) {
+ return { width: this.originalSize.width + dx };
+ },
+ w: function(event, dx) {
+ var cs = this.originalSize, sp = this.originalPosition;
+ return { left: sp.left + dx, width: cs.width - dx };
+ },
+ n: function(event, dx, dy) {
+ var cs = this.originalSize, sp = this.originalPosition;
+ return { top: sp.top + dy, height: cs.height - dy };
+ },
+ s: function(event, dx, dy) {
+ return { height: this.originalSize.height + dy };
+ },
+ se: function(event, dx, dy) {
+ return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
+ },
+ sw: function(event, dx, dy) {
+ return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
+ },
+ ne: function(event, dx, dy) {
+ return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
+ },
+ nw: function(event, dx, dy) {
+ return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
+ }
+ },
+
+ _propagate: function(n, event) {
+ $.ui.plugin.call(this, n, [event, this.ui()]);
+ (n !== "resize" && this._trigger(n, event, this.ui()));
+ },
+
+ plugins: {},
+
+ ui: function() {
+ return {
+ originalElement: this.originalElement,
+ element: this.element,
+ helper: this.helper,
+ position: this.position,
+ size: this.size,
+ originalSize: this.originalSize,
+ originalPosition: this.originalPosition
+ };
+ }
+
+});
+
+/*
+ * Resizable Extensions
+ */
+
+$.ui.plugin.add("resizable", "animate", {
+
+ stop: function( event ) {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ pr = that._proportionallyResizeElements,
+ ista = pr.length && (/textarea/i).test(pr[0].nodeName),
+ soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height,
+ soffsetw = ista ? 0 : that.sizeDiff.width,
+ style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
+ left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null,
+ top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
+
+ that.element.animate(
+ $.extend(style, top && left ? { top: top, left: left } : {}), {
+ duration: o.animateDuration,
+ easing: o.animateEasing,
+ step: function() {
+
+ var data = {
+ width: parseInt(that.element.css("width"), 10),
+ height: parseInt(that.element.css("height"), 10),
+ top: parseInt(that.element.css("top"), 10),
+ left: parseInt(that.element.css("left"), 10)
+ };
+
+ if (pr && pr.length) {
+ $(pr[0]).css({ width: data.width, height: data.height });
+ }
+
+ // propagating resize, and updating values for each animation step
+ that._updateCache(data);
+ that._propagate("resize", event);
+
+ }
+ }
+ );
+ }
+
+});
+
+$.ui.plugin.add("resizable", "containment", {
+
+ start: function() {
+ var element, p, co, ch, cw, width, height,
+ that = $(this).data("ui-resizable"),
+ o = that.options,
+ el = that.element,
+ oc = o.containment,
+ ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc;
+
+ if (!ce) {
+ return;
+ }
+
+ that.containerElement = $(ce);
+
+ if (/document/.test(oc) || oc === document) {
+ that.containerOffset = { left: 0, top: 0 };
+ that.containerPosition = { left: 0, top: 0 };
+
+ that.parentData = {
+ element: $(document), left: 0, top: 0,
+ width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight
+ };
+ }
+
+ // i'm a node, so compute top, left, right, bottom
+ else {
+ element = $(ce);
+ p = [];
+ $([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] = num(element.css("padding" + name)); });
+
+ that.containerOffset = element.offset();
+ that.containerPosition = element.position();
+ that.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) };
+
+ co = that.containerOffset;
+ ch = that.containerSize.height;
+ cw = that.containerSize.width;
+ width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw );
+ height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);
+
+ that.parentData = {
+ element: ce, left: co.left, top: co.top, width: width, height: height
+ };
+ }
+ },
+
+ resize: function( event ) {
+ var woset, hoset, isParent, isOffsetRelative,
+ that = $(this).data("ui-resizable"),
+ o = that.options,
+ co = that.containerOffset, cp = that.position,
+ pRatio = that._aspectRatio || event.shiftKey,
+ cop = { top:0, left:0 }, ce = that.containerElement;
+
+ if (ce[0] !== document && (/static/).test(ce.css("position"))) {
+ cop = co;
+ }
+
+ if (cp.left < (that._helper ? co.left : 0)) {
+ that.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left));
+ if (pRatio) {
+ that.size.height = that.size.width / that.aspectRatio;
+ }
+ that.position.left = o.helper ? co.left : 0;
+ }
+
+ if (cp.top < (that._helper ? co.top : 0)) {
+ that.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top);
+ if (pRatio) {
+ that.size.width = that.size.height * that.aspectRatio;
+ }
+ that.position.top = that._helper ? co.top : 0;
+ }
+
+ that.offset.left = that.parentData.left+that.position.left;
+ that.offset.top = that.parentData.top+that.position.top;
+
+ woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width );
+ hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );
+
+ isParent = that.containerElement.get(0) === that.element.parent().get(0);
+ isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
+
+ if(isParent && isOffsetRelative) {
+ woset -= that.parentData.left;
+ }
+
+ if (woset + that.size.width >= that.parentData.width) {
+ that.size.width = that.parentData.width - woset;
+ if (pRatio) {
+ that.size.height = that.size.width / that.aspectRatio;
+ }
+ }
+
+ if (hoset + that.size.height >= that.parentData.height) {
+ that.size.height = that.parentData.height - hoset;
+ if (pRatio) {
+ that.size.width = that.size.height * that.aspectRatio;
+ }
+ }
+ },
+
+ stop: function(){
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ co = that.containerOffset,
+ cop = that.containerPosition,
+ ce = that.containerElement,
+ helper = $(that.helper),
+ ho = helper.offset(),
+ w = helper.outerWidth() - that.sizeDiff.width,
+ h = helper.outerHeight() - that.sizeDiff.height;
+
+ if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) {
+ $(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
+ }
+
+ if (that._helper && !o.animate && (/static/).test(ce.css("position"))) {
+ $(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
+ }
+
+ }
+});
+
+$.ui.plugin.add("resizable", "alsoResize", {
+
+ start: function () {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ _store = function (exp) {
+ $(exp).each(function() {
+ var el = $(this);
+ el.data("ui-resizable-alsoresize", {
+ width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
+ left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
+ });
+ });
+ };
+
+ if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) {
+ if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }
+ else { $.each(o.alsoResize, function (exp) { _store(exp); }); }
+ }else{
+ _store(o.alsoResize);
+ }
+ },
+
+ resize: function (event, ui) {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ os = that.originalSize,
+ op = that.originalPosition,
+ delta = {
+ height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0,
+ top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0
+ },
+
+ _alsoResize = function (exp, c) {
+ $(exp).each(function() {
+ var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
+ css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
+
+ $.each(css, function (i, prop) {
+ var sum = (start[prop]||0) + (delta[prop]||0);
+ if (sum && sum >= 0) {
+ style[prop] = sum || null;
+ }
+ });
+
+ el.css(style);
+ });
+ };
+
+ if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) {
+ $.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });
+ }else{
+ _alsoResize(o.alsoResize);
+ }
+ },
+
+ stop: function () {
+ $(this).removeData("resizable-alsoresize");
+ }
+});
+
+$.ui.plugin.add("resizable", "ghost", {
+
+ start: function() {
+
+ var that = $(this).data("ui-resizable"), o = that.options, cs = that.size;
+
+ that.ghost = that.originalElement.clone();
+ that.ghost
+ .css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
+ .addClass("ui-resizable-ghost")
+ .addClass(typeof o.ghost === "string" ? o.ghost : "");
+
+ that.ghost.appendTo(that.helper);
+
+ },
+
+ resize: function(){
+ var that = $(this).data("ui-resizable");
+ if (that.ghost) {
+ that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width });
+ }
+ },
+
+ stop: function() {
+ var that = $(this).data("ui-resizable");
+ if (that.ghost && that.helper) {
+ that.helper.get(0).removeChild(that.ghost.get(0));
+ }
+ }
+
+});
+
+$.ui.plugin.add("resizable", "grid", {
+
+ resize: function() {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ cs = that.size,
+ os = that.originalSize,
+ op = that.originalPosition,
+ a = that.axis,
+ grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid,
+ gridX = (grid[0]||1),
+ gridY = (grid[1]||1),
+ ox = Math.round((cs.width - os.width) / gridX) * gridX,
+ oy = Math.round((cs.height - os.height) / gridY) * gridY,
+ newWidth = os.width + ox,
+ newHeight = os.height + oy,
+ isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
+ isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
+ isMinWidth = o.minWidth && (o.minWidth > newWidth),
+ isMinHeight = o.minHeight && (o.minHeight > newHeight);
+
+ o.grid = grid;
+
+ if (isMinWidth) {
+ newWidth = newWidth + gridX;
+ }
+ if (isMinHeight) {
+ newHeight = newHeight + gridY;
+ }
+ if (isMaxWidth) {
+ newWidth = newWidth - gridX;
+ }
+ if (isMaxHeight) {
+ newHeight = newHeight - gridY;
+ }
+
+ if (/^(se|s|e)$/.test(a)) {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ } else if (/^(ne)$/.test(a)) {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ that.position.top = op.top - oy;
+ } else if (/^(sw)$/.test(a)) {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ that.position.left = op.left - ox;
+ } else {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ that.position.top = op.top - oy;
+ that.position.left = op.left - ox;
+ }
+ }
+
+});
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.widget("ui.selectable", $.ui.mouse, {
+ version: "1.10.3",
+ options: {
+ appendTo: "body",
+ autoRefresh: true,
+ distance: 0,
+ filter: "*",
+ tolerance: "touch",
+
+ // callbacks
+ selected: null,
+ selecting: null,
+ start: null,
+ stop: null,
+ unselected: null,
+ unselecting: null
+ },
+ _create: function() {
+ var selectees,
+ that = this;
+
+ this.element.addClass("ui-selectable");
+
+ this.dragged = false;
+
+ // cache selectee children based on filter
+ this.refresh = function() {
+ selectees = $(that.options.filter, that.element[0]);
+ selectees.addClass("ui-selectee");
+ selectees.each(function() {
+ var $this = $(this),
+ pos = $this.offset();
+ $.data(this, "selectable-item", {
+ element: this,
+ $element: $this,
+ left: pos.left,
+ top: pos.top,
+ right: pos.left + $this.outerWidth(),
+ bottom: pos.top + $this.outerHeight(),
+ startselected: false,
+ selected: $this.hasClass("ui-selected"),
+ selecting: $this.hasClass("ui-selecting"),
+ unselecting: $this.hasClass("ui-unselecting")
+ });
+ });
+ };
+ this.refresh();
+
+ this.selectees = selectees.addClass("ui-selectee");
+
+ this._mouseInit();
+
+ this.helper = $("<div class='ui-selectable-helper'></div>");
+ },
+
+ _destroy: function() {
+ this.selectees
+ .removeClass("ui-selectee")
+ .removeData("selectable-item");
+ this.element
+ .removeClass("ui-selectable ui-selectable-disabled");
+ this._mouseDestroy();
+ },
+
+ _mouseStart: function(event) {
+ var that = this,
+ options = this.options;
+
+ this.opos = [event.pageX, event.pageY];
+
+ if (this.options.disabled) {
+ return;
+ }
+
+ this.selectees = $(options.filter, this.element[0]);
+
+ this._trigger("start", event);
+
+ $(options.appendTo).append(this.helper);
+ // position helper (lasso)
+ this.helper.css({
+ "left": event.pageX,
+ "top": event.pageY,
+ "width": 0,
+ "height": 0
+ });
+
+ if (options.autoRefresh) {
+ this.refresh();
+ }
+
+ this.selectees.filter(".ui-selected").each(function() {
+ var selectee = $.data(this, "selectable-item");
+ selectee.startselected = true;
+ if (!event.metaKey && !event.ctrlKey) {
+ selectee.$element.removeClass("ui-selected");
+ selectee.selected = false;
+ selectee.$element.addClass("ui-unselecting");
+ selectee.unselecting = true;
+ // selectable UNSELECTING callback
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ });
+
+ $(event.target).parents().addBack().each(function() {
+ var doSelect,
+ selectee = $.data(this, "selectable-item");
+ if (selectee) {
+ doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
+ selectee.$element
+ .removeClass(doSelect ? "ui-unselecting" : "ui-selected")
+ .addClass(doSelect ? "ui-selecting" : "ui-unselecting");
+ selectee.unselecting = !doSelect;
+ selectee.selecting = doSelect;
+ selectee.selected = doSelect;
+ // selectable (UN)SELECTING callback
+ if (doSelect) {
+ that._trigger("selecting", event, {
+ selecting: selectee.element
+ });
+ } else {
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ return false;
+ }
+ });
+
+ },
+
+ _mouseDrag: function(event) {
+
+ this.dragged = true;
+
+ if (this.options.disabled) {
+ return;
+ }
+
+ var tmp,
+ that = this,
+ options = this.options,
+ x1 = this.opos[0],
+ y1 = this.opos[1],
+ x2 = event.pageX,
+ y2 = event.pageY;
+
+ if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
+ if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }
+ this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
+
+ this.selectees.each(function() {
+ var selectee = $.data(this, "selectable-item"),
+ hit = false;
+
+ //prevent helper from being selected if appendTo: selectable
+ if (!selectee || selectee.element === that.element[0]) {
+ return;
+ }
+
+ if (options.tolerance === "touch") {
+ hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
+ } else if (options.tolerance === "fit") {
+ hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
+ }
+
+ if (hit) {
+ // SELECT
+ if (selectee.selected) {
+ selectee.$element.removeClass("ui-selected");
+ selectee.selected = false;
+ }
+ if (selectee.unselecting) {
+ selectee.$element.removeClass("ui-unselecting");
+ selectee.unselecting = false;
+ }
+ if (!selectee.selecting) {
+ selectee.$element.addClass("ui-selecting");
+ selectee.selecting = true;
+ // selectable SELECTING callback
+ that._trigger("selecting", event, {
+ selecting: selectee.element
+ });
+ }
+ } else {
+ // UNSELECT
+ if (selectee.selecting) {
+ if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
+ selectee.$element.removeClass("ui-selecting");
+ selectee.selecting = false;
+ selectee.$element.addClass("ui-selected");
+ selectee.selected = true;
+ } else {
+ selectee.$element.removeClass("ui-selecting");
+ selectee.selecting = false;
+ if (selectee.startselected) {
+ selectee.$element.addClass("ui-unselecting");
+ selectee.unselecting = true;
+ }
+ // selectable UNSELECTING callback
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ }
+ if (selectee.selected) {
+ if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
+ selectee.$element.removeClass("ui-selected");
+ selectee.selected = false;
+
+ selectee.$element.addClass("ui-unselecting");
+ selectee.unselecting = true;
+ // selectable UNSELECTING callback
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ }
+ }
+ });
+
+ return false;
+ },
+
+ _mouseStop: function(event) {
+ var that = this;
+
+ this.dragged = false;
+
+ $(".ui-unselecting", this.element[0]).each(function() {
+ var selectee = $.data(this, "selectable-item");
+ selectee.$element.removeClass("ui-unselecting");
+ selectee.unselecting = false;
+ selectee.startselected = false;
+ that._trigger("unselected", event, {
+ unselected: selectee.element
+ });
+ });
+ $(".ui-selecting", this.element[0]).each(function() {
+ var selectee = $.data(this, "selectable-item");
+ selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
+ selectee.selecting = false;
+ selectee.selected = true;
+ selectee.startselected = true;
+ that._trigger("selected", event, {
+ selected: selectee.element
+ });
+ });
+ this._trigger("stop", event);
+
+ this.helper.remove();
+
+ return false;
+ }
+
+});
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+/*jshint loopfunc: true */
+
+function isOverAxis( x, reference, size ) {
+ return ( x > reference ) && ( x < ( reference + size ) );
+}
+
+function isFloating(item) {
+ return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
+}
+
+$.widget("ui.sortable", $.ui.mouse, {
+ version: "1.10.3",
+ widgetEventPrefix: "sort",
+ ready: false,
+ options: {
+ appendTo: "parent",
+ axis: false,
+ connectWith: false,
+ containment: false,
+ cursor: "auto",
+ cursorAt: false,
+ dropOnEmpty: true,
+ forcePlaceholderSize: false,
+ forceHelperSize: false,
+ grid: false,
+ handle: false,
+ helper: "original",
+ items: "> *",
+ opacity: false,
+ placeholder: false,
+ revert: false,
+ scroll: true,
+ scrollSensitivity: 20,
+ scrollSpeed: 20,
+ scope: "default",
+ tolerance: "intersect",
+ zIndex: 1000,
+
+ // callbacks
+ activate: null,
+ beforeStop: null,
+ change: null,
+ deactivate: null,
+ out: null,
+ over: null,
+ receive: null,
+ remove: null,
+ sort: null,
+ start: null,
+ stop: null,
+ update: null
+ },
+ _create: function() {
+
+ var o = this.options;
+ this.containerCache = {};
+ this.element.addClass("ui-sortable");
+
+ //Get the items
+ this.refresh();
+
+ //Let's determine if the items are being displayed horizontally
+ this.floating = this.items.length ? o.axis === "x" || isFloating(this.items[0].item) : false;
+
+ //Let's determine the parent's offset
+ this.offset = this.element.offset();
+
+ //Initialize mouse events for interaction
+ this._mouseInit();
+
+ //We're ready to go
+ this.ready = true;
+
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass("ui-sortable ui-sortable-disabled");
+ this._mouseDestroy();
+
+ for ( var i = this.items.length - 1; i >= 0; i-- ) {
+ this.items[i].item.removeData(this.widgetName + "-item");
+ }
+
+ return this;
+ },
+
+ _setOption: function(key, value){
+ if ( key === "disabled" ) {
+ this.options[ key ] = value;
+
+ this.widget().toggleClass( "ui-sortable-disabled", !!value );
+ } else {
+ // Don't call widget base _setOption for disable as it adds ui-state-disabled class
+ $.Widget.prototype._setOption.apply(this, arguments);
+ }
+ },
+
+ _mouseCapture: function(event, overrideHandle) {
+ var currentItem = null,
+ validHandle = false,
+ that = this;
+
+ if (this.reverting) {
+ return false;
+ }
+
+ if(this.options.disabled || this.options.type === "static") {
+ return false;
+ }
+
+ //We have to refresh the items data once first
+ this._refreshItems(event);
+
+ //Find out if the clicked node (or one of its parents) is a actual item in this.items
+ $(event.target).parents().each(function() {
+ if($.data(this, that.widgetName + "-item") === that) {
+ currentItem = $(this);
+ return false;
+ }
+ });
+ if($.data(event.target, that.widgetName + "-item") === that) {
+ currentItem = $(event.target);
+ }
+
+ if(!currentItem) {
+ return false;
+ }
+ if(this.options.handle && !overrideHandle) {
+ $(this.options.handle, currentItem).find("*").addBack().each(function() {
+ if(this === event.target) {
+ validHandle = true;
+ }
+ });
+ if(!validHandle) {
+ return false;
+ }
+ }
+
+ this.currentItem = currentItem;
+ this._removeCurrentsFromItems();
+ return true;
+
+ },
+
+ _mouseStart: function(event, overrideHandle, noActivation) {
+
+ var i, body,
+ o = this.options;
+
+ this.currentContainer = this;
+
+ //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
+ this.refreshPositions();
+
+ //Create and append the visible helper
+ this.helper = this._createHelper(event);
+
+ //Cache the helper size
+ this._cacheHelperProportions();
+
+ /*
+ * - Position generation -
+ * This block generates everything position related - it's the core of draggables.
+ */
+
+ //Cache the margins of the original element
+ this._cacheMargins();
+
+ //Get the next scrolling parent
+ this.scrollParent = this.helper.scrollParent();
+
+ //The element's absolute position on the page minus margins
+ this.offset = this.currentItem.offset();
+ this.offset = {
+ top: this.offset.top - this.margins.top,
+ left: this.offset.left - this.margins.left
+ };
+
+ $.extend(this.offset, {
+ click: { //Where the click happened, relative to the element
+ left: event.pageX - this.offset.left,
+ top: event.pageY - this.offset.top
+ },
+ parent: this._getParentOffset(),
+ relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
+ });
+
+ // Only after we got the offset, we can change the helper's position to absolute
+ // TODO: Still need to figure out a way to make relative sorting possible
+ this.helper.css("position", "absolute");
+ this.cssPosition = this.helper.css("position");
+
+ //Generate the original position
+ this.originalPosition = this._generatePosition(event);
+ this.originalPageX = event.pageX;
+ this.originalPageY = event.pageY;
+
+ //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
+ (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
+
+ //Cache the former DOM position
+ this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
+
+ //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
+ if(this.helper[0] !== this.currentItem[0]) {
+ this.currentItem.hide();
+ }
+
+ //Create the placeholder
+ this._createPlaceholder();
+
+ //Set a containment if given in the options
+ if(o.containment) {
+ this._setContainment();
+ }
+
+ if( o.cursor && o.cursor !== "auto" ) { // cursor option
+ body = this.document.find( "body" );
+
+ // support: IE
+ this.storedCursor = body.css( "cursor" );
+ body.css( "cursor", o.cursor );
+
+ this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body );
+ }
+
+ if(o.opacity) { // opacity option
+ if (this.helper.css("opacity")) {
+ this._storedOpacity = this.helper.css("opacity");
+ }
+ this.helper.css("opacity", o.opacity);
+ }
+
+ if(o.zIndex) { // zIndex option
+ if (this.helper.css("zIndex")) {
+ this._storedZIndex = this.helper.css("zIndex");
+ }
+ this.helper.css("zIndex", o.zIndex);
+ }
+
+ //Prepare scrolling
+ if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
+ this.overflowOffset = this.scrollParent.offset();
+ }
+
+ //Call callbacks
+ this._trigger("start", event, this._uiHash());
+
+ //Recache the helper size
+ if(!this._preserveHelperProportions) {
+ this._cacheHelperProportions();
+ }
+
+
+ //Post "activate" events to possible containers
+ if( !noActivation ) {
+ for ( i = this.containers.length - 1; i >= 0; i-- ) {
+ this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
+ }
+ }
+
+ //Prepare possible droppables
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.current = this;
+ }
+
+ if ($.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(this, event);
+ }
+
+ this.dragging = true;
+
+ this.helper.addClass("ui-sortable-helper");
+ this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
+ return true;
+
+ },
+
+ _mouseDrag: function(event) {
+ var i, item, itemElement, intersection,
+ o = this.options,
+ scrolled = false;
+
+ //Compute the helpers position
+ this.position = this._generatePosition(event);
+ this.positionAbs = this._convertPositionTo("absolute");
+
+ if (!this.lastPositionAbs) {
+ this.lastPositionAbs = this.positionAbs;
+ }
+
+ //Do scrolling
+ if(this.options.scroll) {
+ if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
+
+ if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
+ this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
+ } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
+ this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
+ }
+
+ if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
+ this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
+ } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
+ this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
+ }
+
+ } else {
+
+ if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
+ } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
+ }
+
+ if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
+ } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
+ }
+
+ }
+
+ if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(this, event);
+ }
+ }
+
+ //Regenerate the absolute position used for position checks
+ this.positionAbs = this._convertPositionTo("absolute");
+
+ //Set the helper position
+ if(!this.options.axis || this.options.axis !== "y") {
+ this.helper[0].style.left = this.position.left+"px";
+ }
+ if(!this.options.axis || this.options.axis !== "x") {
+ this.helper[0].style.top = this.position.top+"px";
+ }
+
+ //Rearrange
+ for (i = this.items.length - 1; i >= 0; i--) {
+
+ //Cache variables and intersection, continue if no intersection
+ item = this.items[i];
+ itemElement = item.item[0];
+ intersection = this._intersectsWithPointer(item);
+ if (!intersection) {
+ continue;
+ }
+
+ // Only put the placeholder inside the current Container, skip all
+ // items form other containers. This works because when moving
+ // an item from one container to another the
+ // currentContainer is switched before the placeholder is moved.
+ //
+ // Without this moving items in "sub-sortables" can cause the placeholder to jitter
+ // beetween the outer and inner container.
+ if (item.instance !== this.currentContainer) {
+ continue;
+ }
+
+ // cannot intersect with itself
+ // no useless actions that have been done before
+ // no action if the item moved is the parent of the item checked
+ if (itemElement !== this.currentItem[0] &&
+ this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
+ !$.contains(this.placeholder[0], itemElement) &&
+ (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
+ ) {
+
+ this.direction = intersection === 1 ? "down" : "up";
+
+ if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
+ this._rearrange(event, item);
+ } else {
+ break;
+ }
+
+ this._trigger("change", event, this._uiHash());
+ break;
+ }
+ }
+
+ //Post events to containers
+ this._contactContainers(event);
+
+ //Interconnect with droppables
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.drag(this, event);
+ }
+
+ //Call callbacks
+ this._trigger("sort", event, this._uiHash());
+
+ this.lastPositionAbs = this.positionAbs;
+ return false;
+
+ },
+
+ _mouseStop: function(event, noPropagation) {
+
+ if(!event) {
+ return;
+ }
+
+ //If we are using droppables, inform the manager about the drop
+ if ($.ui.ddmanager && !this.options.dropBehaviour) {
+ $.ui.ddmanager.drop(this, event);
+ }
+
+ if(this.options.revert) {
+ var that = this,
+ cur = this.placeholder.offset(),
+ axis = this.options.axis,
+ animation = {};
+
+ if ( !axis || axis === "x" ) {
+ animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft);
+ }
+ if ( !axis || axis === "y" ) {
+ animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop);
+ }
+ this.reverting = true;
+ $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {
+ that._clear(event);
+ });
+ } else {
+ this._clear(event, noPropagation);
+ }
+
+ return false;
+
+ },
+
+ cancel: function() {
+
+ if(this.dragging) {
+
+ this._mouseUp({ target: null });
+
+ if(this.options.helper === "original") {
+ this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
+ } else {
+ this.currentItem.show();
+ }
+
+ //Post deactivating events to containers
+ for (var i = this.containers.length - 1; i >= 0; i--){
+ this.containers[i]._trigger("deactivate", null, this._uiHash(this));
+ if(this.containers[i].containerCache.over) {
+ this.containers[i]._trigger("out", null, this._uiHash(this));
+ this.containers[i].containerCache.over = 0;
+ }
+ }
+
+ }
+
+ if (this.placeholder) {
+ //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
+ if(this.placeholder[0].parentNode) {
+ this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
+ }
+ if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
+ this.helper.remove();
+ }
+
+ $.extend(this, {
+ helper: null,
+ dragging: false,
+ reverting: false,
+ _noFinalSort: null
+ });
+
+ if(this.domPosition.prev) {
+ $(this.domPosition.prev).after(this.currentItem);
+ } else {
+ $(this.domPosition.parent).prepend(this.currentItem);
+ }
+ }
+
+ return this;
+
+ },
+
+ serialize: function(o) {
+
+ var items = this._getItemsAsjQuery(o && o.connected),
+ str = [];
+ o = o || {};
+
+ $(items).each(function() {
+ var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
+ if (res) {
+ str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
+ }
+ });
+
+ if(!str.length && o.key) {
+ str.push(o.key + "=");
+ }
+
+ return str.join("&");
+
+ },
+
+ toArray: function(o) {
+
+ var items = this._getItemsAsjQuery(o && o.connected),
+ ret = [];
+
+ o = o || {};
+
+ items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
+ return ret;
+
+ },
+
+ /* Be careful with the following core functions */
+ _intersectsWith: function(item) {
+
+ var x1 = this.positionAbs.left,
+ x2 = x1 + this.helperProportions.width,
+ y1 = this.positionAbs.top,
+ y2 = y1 + this.helperProportions.height,
+ l = item.left,
+ r = l + item.width,
+ t = item.top,
+ b = t + item.height,
+ dyClick = this.offset.click.top,
+ dxClick = this.offset.click.left,
+ isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),
+ isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),
+ isOverElement = isOverElementHeight && isOverElementWidth;
+
+ if ( this.options.tolerance === "pointer" ||
+ this.options.forcePointerForContainers ||
+ (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
+ ) {
+ return isOverElement;
+ } else {
+
+ return (l < x1 + (this.helperProportions.width / 2) && // Right Half
+ x2 - (this.helperProportions.width / 2) < r && // Left Half
+ t < y1 + (this.helperProportions.height / 2) && // Bottom Half
+ y2 - (this.helperProportions.height / 2) < b ); // Top Half
+
+ }
+ },
+
+ _intersectsWithPointer: function(item) {
+
+ var isOverElementHeight = (this.options.axis === "x") || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
+ isOverElementWidth = (this.options.axis === "y") || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
+ isOverElement = isOverElementHeight && isOverElementWidth,
+ verticalDirection = this._getDragVerticalDirection(),
+ horizontalDirection = this._getDragHorizontalDirection();
+
+ if (!isOverElement) {
+ return false;
+ }
+
+ return this.floating ?
+ ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 )
+ : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
+
+ },
+
+ _intersectsWithSides: function(item) {
+
+ var isOverBottomHalf = isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
+ isOverRightHalf = isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
+ verticalDirection = this._getDragVerticalDirection(),
+ horizontalDirection = this._getDragHorizontalDirection();
+
+ if (this.floating && horizontalDirection) {
+ return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
+ } else {
+ return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
+ }
+
+ },
+
+ _getDragVerticalDirection: function() {
+ var delta = this.positionAbs.top - this.lastPositionAbs.top;
+ return delta !== 0 && (delta > 0 ? "down" : "up");
+ },
+
+ _getDragHorizontalDirection: function() {
+ var delta = this.positionAbs.left - this.lastPositionAbs.left;
+ return delta !== 0 && (delta > 0 ? "right" : "left");
+ },
+
+ refresh: function(event) {
+ this._refreshItems(event);
+ this.refreshPositions();
+ return this;
+ },
+
+ _connectWith: function() {
+ var options = this.options;
+ return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
+ },
+
+ _getItemsAsjQuery: function(connected) {
+
+ var i, j, cur, inst,
+ items = [],
+ queries = [],
+ connectWith = this._connectWith();
+
+ if(connectWith && connected) {
+ for (i = connectWith.length - 1; i >= 0; i--){
+ cur = $(connectWith[i]);
+ for ( j = cur.length - 1; j >= 0; j--){
+ inst = $.data(cur[j], this.widgetFullName);
+ if(inst && inst !== this && !inst.options.disabled) {
+ queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
+ }
+ }
+ }
+ }
+
+ queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
+
+ for (i = queries.length - 1; i >= 0; i--){
+ queries[i][0].each(function() {
+ items.push(this);
+ });
+ }
+
+ return $(items);
+
+ },
+
+ _removeCurrentsFromItems: function() {
+
+ var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
+
+ this.items = $.grep(this.items, function (item) {
+ for (var j=0; j < list.length; j++) {
+ if(list[j] === item.item[0]) {
+ return false;
+ }
+ }
+ return true;
+ });
+
+ },
+
+ _refreshItems: function(event) {
+
+ this.items = [];
+ this.containers = [this];
+
+ var i, j, cur, inst, targetData, _queries, item, queriesLength,
+ items = this.items,
+ queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
+ connectWith = this._connectWith();
+
+ if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
+ for (i = connectWith.length - 1; i >= 0; i--){
+ cur = $(connectWith[i]);
+ for (j = cur.length - 1; j >= 0; j--){
+ inst = $.data(cur[j], this.widgetFullName);
+ if(inst && inst !== this && !inst.options.disabled) {
+ queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
+ this.containers.push(inst);
+ }
+ }
+ }
+ }
+
+ for (i = queries.length - 1; i >= 0; i--) {
+ targetData = queries[i][1];
+ _queries = queries[i][0];
+
+ for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
+ item = $(_queries[j]);
+
+ item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
+
+ items.push({
+ item: item,
+ instance: targetData,
+ width: 0, height: 0,
+ left: 0, top: 0
+ });
+ }
+ }
+
+ },
+
+ refreshPositions: function(fast) {
+
+ //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
+ if(this.offsetParent && this.helper) {
+ this.offset.parent = this._getParentOffset();
+ }
+
+ var i, item, t, p;
+
+ for (i = this.items.length - 1; i >= 0; i--){
+ item = this.items[i];
+
+ //We ignore calculating positions of all connected containers when we're not over them
+ if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
+ continue;
+ }
+
+ t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
+
+ if (!fast) {
+ item.width = t.outerWidth();
+ item.height = t.outerHeight();
+ }
+
+ p = t.offset();
+ item.left = p.left;
+ item.top = p.top;
+ }
+
+ if(this.options.custom && this.options.custom.refreshContainers) {
+ this.options.custom.refreshContainers.call(this);
+ } else {
+ for (i = this.containers.length - 1; i >= 0; i--){
+ p = this.containers[i].element.offset();
+ this.containers[i].containerCache.left = p.left;
+ this.containers[i].containerCache.top = p.top;
+ this.containers[i].containerCache.width = this.containers[i].element.outerWidth();
+ this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
+ }
+ }
+
+ return this;
+ },
+
+ _createPlaceholder: function(that) {
+ that = that || this;
+ var className,
+ o = that.options;
+
+ if(!o.placeholder || o.placeholder.constructor === String) {
+ className = o.placeholder;
+ o.placeholder = {
+ element: function() {
+
+ var nodeName = that.currentItem[0].nodeName.toLowerCase(),
+ element = $( "<" + nodeName + ">", that.document[0] )
+ .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder")
+ .removeClass("ui-sortable-helper");
+
+ if ( nodeName === "tr" ) {
+ that.currentItem.children().each(function() {
+ $( "<td> </td>", that.document[0] )
+ .attr( "colspan", $( this ).attr( "colspan" ) || 1 )
+ .appendTo( element );
+ });
+ } else if ( nodeName === "img" ) {
+ element.attr( "src", that.currentItem.attr( "src" ) );
+ }
+
+ if ( !className ) {
+ element.css( "visibility", "hidden" );
+ }
+
+ return element;
+ },
+ update: function(container, p) {
+
+ // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
+ // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
+ if(className && !o.forcePlaceholderSize) {
+ return;
+ }
+
+ //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
+ if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
+ if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
+ }
+ };
+ }
+
+ //Create the placeholder
+ that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
+
+ //Append it after the actual current item
+ that.currentItem.after(that.placeholder);
+
+ //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
+ o.placeholder.update(that, that.placeholder);
+
+ },
+
+ _contactContainers: function(event) {
+ var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, base, cur, nearBottom, floating,
+ innermostContainer = null,
+ innermostIndex = null;
+
+ // get innermost container that intersects with item
+ for (i = this.containers.length - 1; i >= 0; i--) {
+
+ // never consider a container that's located within the item itself
+ if($.contains(this.currentItem[0], this.containers[i].element[0])) {
+ continue;
+ }
+
+ if(this._intersectsWith(this.containers[i].containerCache)) {
+
+ // if we've already found a container and it's more "inner" than this, then continue
+ if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {
+ continue;
+ }
+
+ innermostContainer = this.containers[i];
+ innermostIndex = i;
+
+ } else {
+ // container doesn't intersect. trigger "out" event if necessary
+ if(this.containers[i].containerCache.over) {
+ this.containers[i]._trigger("out", event, this._uiHash(this));
+ this.containers[i].containerCache.over = 0;
+ }
+ }
+
+ }
+
+ // if no intersecting containers found, return
+ if(!innermostContainer) {
+ return;
+ }
+
+ // move the item into the container if it's not there already
+ if(this.containers.length === 1) {
+ if (!this.containers[innermostIndex].containerCache.over) {
+ this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
+ this.containers[innermostIndex].containerCache.over = 1;
+ }
+ } else {
+
+ //When entering a new container, we will find the item with the least distance and append our item near it
+ dist = 10000;
+ itemWithLeastDistance = null;
+ floating = innermostContainer.floating || isFloating(this.currentItem);
+ posProperty = floating ? "left" : "top";
+ sizeProperty = floating ? "width" : "height";
+ base = this.positionAbs[posProperty] + this.offset.click[posProperty];
+ for (j = this.items.length - 1; j >= 0; j--) {
+ if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
+ continue;
+ }
+ if(this.items[j].item[0] === this.currentItem[0]) {
+ continue;
+ }
+ if (floating && !isOverAxis(this.positionAbs.top + this.offset.click.top, this.items[j].top, this.items[j].height)) {
+ continue;
+ }
+ cur = this.items[j].item.offset()[posProperty];
+ nearBottom = false;
+ if(Math.abs(cur - base) > Math.abs(cur + this.items[j][sizeProperty] - base)){
+ nearBottom = true;
+ cur += this.items[j][sizeProperty];
+ }
+
+ if(Math.abs(cur - base) < dist) {
+ dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
+ this.direction = nearBottom ? "up": "down";
+ }
+ }
+
+ //Check if dropOnEmpty is enabled
+ if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
+ return;
+ }
+
+ if(this.currentContainer === this.containers[innermostIndex]) {
+ return;
+ }
+
+ itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
+ this._trigger("change", event, this._uiHash());
+ this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
+ this.currentContainer = this.containers[innermostIndex];
+
+ //Update the placeholder
+ this.options.placeholder.update(this.currentContainer, this.placeholder);
+
+ this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
+ this.containers[innermostIndex].containerCache.over = 1;
+ }
+
+
+ },
+
+ _createHelper: function(event) {
+
+ var o = this.options,
+ helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
+
+ //Add the helper to the DOM if that didn't happen already
+ if(!helper.parents("body").length) {
+ $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
+ }
+
+ if(helper[0] === this.currentItem[0]) {
+ this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
+ }
+
+ if(!helper[0].style.width || o.forceHelperSize) {
+ helper.width(this.currentItem.width());
+ }
+ if(!helper[0].style.height || o.forceHelperSize) {
+ helper.height(this.currentItem.height());
+ }
+
+ return helper;
+
+ },
+
+ _adjustOffsetFromHelper: function(obj) {
+ if (typeof obj === "string") {
+ obj = obj.split(" ");
+ }
+ if ($.isArray(obj)) {
+ obj = {left: +obj[0], top: +obj[1] || 0};
+ }
+ if ("left" in obj) {
+ this.offset.click.left = obj.left + this.margins.left;
+ }
+ if ("right" in obj) {
+ this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
+ }
+ if ("top" in obj) {
+ this.offset.click.top = obj.top + this.margins.top;
+ }
+ if ("bottom" in obj) {
+ this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
+ }
+ },
+
+ _getParentOffset: function() {
+
+
+ //Get the offsetParent and cache its position
+ this.offsetParent = this.helper.offsetParent();
+ var po = this.offsetParent.offset();
+
+ // This is a special case where we need to modify a offset calculated on start, since the following happened:
+ // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
+ // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
+ // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
+ if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
+ po.left += this.scrollParent.scrollLeft();
+ po.top += this.scrollParent.scrollTop();
+ }
+
+ // This needs to be actually done for all browsers, since pageX/pageY includes this information
+ // with an ugly IE fix
+ if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
+ po = { top: 0, left: 0 };
+ }
+
+ return {
+ top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
+ left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
+ };
+
+ },
+
+ _getRelativeOffset: function() {
+
+ if(this.cssPosition === "relative") {
+ var p = this.currentItem.position();
+ return {
+ top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
+ left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
+ };
+ } else {
+ return { top: 0, left: 0 };
+ }
+
+ },
+
+ _cacheMargins: function() {
+ this.margins = {
+ left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
+ top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
+ };
+ },
+
+ _cacheHelperProportions: function() {
+ this.helperProportions = {
+ width: this.helper.outerWidth(),
+ height: this.helper.outerHeight()
+ };
+ },
+
+ _setContainment: function() {
+
+ var ce, co, over,
+ o = this.options;
+ if(o.containment === "parent") {
+ o.containment = this.helper[0].parentNode;
+ }
+ if(o.containment === "document" || o.containment === "window") {
+ this.containment = [
+ 0 - this.offset.relative.left - this.offset.parent.left,
+ 0 - this.offset.relative.top - this.offset.parent.top,
+ $(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
+ ($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
+ ];
+ }
+
+ if(!(/^(document|window|parent)$/).test(o.containment)) {
+ ce = $(o.containment)[0];
+ co = $(o.containment).offset();
+ over = ($(ce).css("overflow") !== "hidden");
+
+ this.containment = [
+ co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
+ co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
+ co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
+ co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
+ ];
+ }
+
+ },
+
+ _convertPositionTo: function(d, pos) {
+
+ if(!pos) {
+ pos = this.position;
+ }
+ var mod = d === "absolute" ? 1 : -1,
+ scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
+ scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+
+ return {
+ top: (
+ pos.top + // The absolute mouse position
+ this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
+ ),
+ left: (
+ pos.left + // The absolute mouse position
+ this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
+ )
+ };
+
+ },
+
+ _generatePosition: function(event) {
+
+ var top, left,
+ o = this.options,
+ pageX = event.pageX,
+ pageY = event.pageY,
+ scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+
+ // This is another very weird special case that only happens for relative elements:
+ // 1. If the css position is relative
+ // 2. and the scroll parent is the document or similar to the offset parent
+ // we have to refresh the relative offset during the scroll so there are no jumps
+ if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) {
+ this.offset.relative = this._getRelativeOffset();
+ }
+
+ /*
+ * - Position constraining -
+ * Constrain the position to a mix of grid, containment.
+ */
+
+ if(this.originalPosition) { //If we are not dragging yet, we won't check for options
+
+ if(this.containment) {
+ if(event.pageX - this.offset.click.left < this.containment[0]) {
+ pageX = this.containment[0] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top < this.containment[1]) {
+ pageY = this.containment[1] + this.offset.click.top;
+ }
+ if(event.pageX - this.offset.click.left > this.containment[2]) {
+ pageX = this.containment[2] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top > this.containment[3]) {
+ pageY = this.containment[3] + this.offset.click.top;
+ }
+ }
+
+ if(o.grid) {
+ top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
+ pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
+
+ left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
+ pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
+ }
+
+ }
+
+ return {
+ top: (
+ pageY - // The absolute mouse position
+ this.offset.click.top - // Click offset (relative to the element)
+ this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
+ ),
+ left: (
+ pageX - // The absolute mouse position
+ this.offset.click.left - // Click offset (relative to the element)
+ this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
+ )
+ };
+
+ },
+
+ _rearrange: function(event, i, a, hardRefresh) {
+
+ a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
+
+ //Various things done here to improve the performance:
+ // 1. we create a setTimeout, that calls refreshPositions
+ // 2. on the instance, we have a counter variable, that get's higher after every append
+ // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
+ // 4. this lets only the last addition to the timeout stack through
+ this.counter = this.counter ? ++this.counter : 1;
+ var counter = this.counter;
+
+ this._delay(function() {
+ if(counter === this.counter) {
+ this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
+ }
+ });
+
+ },
+
+ _clear: function(event, noPropagation) {
+
+ this.reverting = false;
+ // We delay all events that have to be triggered to after the point where the placeholder has been removed and
+ // everything else normalized again
+ var i,
+ delayedTriggers = [];
+
+ // We first have to update the dom position of the actual currentItem
+ // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
+ if(!this._noFinalSort && this.currentItem.parent().length) {
+ this.placeholder.before(this.currentItem);
+ }
+ this._noFinalSort = null;
+
+ if(this.helper[0] === this.currentItem[0]) {
+ for(i in this._storedCSS) {
+ if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
+ this._storedCSS[i] = "";
+ }
+ }
+ this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
+ } else {
+ this.currentItem.show();
+ }
+
+ if(this.fromOutside && !noPropagation) {
+ delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
+ }
+ if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
+ delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
+ }
+
+ // Check if the items Container has Changed and trigger appropriate
+ // events.
+ if (this !== this.currentContainer) {
+ if(!noPropagation) {
+ delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
+ }
+ }
+
+
+ //Post events to containers
+ for (i = this.containers.length - 1; i >= 0; i--){
+ if(!noPropagation) {
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i]));
+ }
+ if(this.containers[i].containerCache.over) {
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i]));
+ this.containers[i].containerCache.over = 0;
+ }
+ }
+
+ //Do what was originally in plugins
+ if ( this.storedCursor ) {
+ this.document.find( "body" ).css( "cursor", this.storedCursor );
+ this.storedStylesheet.remove();
+ }
+ if(this._storedOpacity) {
+ this.helper.css("opacity", this._storedOpacity);
+ }
+ if(this._storedZIndex) {
+ this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
+ }
+
+ this.dragging = false;
+ if(this.cancelHelperRemoval) {
+ if(!noPropagation) {
+ this._trigger("beforeStop", event, this._uiHash());
+ for (i=0; i < delayedTriggers.length; i++) {
+ delayedTriggers[i].call(this, event);
+ } //Trigger all delayed events
+ this._trigger("stop", event, this._uiHash());
+ }
+
+ this.fromOutside = false;
+ return false;
+ }
+
+ if(!noPropagation) {
+ this._trigger("beforeStop", event, this._uiHash());
+ }
+
+ //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
+ this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
+
+ if(this.helper[0] !== this.currentItem[0]) {
+ this.helper.remove();
+ }
+ this.helper = null;
+
+ if(!noPropagation) {
+ for (i=0; i < delayedTriggers.length; i++) {
+ delayedTriggers[i].call(this, event);
+ } //Trigger all delayed events
+ this._trigger("stop", event, this._uiHash());
+ }
+
+ this.fromOutside = false;
+ return true;
+
+ },
+
+ _trigger: function() {
+ if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
+ this.cancel();
+ }
+ },
+
+ _uiHash: function(_inst) {
+ var inst = _inst || this;
+ return {
+ helper: inst.helper,
+ placeholder: inst.placeholder || $([]),
+ position: inst.position,
+ originalPosition: inst.originalPosition,
+ offset: inst.positionAbs,
+ item: inst.currentItem,
+ sender: _inst ? _inst.element : null
+ };
+ }
+
+});
+
+})(jQuery);
+
+(function($, undefined) {
+
+var dataSpace = "ui-effects-";
+
+$.effects = {
+ effect: {}
+};
+
+/*!
+ * jQuery Color Animations v2.1.2
+ * https://github.com/jquery/jquery-color
+ *
+ * Copyright 2013 jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
+ *
+ * Date: Wed Jan 16 08:47:09 2013 -0600
+ */
+(function( jQuery, undefined ) {
+
+ var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
+
+ // plusequals test for += 100 -= 100
+ rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
+ // a set of RE's that can match strings and generate color tuples.
+ stringParsers = [{
+ re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
+ parse: function( execResult ) {
+ return [
+ execResult[ 1 ],
+ execResult[ 2 ],
+ execResult[ 3 ],
+ execResult[ 4 ]
+ ];
+ }
+ }, {
+ re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
+ parse: function( execResult ) {
+ return [
+ execResult[ 1 ] * 2.55,
+ execResult[ 2 ] * 2.55,
+ execResult[ 3 ] * 2.55,
+ execResult[ 4 ]
+ ];
+ }
+ }, {
+ // this regex ignores A-F because it's compared against an already lowercased string
+ re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
+ parse: function( execResult ) {
+ return [
+ parseInt( execResult[ 1 ], 16 ),
+ parseInt( execResult[ 2 ], 16 ),
+ parseInt( execResult[ 3 ], 16 )
+ ];
+ }
+ }, {
+ // this regex ignores A-F because it's compared against an already lowercased string
+ re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
+ parse: function( execResult ) {
+ return [
+ parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
+ parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
+ parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
+ ];
+ }
+ }, {
+ re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
+ space: "hsla",
+ parse: function( execResult ) {
+ return [
+ execResult[ 1 ],
+ execResult[ 2 ] / 100,
+ execResult[ 3 ] / 100,
+ execResult[ 4 ]
+ ];
+ }
+ }],
+
+ // jQuery.Color( )
+ color = jQuery.Color = function( color, green, blue, alpha ) {
+ return new jQuery.Color.fn.parse( color, green, blue, alpha );
+ },
+ spaces = {
+ rgba: {
+ props: {
+ red: {
+ idx: 0,
+ type: "byte"
+ },
+ green: {
+ idx: 1,
+ type: "byte"
+ },
+ blue: {
+ idx: 2,
+ type: "byte"
+ }
+ }
+ },
+
+ hsla: {
+ props: {
+ hue: {
+ idx: 0,
+ type: "degrees"
+ },
+ saturation: {
+ idx: 1,
+ type: "percent"
+ },
+ lightness: {
+ idx: 2,
+ type: "percent"
+ }
+ }
+ }
+ },
+ propTypes = {
+ "byte": {
+ floor: true,
+ max: 255
+ },
+ "percent": {
+ max: 1
+ },
+ "degrees": {
+ mod: 360,
+ floor: true
+ }
+ },
+ support = color.support = {},
+
+ // element for support tests
+ supportElem = jQuery( "<p>" )[ 0 ],
+
+ // colors = jQuery.Color.names
+ colors,
+
+ // local aliases of functions called often
+ each = jQuery.each;
+
+// determine rgba support immediately
+supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
+support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
+
+// define cache name and alpha properties
+// for rgba and hsla spaces
+each( spaces, function( spaceName, space ) {
+ space.cache = "_" + spaceName;
+ space.props.alpha = {
+ idx: 3,
+ type: "percent",
+ def: 1
+ };
+});
+
+function clamp( value, prop, allowEmpty ) {
+ var type = propTypes[ prop.type ] || {};
+
+ if ( value == null ) {
+ return (allowEmpty || !prop.def) ? null : prop.def;
+ }
+
+ // ~~ is an short way of doing floor for positive numbers
+ value = type.floor ? ~~value : parseFloat( value );
+
+ // IE will pass in empty strings as value for alpha,
+ // which will hit this case
+ if ( isNaN( value ) ) {
+ return prop.def;
+ }
+
+ if ( type.mod ) {
+ // we add mod before modding to make sure that negatives values
+ // get converted properly: -10 -> 350
+ return (value + type.mod) % type.mod;
+ }
+
+ // for now all property types without mod have min and max
+ return 0 > value ? 0 : type.max < value ? type.max : value;
+}
+
+function stringParse( string ) {
+ var inst = color(),
+ rgba = inst._rgba = [];
+
+ string = string.toLowerCase();
+
+ each( stringParsers, function( i, parser ) {
+ var parsed,
+ match = parser.re.exec( string ),
+ values = match && parser.parse( match ),
+ spaceName = parser.space || "rgba";
+
+ if ( values ) {
+ parsed = inst[ spaceName ]( values );
+
+ // if this was an rgba parse the assignment might happen twice
+ // oh well....
+ inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
+ rgba = inst._rgba = parsed._rgba;
+
+ // exit each( stringParsers ) here because we matched
+ return false;
+ }
+ });
+
+ // Found a stringParser that handled it
+ if ( rgba.length ) {
+
+ // if this came from a parsed string, force "transparent" when alpha is 0
+ // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
+ if ( rgba.join() === "0,0,0,0" ) {
+ jQuery.extend( rgba, colors.transparent );
+ }
+ return inst;
+ }
+
+ // named colors
+ return colors[ string ];
+}
+
+color.fn = jQuery.extend( color.prototype, {
+ parse: function( red, green, blue, alpha ) {
+ if ( red === undefined ) {
+ this._rgba = [ null, null, null, null ];
+ return this;
+ }
+ if ( red.jquery || red.nodeType ) {
+ red = jQuery( red ).css( green );
+ green = undefined;
+ }
+
+ var inst = this,
+ type = jQuery.type( red ),
+ rgba = this._rgba = [];
+
+ // more than 1 argument specified - assume ( red, green, blue, alpha )
+ if ( green !== undefined ) {
+ red = [ red, green, blue, alpha ];
+ type = "array";
+ }
+
+ if ( type === "string" ) {
+ return this.parse( stringParse( red ) || colors._default );
+ }
+
+ if ( type === "array" ) {
+ each( spaces.rgba.props, function( key, prop ) {
+ rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
+ });
+ return this;
+ }
+
+ if ( type === "object" ) {
+ if ( red instanceof color ) {
+ each( spaces, function( spaceName, space ) {
+ if ( red[ space.cache ] ) {
+ inst[ space.cache ] = red[ space.cache ].slice();
+ }
+ });
+ } else {
+ each( spaces, function( spaceName, space ) {
+ var cache = space.cache;
+ each( space.props, function( key, prop ) {
+
+ // if the cache doesn't exist, and we know how to convert
+ if ( !inst[ cache ] && space.to ) {
+
+ // if the value was null, we don't need to copy it
+ // if the key was alpha, we don't need to copy it either
+ if ( key === "alpha" || red[ key ] == null ) {
+ return;
+ }
+ inst[ cache ] = space.to( inst._rgba );
+ }
+
+ // this is the only case where we allow nulls for ALL properties.
+ // call clamp with alwaysAllowEmpty
+ inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
+ });
+
+ // everything defined but alpha?
+ if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
+ // use the default of 1
+ inst[ cache ][ 3 ] = 1;
+ if ( space.from ) {
+ inst._rgba = space.from( inst[ cache ] );
+ }
+ }
+ });
+ }
+ return this;
+ }
+ },
+ is: function( compare ) {
+ var is = color( compare ),
+ same = true,
+ inst = this;
+
+ each( spaces, function( _, space ) {
+ var localCache,
+ isCache = is[ space.cache ];
+ if (isCache) {
+ localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
+ each( space.props, function( _, prop ) {
+ if ( isCache[ prop.idx ] != null ) {
+ same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
+ return same;
+ }
+ });
+ }
+ return same;
+ });
+ return same;
+ },
+ _space: function() {
+ var used = [],
+ inst = this;
+ each( spaces, function( spaceName, space ) {
+ if ( inst[ space.cache ] ) {
+ used.push( spaceName );
+ }
+ });
+ return used.pop();
+ },
+ transition: function( other, distance ) {
+ var end = color( other ),
+ spaceName = end._space(),
+ space = spaces[ spaceName ],
+ startColor = this.alpha() === 0 ? color( "transparent" ) : this,
+ start = startColor[ space.cache ] || space.to( startColor._rgba ),
+ result = start.slice();
+
+ end = end[ space.cache ];
+ each( space.props, function( key, prop ) {
+ var index = prop.idx,
+ startValue = start[ index ],
+ endValue = end[ index ],
+ type = propTypes[ prop.type ] || {};
+
+ // if null, don't override start value
+ if ( endValue === null ) {
+ return;
+ }
+ // if null - use end
+ if ( startValue === null ) {
+ result[ index ] = endValue;
+ } else {
+ if ( type.mod ) {
+ if ( endValue - startValue > type.mod / 2 ) {
+ startValue += type.mod;
+ } else if ( startValue - endValue > type.mod / 2 ) {
+ startValue -= type.mod;
+ }
+ }
+ result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
+ }
+ });
+ return this[ spaceName ]( result );
+ },
+ blend: function( opaque ) {
+ // if we are already opaque - return ourself
+ if ( this._rgba[ 3 ] === 1 ) {
+ return this;
+ }
+
+ var rgb = this._rgba.slice(),
+ a = rgb.pop(),
+ blend = color( opaque )._rgba;
+
+ return color( jQuery.map( rgb, function( v, i ) {
+ return ( 1 - a ) * blend[ i ] + a * v;
+ }));
+ },
+ toRgbaString: function() {
+ var prefix = "rgba(",
+ rgba = jQuery.map( this._rgba, function( v, i ) {
+ return v == null ? ( i > 2 ? 1 : 0 ) : v;
+ });
+
+ if ( rgba[ 3 ] === 1 ) {
+ rgba.pop();
+ prefix = "rgb(";
+ }
+
+ return prefix + rgba.join() + ")";
+ },
+ toHslaString: function() {
+ var prefix = "hsla(",
+ hsla = jQuery.map( this.hsla(), function( v, i ) {
+ if ( v == null ) {
+ v = i > 2 ? 1 : 0;
+ }
+
+ // catch 1 and 2
+ if ( i && i < 3 ) {
+ v = Math.round( v * 100 ) + "%";
+ }
+ return v;
+ });
+
+ if ( hsla[ 3 ] === 1 ) {
+ hsla.pop();
+ prefix = "hsl(";
+ }
+ return prefix + hsla.join() + ")";
+ },
+ toHexString: function( includeAlpha ) {
+ var rgba = this._rgba.slice(),
+ alpha = rgba.pop();
+
+ if ( includeAlpha ) {
+ rgba.push( ~~( alpha * 255 ) );
+ }
+
+ return "#" + jQuery.map( rgba, function( v ) {
+
+ // default to 0 when nulls exist
+ v = ( v || 0 ).toString( 16 );
+ return v.length === 1 ? "0" + v : v;
+ }).join("");
+ },
+ toString: function() {
+ return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
+ }
+});
+color.fn.parse.prototype = color.fn;
+
+// hsla conversions adapted from:
+// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
+
+function hue2rgb( p, q, h ) {
+ h = ( h + 1 ) % 1;
+ if ( h * 6 < 1 ) {
+ return p + (q - p) * h * 6;
+ }
+ if ( h * 2 < 1) {
+ return q;
+ }
+ if ( h * 3 < 2 ) {
+ return p + (q - p) * ((2/3) - h) * 6;
+ }
+ return p;
+}
+
+spaces.hsla.to = function ( rgba ) {
+ if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
+ return [ null, null, null, rgba[ 3 ] ];
+ }
+ var r = rgba[ 0 ] / 255,
+ g = rgba[ 1 ] / 255,
+ b = rgba[ 2 ] / 255,
+ a = rgba[ 3 ],
+ max = Math.max( r, g, b ),
+ min = Math.min( r, g, b ),
+ diff = max - min,
+ add = max + min,
+ l = add * 0.5,
+ h, s;
+
+ if ( min === max ) {
+ h = 0;
+ } else if ( r === max ) {
+ h = ( 60 * ( g - b ) / diff ) + 360;
+ } else if ( g === max ) {
+ h = ( 60 * ( b - r ) / diff ) + 120;
+ } else {
+ h = ( 60 * ( r - g ) / diff ) + 240;
+ }
+
+ // chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
+ // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
+ if ( diff === 0 ) {
+ s = 0;
+ } else if ( l <= 0.5 ) {
+ s = diff / add;
+ } else {
+ s = diff / ( 2 - add );
+ }
+ return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
+};
+
+spaces.hsla.from = function ( hsla ) {
+ if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
+ return [ null, null, null, hsla[ 3 ] ];
+ }
+ var h = hsla[ 0 ] / 360,
+ s = hsla[ 1 ],
+ l = hsla[ 2 ],
+ a = hsla[ 3 ],
+ q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
+ p = 2 * l - q;
+
+ return [
+ Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
+ Math.round( hue2rgb( p, q, h ) * 255 ),
+ Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
+ a
+ ];
+};
+
+
+each( spaces, function( spaceName, space ) {
+ var props = space.props,
+ cache = space.cache,
+ to = space.to,
+ from = space.from;
+
+ // makes rgba() and hsla()
+ color.fn[ spaceName ] = function( value ) {
+
+ // generate a cache for this space if it doesn't exist
+ if ( to && !this[ cache ] ) {
+ this[ cache ] = to( this._rgba );
+ }
+ if ( value === undefined ) {
+ return this[ cache ].slice();
+ }
+
+ var ret,
+ type = jQuery.type( value ),
+ arr = ( type === "array" || type === "object" ) ? value : arguments,
+ local = this[ cache ].slice();
+
+ each( props, function( key, prop ) {
+ var val = arr[ type === "object" ? key : prop.idx ];
+ if ( val == null ) {
+ val = local[ prop.idx ];
+ }
+ local[ prop.idx ] = clamp( val, prop );
+ });
+
+ if ( from ) {
+ ret = color( from( local ) );
+ ret[ cache ] = local;
+ return ret;
+ } else {
+ return color( local );
+ }
+ };
+
+ // makes red() green() blue() alpha() hue() saturation() lightness()
+ each( props, function( key, prop ) {
+ // alpha is included in more than one space
+ if ( color.fn[ key ] ) {
+ return;
+ }
+ color.fn[ key ] = function( value ) {
+ var vtype = jQuery.type( value ),
+ fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
+ local = this[ fn ](),
+ cur = local[ prop.idx ],
+ match;
+
+ if ( vtype === "undefined" ) {
+ return cur;
+ }
+
+ if ( vtype === "function" ) {
+ value = value.call( this, cur );
+ vtype = jQuery.type( value );
+ }
+ if ( value == null && prop.empty ) {
+ return this;
+ }
+ if ( vtype === "string" ) {
+ match = rplusequals.exec( value );
+ if ( match ) {
+ value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
+ }
+ }
+ local[ prop.idx ] = value;
+ return this[ fn ]( local );
+ };
+ });
+});
+
+// add cssHook and .fx.step function for each named hook.
+// accept a space separated string of properties
+color.hook = function( hook ) {
+ var hooks = hook.split( " " );
+ each( hooks, function( i, hook ) {
+ jQuery.cssHooks[ hook ] = {
+ set: function( elem, value ) {
+ var parsed, curElem,
+ backgroundColor = "";
+
+ if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
+ value = color( parsed || value );
+ if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
+ curElem = hook === "backgroundColor" ? elem.parentNode : elem;
+ while (
+ (backgroundColor === "" || backgroundColor === "transparent") &&
+ curElem && curElem.style
+ ) {
+ try {
+ backgroundColor = jQuery.css( curElem, "backgroundColor" );
+ curElem = curElem.parentNode;
+ } catch ( e ) {
+ }
+ }
+
+ value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
+ backgroundColor :
+ "_default" );
+ }
+
+ value = value.toRgbaString();
+ }
+ try {
+ elem.style[ hook ] = value;
+ } catch( e ) {
+ // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
+ }
+ }
+ };
+ jQuery.fx.step[ hook ] = function( fx ) {
+ if ( !fx.colorInit ) {
+ fx.start = color( fx.elem, hook );
+ fx.end = color( fx.end );
+ fx.colorInit = true;
+ }
+ jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
+ };
+ });
+
+};
+
+color.hook( stepHooks );
+
+jQuery.cssHooks.borderColor = {
+ expand: function( value ) {
+ var expanded = {};
+
+ each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
+ expanded[ "border" + part + "Color" ] = value;
+ });
+ return expanded;
+ }
+};
+
+// Basic color names only.
+// Usage of any of the other color names requires adding yourself or including
+// jquery.color.svg-names.js.
+colors = jQuery.Color.names = {
+ // 4.1. Basic color keywords
+ aqua: "#00ffff",
+ black: "#000000",
+ blue: "#0000ff",
+ fuchsia: "#ff00ff",
+ gray: "#808080",
+ green: "#008000",
+ lime: "#00ff00",
+ maroon: "#800000",
+ navy: "#000080",
+ olive: "#808000",
+ purple: "#800080",
+ red: "#ff0000",
+ silver: "#c0c0c0",
+ teal: "#008080",
+ white: "#ffffff",
+ yellow: "#ffff00",
+
+ // 4.2.3. "transparent" color keyword
+ transparent: [ null, null, null, 0 ],
+
+ _default: "#ffffff"
+};
+
+})( jQuery );
+
+
+/******************************************************************************/
+/****************************** CLASS ANIMATIONS ******************************/
+/******************************************************************************/
+(function() {
+
+var classAnimationActions = [ "add", "remove", "toggle" ],
+ shorthandStyles = {
+ border: 1,
+ borderBottom: 1,
+ borderColor: 1,
+ borderLeft: 1,
+ borderRight: 1,
+ borderTop: 1,
+ borderWidth: 1,
+ margin: 1,
+ padding: 1
+ };
+
+$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
+ $.fx.step[ prop ] = function( fx ) {
+ if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
+ jQuery.style( fx.elem, prop, fx.end );
+ fx.setAttr = true;
+ }
+ };
+});
+
+function getElementStyles( elem ) {
+ var key, len,
+ style = elem.ownerDocument.defaultView ?
+ elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
+ elem.currentStyle,
+ styles = {};
+
+ if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
+ len = style.length;
+ while ( len-- ) {
+ key = style[ len ];
+ if ( typeof style[ key ] === "string" ) {
+ styles[ $.camelCase( key ) ] = style[ key ];
+ }
+ }
+ // support: Opera, IE <9
+ } else {
+ for ( key in style ) {
+ if ( typeof style[ key ] === "string" ) {
+ styles[ key ] = style[ key ];
+ }
+ }
+ }
+
+ return styles;
+}
+
+
+function styleDifference( oldStyle, newStyle ) {
+ var diff = {},
+ name, value;
+
+ for ( name in newStyle ) {
+ value = newStyle[ name ];
+ if ( oldStyle[ name ] !== value ) {
+ if ( !shorthandStyles[ name ] ) {
+ if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
+ diff[ name ] = value;
+ }
+ }
+ }
+ }
+
+ return diff;
+}
+
+// support: jQuery <1.8
+if ( !$.fn.addBack ) {
+ $.fn.addBack = function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ };
+}
+
+$.effects.animateClass = function( value, duration, easing, callback ) {
+ var o = $.speed( duration, easing, callback );
+
+ return this.queue( function() {
+ var animated = $( this ),
+ baseClass = animated.attr( "class" ) || "",
+ applyClassChange,
+ allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
+
+ // map the animated objects to store the original styles.
+ allAnimations = allAnimations.map(function() {
+ var el = $( this );
+ return {
+ el: el,
+ start: getElementStyles( this )
+ };
+ });
+
+ // apply class change
+ applyClassChange = function() {
+ $.each( classAnimationActions, function(i, action) {
+ if ( value[ action ] ) {
+ animated[ action + "Class" ]( value[ action ] );
+ }
+ });
+ };
+ applyClassChange();
+
+ // map all animated objects again - calculate new styles and diff
+ allAnimations = allAnimations.map(function() {
+ this.end = getElementStyles( this.el[ 0 ] );
+ this.diff = styleDifference( this.start, this.end );
+ return this;
+ });
+
+ // apply original class
+ animated.attr( "class", baseClass );
+
+ // map all animated objects again - this time collecting a promise
+ allAnimations = allAnimations.map(function() {
+ var styleInfo = this,
+ dfd = $.Deferred(),
+ opts = $.extend({}, o, {
+ queue: false,
+ complete: function() {
+ dfd.resolve( styleInfo );
+ }
+ });
+
+ this.el.animate( this.diff, opts );
+ return dfd.promise();
+ });
+
+ // once all animations have completed:
+ $.when.apply( $, allAnimations.get() ).done(function() {
+
+ // set the final class
+ applyClassChange();
+
+ // for each animated element,
+ // clear all css properties that were animated
+ $.each( arguments, function() {
+ var el = this.el;
+ $.each( this.diff, function(key) {
+ el.css( key, "" );
+ });
+ });
+
+ // this is guarnteed to be there if you use jQuery.speed()
+ // it also handles dequeuing the next anim...
+ o.complete.call( animated[ 0 ] );
+ });
+ });
+};
+
+$.fn.extend({
+ addClass: (function( orig ) {
+ return function( classNames, speed, easing, callback ) {
+ return speed ?
+ $.effects.animateClass.call( this,
+ { add: classNames }, speed, easing, callback ) :
+ orig.apply( this, arguments );
+ };
+ })( $.fn.addClass ),
+
+ removeClass: (function( orig ) {
+ return function( classNames, speed, easing, callback ) {
+ return arguments.length > 1 ?
+ $.effects.animateClass.call( this,
+ { remove: classNames }, speed, easing, callback ) :
+ orig.apply( this, arguments );
+ };
+ })( $.fn.removeClass ),
+
+ toggleClass: (function( orig ) {
+ return function( classNames, force, speed, easing, callback ) {
+ if ( typeof force === "boolean" || force === undefined ) {
+ if ( !speed ) {
+ // without speed parameter
+ return orig.apply( this, arguments );
+ } else {
+ return $.effects.animateClass.call( this,
+ (force ? { add: classNames } : { remove: classNames }),
+ speed, easing, callback );
+ }
+ } else {
+ // without force parameter
+ return $.effects.animateClass.call( this,
+ { toggle: classNames }, force, speed, easing );
+ }
+ };
+ })( $.fn.toggleClass ),
+
+ switchClass: function( remove, add, speed, easing, callback) {
+ return $.effects.animateClass.call( this, {
+ add: add,
+ remove: remove
+ }, speed, easing, callback );
+ }
+});
+
+})();
+
+/******************************************************************************/
+/*********************************** EFFECTS **********************************/
+/******************************************************************************/
+
+(function() {
+
+$.extend( $.effects, {
+ version: "1.10.3",
+
+ // Saves a set of properties in a data storage
+ save: function( element, set ) {
+ for( var i=0; i < set.length; i++ ) {
+ if ( set[ i ] !== null ) {
+ element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
+ }
+ }
+ },
+
+ // Restores a set of previously saved properties from a data storage
+ restore: function( element, set ) {
+ var val, i;
+ for( i=0; i < set.length; i++ ) {
+ if ( set[ i ] !== null ) {
+ val = element.data( dataSpace + set[ i ] );
+ // support: jQuery 1.6.2
+ // http://bugs.jquery.com/ticket/9917
+ // jQuery 1.6.2 incorrectly returns undefined for any falsy value.
+ // We can't differentiate between "" and 0 here, so we just assume
+ // empty string since it's likely to be a more common value...
+ if ( val === undefined ) {
+ val = "";
+ }
+ element.css( set[ i ], val );
+ }
+ }
+ },
+
+ setMode: function( el, mode ) {
+ if (mode === "toggle") {
+ mode = el.is( ":hidden" ) ? "show" : "hide";
+ }
+ return mode;
+ },
+
+ // Translates a [top,left] array into a baseline value
+ // this should be a little more flexible in the future to handle a string & hash
+ getBaseline: function( origin, original ) {
+ var y, x;
+ switch ( origin[ 0 ] ) {
+ case "top": y = 0; break;
+ case "middle": y = 0.5; break;
+ case "bottom": y = 1; break;
+ default: y = origin[ 0 ] / original.height;
+ }
+ switch ( origin[ 1 ] ) {
+ case "left": x = 0; break;
+ case "center": x = 0.5; break;
+ case "right": x = 1; break;
+ default: x = origin[ 1 ] / original.width;
+ }
+ return {
+ x: x,
+ y: y
+ };
+ },
+
+ // Wraps the element around a wrapper that copies position properties
+ createWrapper: function( element ) {
+
+ // if the element is already wrapped, return it
+ if ( element.parent().is( ".ui-effects-wrapper" )) {
+ return element.parent();
+ }
+
+ // wrap the element
+ var props = {
+ width: element.outerWidth(true),
+ height: element.outerHeight(true),
+ "float": element.css( "float" )
+ },
+ wrapper = $( "<div></div>" )
+ .addClass( "ui-effects-wrapper" )
+ .css({
+ fontSize: "100%",
+ background: "transparent",
+ border: "none",
+ margin: 0,
+ padding: 0
+ }),
+ // Store the size in case width/height are defined in % - Fixes #5245
+ size = {
+ width: element.width(),
+ height: element.height()
+ },
+ active = document.activeElement;
+
+ // support: Firefox
+ // Firefox incorrectly exposes anonymous content
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
+ try {
+ active.id;
+ } catch( e ) {
+ active = document.body;
+ }
+
+ element.wrap( wrapper );
+
+ // Fixes #7595 - Elements lose focus when wrapped.
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
+ $( active ).focus();
+ }
+
+ wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
+
+ // transfer positioning properties to the wrapper
+ if ( element.css( "position" ) === "static" ) {
+ wrapper.css({ position: "relative" });
+ element.css({ position: "relative" });
+ } else {
+ $.extend( props, {
+ position: element.css( "position" ),
+ zIndex: element.css( "z-index" )
+ });
+ $.each([ "top", "left", "bottom", "right" ], function(i, pos) {
+ props[ pos ] = element.css( pos );
+ if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
+ props[ pos ] = "auto";
+ }
+ });
+ element.css({
+ position: "relative",
+ top: 0,
+ left: 0,
+ right: "auto",
+ bottom: "auto"
+ });
+ }
+ element.css(size);
+
+ return wrapper.css( props ).show();
+ },
+
+ removeWrapper: function( element ) {
+ var active = document.activeElement;
+
+ if ( element.parent().is( ".ui-effects-wrapper" ) ) {
+ element.parent().replaceWith( element );
+
+ // Fixes #7595 - Elements lose focus when wrapped.
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
+ $( active ).focus();
+ }
+ }
+
+
+ return element;
+ },
+
+ setTransition: function( element, list, factor, value ) {
+ value = value || {};
+ $.each( list, function( i, x ) {
+ var unit = element.cssUnit( x );
+ if ( unit[ 0 ] > 0 ) {
+ value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
+ }
+ });
+ return value;
+ }
+});
+
+// return an effect options object for the given parameters:
+function _normalizeArguments( effect, options, speed, callback ) {
+
+ // allow passing all options as the first parameter
+ if ( $.isPlainObject( effect ) ) {
+ options = effect;
+ effect = effect.effect;
+ }
+
+ // convert to an object
+ effect = { effect: effect };
+
+ // catch (effect, null, ...)
+ if ( options == null ) {
+ options = {};
+ }
+
+ // catch (effect, callback)
+ if ( $.isFunction( options ) ) {
+ callback = options;
+ speed = null;
+ options = {};
+ }
+
+ // catch (effect, speed, ?)
+ if ( typeof options === "number" || $.fx.speeds[ options ] ) {
+ callback = speed;
+ speed = options;
+ options = {};
+ }
+
+ // catch (effect, options, callback)
+ if ( $.isFunction( speed ) ) {
+ callback = speed;
+ speed = null;
+ }
+
+ // add options to effect
+ if ( options ) {
+ $.extend( effect, options );
+ }
+
+ speed = speed || options.duration;
+ effect.duration = $.fx.off ? 0 :
+ typeof speed === "number" ? speed :
+ speed in $.fx.speeds ? $.fx.speeds[ speed ] :
+ $.fx.speeds._default;
+
+ effect.complete = callback || options.complete;
+
+ return effect;
+}
+
+function standardAnimationOption( option ) {
+ // Valid standard speeds (nothing, number, named speed)
+ if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
+ return true;
+ }
+
+ // Invalid strings - treat as "normal" speed
+ if ( typeof option === "string" && !$.effects.effect[ option ] ) {
+ return true;
+ }
+
+ // Complete callback
+ if ( $.isFunction( option ) ) {
+ return true;
+ }
+
+ // Options hash (but not naming an effect)
+ if ( typeof option === "object" && !option.effect ) {
+ return true;
+ }
+
+ // Didn't match any standard API
+ return false;
+}
+
+$.fn.extend({
+ effect: function( /* effect, options, speed, callback */ ) {
+ var args = _normalizeArguments.apply( this, arguments ),
+ mode = args.mode,
+ queue = args.queue,
+ effectMethod = $.effects.effect[ args.effect ];
+
+ if ( $.fx.off || !effectMethod ) {
+ // delegate to the original method (e.g., .show()) if possible
+ if ( mode ) {
+ return this[ mode ]( args.duration, args.complete );
+ } else {
+ return this.each( function() {
+ if ( args.complete ) {
+ args.complete.call( this );
+ }
+ });
+ }
+ }
+
+ function run( next ) {
+ var elem = $( this ),
+ complete = args.complete,
+ mode = args.mode;
+
+ function done() {
+ if ( $.isFunction( complete ) ) {
+ complete.call( elem[0] );
+ }
+ if ( $.isFunction( next ) ) {
+ next();
+ }
+ }
+
+ // If the element already has the correct final state, delegate to
+ // the core methods so the internal tracking of "olddisplay" works.
+ if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
+ elem[ mode ]();
+ done();
+ } else {
+ effectMethod.call( elem[0], args, done );
+ }
+ }
+
+ return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
+ },
+
+ show: (function( orig ) {
+ return function( option ) {
+ if ( standardAnimationOption( option ) ) {
+ return orig.apply( this, arguments );
+ } else {
+ var args = _normalizeArguments.apply( this, arguments );
+ args.mode = "show";
+ return this.effect.call( this, args );
+ }
+ };
+ })( $.fn.show ),
+
+ hide: (function( orig ) {
+ return function( option ) {
+ if ( standardAnimationOption( option ) ) {
+ return orig.apply( this, arguments );
+ } else {
+ var args = _normalizeArguments.apply( this, arguments );
+ args.mode = "hide";
+ return this.effect.call( this, args );
+ }
+ };
+ })( $.fn.hide ),
+
+ toggle: (function( orig ) {
+ return function( option ) {
+ if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
+ return orig.apply( this, arguments );
+ } else {
+ var args = _normalizeArguments.apply( this, arguments );
+ args.mode = "toggle";
+ return this.effect.call( this, args );
+ }
+ };
+ })( $.fn.toggle ),
+
+ // helper functions
+ cssUnit: function(key) {
+ var style = this.css( key ),
+ val = [];
+
+ $.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
+ if ( style.indexOf( unit ) > 0 ) {
+ val = [ parseFloat( style ), unit ];
+ }
+ });
+ return val;
+ }
+});
+
+})();
+
+/******************************************************************************/
+/*********************************** EASING ***********************************/
+/******************************************************************************/
+
+(function() {
+
+// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
+
+var baseEasings = {};
+
+$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
+ baseEasings[ name ] = function( p ) {
+ return Math.pow( p, i + 2 );
+ };
+});
+
+$.extend( baseEasings, {
+ Sine: function ( p ) {
+ return 1 - Math.cos( p * Math.PI / 2 );
+ },
+ Circ: function ( p ) {
+ return 1 - Math.sqrt( 1 - p * p );
+ },
+ Elastic: function( p ) {
+ return p === 0 || p === 1 ? p :
+ -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
+ },
+ Back: function( p ) {
+ return p * p * ( 3 * p - 2 );
+ },
+ Bounce: function ( p ) {
+ var pow2,
+ bounce = 4;
+
+ while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
+ return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
+ }
+});
+
+$.each( baseEasings, function( name, easeIn ) {
+ $.easing[ "easeIn" + name ] = easeIn;
+ $.easing[ "easeOut" + name ] = function( p ) {
+ return 1 - easeIn( 1 - p );
+ };
+ $.easing[ "easeInOut" + name ] = function( p ) {
+ return p < 0.5 ?
+ easeIn( p * 2 ) / 2 :
+ 1 - easeIn( p * -2 + 2 ) / 2;
+ };
+});
+
+})();
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+var uid = 0,
+ hideProps = {},
+ showProps = {};
+
+hideProps.height = hideProps.paddingTop = hideProps.paddingBottom =
+ hideProps.borderTopWidth = hideProps.borderBottomWidth = "hide";
+showProps.height = showProps.paddingTop = showProps.paddingBottom =
+ showProps.borderTopWidth = showProps.borderBottomWidth = "show";
+
+$.widget( "ui.accordion", {
+ version: "1.10.3",
+ options: {
+ active: 0,
+ animate: {},
+ collapsible: false,
+ event: "click",
+ header: "> li > :first-child,> :not(li):even",
+ heightStyle: "auto",
+ icons: {
+ activeHeader: "ui-icon-triangle-1-s",
+ header: "ui-icon-triangle-1-e"
+ },
+
+ // callbacks
+ activate: null,
+ beforeActivate: null
+ },
+
+ _create: function() {
+ var options = this.options;
+ this.prevShow = this.prevHide = $();
+ this.element.addClass( "ui-accordion ui-widget ui-helper-reset" )
+ // ARIA
+ .attr( "role", "tablist" );
+
+ // don't allow collapsible: false and active: false / null
+ if ( !options.collapsible && (options.active === false || options.active == null) ) {
+ options.active = 0;
+ }
+
+ this._processPanels();
+ // handle negative values
+ if ( options.active < 0 ) {
+ options.active += this.headers.length;
+ }
+ this._refresh();
+ },
+
+ _getCreateEventData: function() {
+ return {
+ header: this.active,
+ panel: !this.active.length ? $() : this.active.next(),
+ content: !this.active.length ? $() : this.active.next()
+ };
+ },
+
+ _createIcons: function() {
+ var icons = this.options.icons;
+ if ( icons ) {
+ $( "<span>" )
+ .addClass( "ui-accordion-header-icon ui-icon " + icons.header )
+ .prependTo( this.headers );
+ this.active.children( ".ui-accordion-header-icon" )
+ .removeClass( icons.header )
+ .addClass( icons.activeHeader );
+ this.headers.addClass( "ui-accordion-icons" );
+ }
+ },
+
+ _destroyIcons: function() {
+ this.headers
+ .removeClass( "ui-accordion-icons" )
+ .children( ".ui-accordion-header-icon" )
+ .remove();
+ },
+
+ _destroy: function() {
+ var contents;
+
+ // clean up main element
+ this.element
+ .removeClass( "ui-accordion ui-widget ui-helper-reset" )
+ .removeAttr( "role" );
+
+ // clean up headers
+ this.headers
+ .removeClass( "ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-selected" )
+ .removeAttr( "aria-controls" )
+ .removeAttr( "tabIndex" )
+ .each(function() {
+ if ( /^ui-accordion/.test( this.id ) ) {
+ this.removeAttribute( "id" );
+ }
+ });
+ this._destroyIcons();
+
+ // clean up content panels
+ contents = this.headers.next()
+ .css( "display", "" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-expanded" )
+ .removeAttr( "aria-hidden" )
+ .removeAttr( "aria-labelledby" )
+ .removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" )
+ .each(function() {
+ if ( /^ui-accordion/.test( this.id ) ) {
+ this.removeAttribute( "id" );
+ }
+ });
+ if ( this.options.heightStyle !== "content" ) {
+ contents.css( "height", "" );
+ }
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "active" ) {
+ // _activate() will handle invalid values and update this.options
+ this._activate( value );
+ return;
+ }
+
+ if ( key === "event" ) {
+ if ( this.options.event ) {
+ this._off( this.headers, this.options.event );
+ }
+ this._setupEvents( value );
+ }
+
+ this._super( key, value );
+
+ // setting collapsible: false while collapsed; open first panel
+ if ( key === "collapsible" && !value && this.options.active === false ) {
+ this._activate( 0 );
+ }
+
+ if ( key === "icons" ) {
+ this._destroyIcons();
+ if ( value ) {
+ this._createIcons();
+ }
+ }
+
+ // #5332 - opacity doesn't cascade to positioned elements in IE
+ // so we need to add the disabled class to the headers and panels
+ if ( key === "disabled" ) {
+ this.headers.add( this.headers.next() )
+ .toggleClass( "ui-state-disabled", !!value );
+ }
+ },
+
+ _keydown: function( event ) {
+ /*jshint maxcomplexity:15*/
+ if ( event.altKey || event.ctrlKey ) {
+ return;
+ }
+
+ var keyCode = $.ui.keyCode,
+ length = this.headers.length,
+ currentIndex = this.headers.index( event.target ),
+ toFocus = false;
+
+ switch ( event.keyCode ) {
+ case keyCode.RIGHT:
+ case keyCode.DOWN:
+ toFocus = this.headers[ ( currentIndex + 1 ) % length ];
+ break;
+ case keyCode.LEFT:
+ case keyCode.UP:
+ toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
+ break;
+ case keyCode.SPACE:
+ case keyCode.ENTER:
+ this._eventHandler( event );
+ break;
+ case keyCode.HOME:
+ toFocus = this.headers[ 0 ];
+ break;
+ case keyCode.END:
+ toFocus = this.headers[ length - 1 ];
+ break;
+ }
+
+ if ( toFocus ) {
+ $( event.target ).attr( "tabIndex", -1 );
+ $( toFocus ).attr( "tabIndex", 0 );
+ toFocus.focus();
+ event.preventDefault();
+ }
+ },
+
+ _panelKeyDown : function( event ) {
+ if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {
+ $( event.currentTarget ).prev().focus();
+ }
+ },
+
+ refresh: function() {
+ var options = this.options;
+ this._processPanels();
+
+ // was collapsed or no panel
+ if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {
+ options.active = false;
+ this.active = $();
+ // active false only when collapsible is true
+ } else if ( options.active === false ) {
+ this._activate( 0 );
+ // was active, but active panel is gone
+ } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
+ // all remaining panel are disabled
+ if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) {
+ options.active = false;
+ this.active = $();
+ // activate previous panel
+ } else {
+ this._activate( Math.max( 0, options.active - 1 ) );
+ }
+ // was active, active panel still exists
+ } else {
+ // make sure active index is correct
+ options.active = this.headers.index( this.active );
+ }
+
+ this._destroyIcons();
+
+ this._refresh();
+ },
+
+ _processPanels: function() {
+ this.headers = this.element.find( this.options.header )
+ .addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" );
+
+ this.headers.next()
+ .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
+ .filter(":not(.ui-accordion-content-active)")
+ .hide();
+ },
+
+ _refresh: function() {
+ var maxHeight,
+ options = this.options,
+ heightStyle = options.heightStyle,
+ parent = this.element.parent(),
+ accordionId = this.accordionId = "ui-accordion-" +
+ (this.element.attr( "id" ) || ++uid);
+
+ this.active = this._findActive( options.active )
+ .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" )
+ .removeClass( "ui-corner-all" );
+ this.active.next()
+ .addClass( "ui-accordion-content-active" )
+ .show();
+
+ this.headers
+ .attr( "role", "tab" )
+ .each(function( i ) {
+ var header = $( this ),
+ headerId = header.attr( "id" ),
+ panel = header.next(),
+ panelId = panel.attr( "id" );
+ if ( !headerId ) {
+ headerId = accordionId + "-header-" + i;
+ header.attr( "id", headerId );
+ }
+ if ( !panelId ) {
+ panelId = accordionId + "-panel-" + i;
+ panel.attr( "id", panelId );
+ }
+ header.attr( "aria-controls", panelId );
+ panel.attr( "aria-labelledby", headerId );
+ })
+ .next()
+ .attr( "role", "tabpanel" );
+
+ this.headers
+ .not( this.active )
+ .attr({
+ "aria-selected": "false",
+ tabIndex: -1
+ })
+ .next()
+ .attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ })
+ .hide();
+
+ // make sure at least one header is in the tab order
+ if ( !this.active.length ) {
+ this.headers.eq( 0 ).attr( "tabIndex", 0 );
+ } else {
+ this.active.attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ })
+ .next()
+ .attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ });
+ }
+
+ this._createIcons();
+
+ this._setupEvents( options.event );
+
+ if ( heightStyle === "fill" ) {
+ maxHeight = parent.height();
+ this.element.siblings( ":visible" ).each(function() {
+ var elem = $( this ),
+ position = elem.css( "position" );
+
+ if ( position === "absolute" || position === "fixed" ) {
+ return;
+ }
+ maxHeight -= elem.outerHeight( true );
+ });
+
+ this.headers.each(function() {
+ maxHeight -= $( this ).outerHeight( true );
+ });
+
+ this.headers.next()
+ .each(function() {
+ $( this ).height( Math.max( 0, maxHeight -
+ $( this ).innerHeight() + $( this ).height() ) );
+ })
+ .css( "overflow", "auto" );
+ } else if ( heightStyle === "auto" ) {
+ maxHeight = 0;
+ this.headers.next()
+ .each(function() {
+ maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() );
+ })
+ .height( maxHeight );
+ }
+ },
+
+ _activate: function( index ) {
+ var active = this._findActive( index )[ 0 ];
+
+ // trying to activate the already active panel
+ if ( active === this.active[ 0 ] ) {
+ return;
+ }
+
+ // trying to collapse, simulate a click on the currently active header
+ active = active || this.active[ 0 ];
+
+ this._eventHandler({
+ target: active,
+ currentTarget: active,
+ preventDefault: $.noop
+ });
+ },
+
+ _findActive: function( selector ) {
+ return typeof selector === "number" ? this.headers.eq( selector ) : $();
+ },
+
+ _setupEvents: function( event ) {
+ var events = {
+ keydown: "_keydown"
+ };
+ if ( event ) {
+ $.each( event.split(" "), function( index, eventName ) {
+ events[ eventName ] = "_eventHandler";
+ });
+ }
+
+ this._off( this.headers.add( this.headers.next() ) );
+ this._on( this.headers, events );
+ this._on( this.headers.next(), { keydown: "_panelKeyDown" });
+ this._hoverable( this.headers );
+ this._focusable( this.headers );
+ },
+
+ _eventHandler: function( event ) {
+ var options = this.options,
+ active = this.active,
+ clicked = $( event.currentTarget ),
+ clickedIsActive = clicked[ 0 ] === active[ 0 ],
+ collapsing = clickedIsActive && options.collapsible,
+ toShow = collapsing ? $() : clicked.next(),
+ toHide = active.next(),
+ eventData = {
+ oldHeader: active,
+ oldPanel: toHide,
+ newHeader: collapsing ? $() : clicked,
+ newPanel: toShow
+ };
+
+ event.preventDefault();
+
+ if (
+ // click on active header, but not collapsible
+ ( clickedIsActive && !options.collapsible ) ||
+ // allow canceling activation
+ ( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
+ return;
+ }
+
+ options.active = collapsing ? false : this.headers.index( clicked );
+
+ // when the call to ._toggle() comes after the class changes
+ // it causes a very odd bug in IE 8 (see #6720)
+ this.active = clickedIsActive ? $() : clicked;
+ this._toggle( eventData );
+
+ // switch classes
+ // corner classes on the previously active header stay after the animation
+ active.removeClass( "ui-accordion-header-active ui-state-active" );
+ if ( options.icons ) {
+ active.children( ".ui-accordion-header-icon" )
+ .removeClass( options.icons.activeHeader )
+ .addClass( options.icons.header );
+ }
+
+ if ( !clickedIsActive ) {
+ clicked
+ .removeClass( "ui-corner-all" )
+ .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" );
+ if ( options.icons ) {
+ clicked.children( ".ui-accordion-header-icon" )
+ .removeClass( options.icons.header )
+ .addClass( options.icons.activeHeader );
+ }
+
+ clicked
+ .next()
+ .addClass( "ui-accordion-content-active" );
+ }
+ },
+
+ _toggle: function( data ) {
+ var toShow = data.newPanel,
+ toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
+
+ // handle activating a panel during the animation for another activation
+ this.prevShow.add( this.prevHide ).stop( true, true );
+ this.prevShow = toShow;
+ this.prevHide = toHide;
+
+ if ( this.options.animate ) {
+ this._animate( toShow, toHide, data );
+ } else {
+ toHide.hide();
+ toShow.show();
+ this._toggleComplete( data );
+ }
+
+ toHide.attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ });
+ toHide.prev().attr( "aria-selected", "false" );
+ // if we're switching panels, remove the old header from the tab order
+ // if we're opening from collapsed state, remove the previous header from the tab order
+ // if we're collapsing, then keep the collapsing header in the tab order
+ if ( toShow.length && toHide.length ) {
+ toHide.prev().attr( "tabIndex", -1 );
+ } else if ( toShow.length ) {
+ this.headers.filter(function() {
+ return $( this ).attr( "tabIndex" ) === 0;
+ })
+ .attr( "tabIndex", -1 );
+ }
+
+ toShow
+ .attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ })
+ .prev()
+ .attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ });
+ },
+
+ _animate: function( toShow, toHide, data ) {
+ var total, easing, duration,
+ that = this,
+ adjust = 0,
+ down = toShow.length &&
+ ( !toHide.length || ( toShow.index() < toHide.index() ) ),
+ animate = this.options.animate || {},
+ options = down && animate.down || animate,
+ complete = function() {
+ that._toggleComplete( data );
+ };
+
+ if ( typeof options === "number" ) {
+ duration = options;
+ }
+ if ( typeof options === "string" ) {
+ easing = options;
+ }
+ // fall back from options to animation in case of partial down settings
+ easing = easing || options.easing || animate.easing;
+ duration = duration || options.duration || animate.duration;
+
+ if ( !toHide.length ) {
+ return toShow.animate( showProps, duration, easing, complete );
+ }
+ if ( !toShow.length ) {
+ return toHide.animate( hideProps, duration, easing, complete );
+ }
+
+ total = toShow.show().outerHeight();
+ toHide.animate( hideProps, {
+ duration: duration,
+ easing: easing,
+ step: function( now, fx ) {
+ fx.now = Math.round( now );
+ }
+ });
+ toShow
+ .hide()
+ .animate( showProps, {
+ duration: duration,
+ easing: easing,
+ complete: complete,
+ step: function( now, fx ) {
+ fx.now = Math.round( now );
+ if ( fx.prop !== "height" ) {
+ adjust += fx.now;
+ } else if ( that.options.heightStyle !== "content" ) {
+ fx.now = Math.round( total - toHide.outerHeight() - adjust );
+ adjust = 0;
+ }
+ }
+ });
+ },
+
+ _toggleComplete: function( data ) {
+ var toHide = data.oldPanel;
+
+ toHide
+ .removeClass( "ui-accordion-content-active" )
+ .prev()
+ .removeClass( "ui-corner-top" )
+ .addClass( "ui-corner-all" );
+
+ // Work around for rendering bug in IE (#5421)
+ if ( toHide.length ) {
+ toHide.parent()[0].className = toHide.parent()[0].className;
+ }
+
+ this._trigger( "activate", null, data );
+ }
+});
+
+})( jQuery );
+
+(function( $, undefined ) {
+
+// used to prevent race conditions with remote data sources
+var requestIndex = 0;
+
+$.widget( "ui.autocomplete", {
+ version: "1.10.3",
+ defaultElement: "<input>",
+ options: {
+ appendTo: null,
+ autoFocus: false,
+ delay: 300,
+ minLength: 1,
+ position: {
+ my: "left top",
+ at: "left bottom",
+ collision: "none"
+ },
+ source: null,
+
+ // callbacks
+ change: null,
+ close: null,
+ focus: null,
+ open: null,
+ response: null,
+ search: null,
+ select: null
+ },
+
+ pending: 0,
+
+ _create: function() {
+ // Some browsers only repeat keydown events, not keypress events,
+ // so we use the suppressKeyPress flag to determine if we've already
+ // handled the keydown event. #7269
+ // Unfortunately the code for & in keypress is the same as the up arrow,
+ // so we use the suppressKeyPressRepeat flag to avoid handling keypress
+ // events when we know the keydown event was used to modify the
+ // search term. #7799
+ var suppressKeyPress, suppressKeyPressRepeat, suppressInput,
+ nodeName = this.element[0].nodeName.toLowerCase(),
+ isTextarea = nodeName === "textarea",
+ isInput = nodeName === "input";
+
+ this.isMultiLine =
+ // Textareas are always multi-line
+ isTextarea ? true :
+ // Inputs are always single-line, even if inside a contentEditable element
+ // IE also treats inputs as contentEditable
+ isInput ? false :
+ // All other element types are determined by whether or not they're contentEditable
+ this.element.prop( "isContentEditable" );
+
+ this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
+ this.isNewMenu = true;
+
+ this.element
+ .addClass( "ui-autocomplete-input" )
+ .attr( "autocomplete", "off" );
+
+ this._on( this.element, {
+ keydown: function( event ) {
+ /*jshint maxcomplexity:15*/
+ if ( this.element.prop( "readOnly" ) ) {
+ suppressKeyPress = true;
+ suppressInput = true;
+ suppressKeyPressRepeat = true;
+ return;
+ }
+
+ suppressKeyPress = false;
+ suppressInput = false;
+ suppressKeyPressRepeat = false;
+ var keyCode = $.ui.keyCode;
+ switch( event.keyCode ) {
+ case keyCode.PAGE_UP:
+ suppressKeyPress = true;
+ this._move( "previousPage", event );
+ break;
+ case keyCode.PAGE_DOWN:
+ suppressKeyPress = true;
+ this._move( "nextPage", event );
+ break;
+ case keyCode.UP:
+ suppressKeyPress = true;
+ this._keyEvent( "previous", event );
+ break;
+ case keyCode.DOWN:
+ suppressKeyPress = true;
+ this._keyEvent( "next", event );
+ break;
+ case keyCode.ENTER:
+ case keyCode.NUMPAD_ENTER:
+ // when menu is open and has focus
+ if ( this.menu.active ) {
+ // #6055 - Opera still allows the keypress to occur
+ // which causes forms to submit
+ suppressKeyPress = true;
+ event.preventDefault();
+ this.menu.select( event );
+ }
+ break;
+ case keyCode.TAB:
+ if ( this.menu.active ) {
+ this.menu.select( event );
+ }
+ break;
+ case keyCode.ESCAPE:
+ if ( this.menu.element.is( ":visible" ) ) {
+ this._value( this.term );
+ this.close( event );
+ // Different browsers have different default behavior for escape
+ // Single press can mean undo or clear
+ // Double press in IE means clear the whole form
+ event.preventDefault();
+ }
+ break;
+ default:
+ suppressKeyPressRepeat = true;
+ // search timeout should be triggered before the input value is changed
+ this._searchTimeout( event );
+ break;
+ }
+ },
+ keypress: function( event ) {
+ if ( suppressKeyPress ) {
+ suppressKeyPress = false;
+ if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
+ event.preventDefault();
+ }
+ return;
+ }
+ if ( suppressKeyPressRepeat ) {
+ return;
+ }
+
+ // replicate some key handlers to allow them to repeat in Firefox and Opera
+ var keyCode = $.ui.keyCode;
+ switch( event.keyCode ) {
+ case keyCode.PAGE_UP:
+ this._move( "previousPage", event );
+ break;
+ case keyCode.PAGE_DOWN:
+ this._move( "nextPage", event );
+ break;
+ case keyCode.UP:
+ this._keyEvent( "previous", event );
+ break;
+ case keyCode.DOWN:
+ this._keyEvent( "next", event );
+ break;
+ }
+ },
+ input: function( event ) {
+ if ( suppressInput ) {
+ suppressInput = false;
+ event.preventDefault();
+ return;
+ }
+ this._searchTimeout( event );
+ },
+ focus: function() {
+ this.selectedItem = null;
+ this.previous = this._value();
+ },
+ blur: function( event ) {
+ if ( this.cancelBlur ) {
+ delete this.cancelBlur;
+ return;
+ }
+
+ clearTimeout( this.searching );
+ this.close( event );
+ this._change( event );
+ }
+ });
+
+ this._initSource();
+ this.menu = $( "<ul>" )
+ .addClass( "ui-autocomplete ui-front" )
+ .appendTo( this._appendTo() )
+ .menu({
+ // disable ARIA support, the live region takes care of that
+ role: null
+ })
+ .hide()
+ .data( "ui-menu" );
+
+ this._on( this.menu.element, {
+ mousedown: function( event ) {
+ // prevent moving focus out of the text field
+ event.preventDefault();
+
+ // IE doesn't prevent moving focus even with event.preventDefault()
+ // so we set a flag to know when we should ignore the blur event
+ this.cancelBlur = true;
+ this._delay(function() {
+ delete this.cancelBlur;
+ });
+
+ // clicking on the scrollbar causes focus to shift to the body
+ // but we can't detect a mouseup or a click immediately afterward
+ // so we have to track the next mousedown and close the menu if
+ // the user clicks somewhere outside of the autocomplete
+ var menuElement = this.menu.element[ 0 ];
+ if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
+ this._delay(function() {
+ var that = this;
+ this.document.one( "mousedown", function( event ) {
+ if ( event.target !== that.element[ 0 ] &&
+ event.target !== menuElement &&
+ !$.contains( menuElement, event.target ) ) {
+ that.close();
+ }
+ });
+ });
+ }
+ },
+ menufocus: function( event, ui ) {
+ // support: Firefox
+ // Prevent accidental activation of menu items in Firefox (#7024 #9118)
+ if ( this.isNewMenu ) {
+ this.isNewMenu = false;
+ if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {
+ this.menu.blur();
+
+ this.document.one( "mousemove", function() {
+ $( event.target ).trigger( event.originalEvent );
+ });
+
+ return;
+ }
+ }
+
+ var item = ui.item.data( "ui-autocomplete-item" );
+ if ( false !== this._trigger( "focus", event, { item: item } ) ) {
+ // use value to match what will end up in the input, if it was a key event
+ if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
+ this._value( item.value );
+ }
+ } else {
+ // Normally the input is populated with the item's value as the
+ // menu is navigated, causing screen readers to notice a change and
+ // announce the item. Since the focus event was canceled, this doesn't
+ // happen, so we update the live region so that screen readers can
+ // still notice the change and announce it.
+ this.liveRegion.text( item.value );
+ }
+ },
+ menuselect: function( event, ui ) {
+ var item = ui.item.data( "ui-autocomplete-item" ),
+ previous = this.previous;
+
+ // only trigger when focus was lost (click on menu)
+ if ( this.element[0] !== this.document[0].activeElement ) {
+ this.element.focus();
+ this.previous = previous;
+ // #6109 - IE triggers two focus events and the second
+ // is asynchronous, so we need to reset the previous
+ // term synchronously and asynchronously :-(
+ this._delay(function() {
+ this.previous = previous;
+ this.selectedItem = item;
+ });
+ }
+
+ if ( false !== this._trigger( "select", event, { item: item } ) ) {
+ this._value( item.value );
+ }
+ // reset the term after the select event
+ // this allows custom select handling to work properly
+ this.term = this._value();
+
+ this.close( event );
+ this.selectedItem = item;
+ }
+ });
+
+ this.liveRegion = $( "<span>", {
+ role: "status",
+ "aria-live": "polite"
+ })
+ .addClass( "ui-helper-hidden-accessible" )
+ .insertBefore( this.element );
+
+ // turning off autocomplete prevents the browser from remembering the
+ // value when navigating through history, so we re-enable autocomplete
+ // if the page is unloaded before the widget is destroyed. #7790
+ this._on( this.window, {
+ beforeunload: function() {
+ this.element.removeAttr( "autocomplete" );
+ }
+ });
+ },
+
+ _destroy: function() {
+ clearTimeout( this.searching );
+ this.element
+ .removeClass( "ui-autocomplete-input" )
+ .removeAttr( "autocomplete" );
+ this.menu.element.remove();
+ this.liveRegion.remove();
+ },
+
+ _setOption: function( key, value ) {
+ this._super( key, value );
+ if ( key === "source" ) {
+ this._initSource();
+ }
+ if ( key === "appendTo" ) {
+ this.menu.element.appendTo( this._appendTo() );
+ }
+ if ( key === "disabled" && value && this.xhr ) {
+ this.xhr.abort();
+ }
+ },
+
+ _appendTo: function() {
+ var element = this.options.appendTo;
+
+ if ( element ) {
+ element = element.jquery || element.nodeType ?
+ $( element ) :
+ this.document.find( element ).eq( 0 );
+ }
+
+ if ( !element ) {
+ element = this.element.closest( ".ui-front" );
+ }
+
+ if ( !element.length ) {
+ element = this.document[0].body;
+ }
+
+ return element;
+ },
+
+ _initSource: function() {
+ var array, url,
+ that = this;
+ if ( $.isArray(this.options.source) ) {
+ array = this.options.source;
+ this.source = function( request, response ) {
+ response( $.ui.autocomplete.filter( array, request.term ) );
+ };
+ } else if ( typeof this.options.source === "string" ) {
+ url = this.options.source;
+ this.source = function( request, response ) {
+ if ( that.xhr ) {
+ that.xhr.abort();
+ }
+ that.xhr = $.ajax({
+ url: url,
+ data: request,
+ dataType: "json",
+ success: function( data ) {
+ response( data );
+ },
+ error: function() {
+ response( [] );
+ }
+ });
+ };
+ } else {
+ this.source = this.options.source;
+ }
+ },
+
+ _searchTimeout: function( event ) {
+ clearTimeout( this.searching );
+ this.searching = this._delay(function() {
+ // only search if the value has changed
+ if ( this.term !== this._value() ) {
+ this.selectedItem = null;
+ this.search( null, event );
+ }
+ }, this.options.delay );
+ },
+
+ search: function( value, event ) {
+ value = value != null ? value : this._value();
+
+ // always save the actual value, not the one passed as an argument
+ this.term = this._value();
+
+ if ( value.length < this.options.minLength ) {
+ return this.close( event );
+ }
+
+ if ( this._trigger( "search", event ) === false ) {
+ return;
+ }
+
+ return this._search( value );
+ },
+
+ _search: function( value ) {
+ this.pending++;
+ this.element.addClass( "ui-autocomplete-loading" );
+ this.cancelSearch = false;
+
+ this.source( { term: value }, this._response() );
+ },
+
+ _response: function() {
+ var that = this,
+ index = ++requestIndex;
+
+ return function( content ) {
+ if ( index === requestIndex ) {
+ that.__response( content );
+ }
+
+ that.pending--;
+ if ( !that.pending ) {
+ that.element.removeClass( "ui-autocomplete-loading" );
+ }
+ };
+ },
+
+ __response: function( content ) {
+ if ( content ) {
+ content = this._normalize( content );
+ }
+ this._trigger( "response", null, { content: content } );
+ if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
+ this._suggest( content );
+ this._trigger( "open" );
+ } else {
+ // use ._close() instead of .close() so we don't cancel future searches
+ this._close();
+ }
+ },
+
+ close: function( event ) {
+ this.cancelSearch = true;
+ this._close( event );
+ },
+
+ _close: function( event ) {
+ if ( this.menu.element.is( ":visible" ) ) {
+ this.menu.element.hide();
+ this.menu.blur();
+ this.isNewMenu = true;
+ this._trigger( "close", event );
+ }
+ },
+
+ _change: function( event ) {
+ if ( this.previous !== this._value() ) {
+ this._trigger( "change", event, { item: this.selectedItem } );
+ }
+ },
+
+ _normalize: function( items ) {
+ // assume all items have the right format when the first item is complete
+ if ( items.length && items[0].label && items[0].value ) {
+ return items;
+ }
+ return $.map( items, function( item ) {
+ if ( typeof item === "string" ) {
+ return {
+ label: item,
+ value: item
+ };
+ }
+ return $.extend({
+ label: item.label || item.value,
+ value: item.value || item.label
+ }, item );
+ });
+ },
+
+ _suggest: function( items ) {
+ var ul = this.menu.element.empty();
+ this._renderMenu( ul, items );
+ this.isNewMenu = true;
+ this.menu.refresh();
+
+ // size and position menu
+ ul.show();
+ this._resizeMenu();
+ ul.position( $.extend({
+ of: this.element
+ }, this.options.position ));
+
+ if ( this.options.autoFocus ) {
+ this.menu.next();
+ }
+ },
+
+ _resizeMenu: function() {
+ var ul = this.menu.element;
+ ul.outerWidth( Math.max(
+ // Firefox wraps long text (possibly a rounding bug)
+ // so we add 1px to avoid the wrapping (#7513)
+ ul.width( "" ).outerWidth() + 1,
+ this.element.outerWidth()
+ ) );
+ },
+
+ _renderMenu: function( ul, items ) {
+ var that = this;
+ $.each( items, function( index, item ) {
+ that._renderItemData( ul, item );
+ });
+ },
+
+ _renderItemData: function( ul, item ) {
+ return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
+ },
+
+ _renderItem: function( ul, item ) {
+ return $( "<li>" )
+ .append( $( "<a>" ).text( item.label ) )
+ .appendTo( ul );
+ },
+
+ _move: function( direction, event ) {
+ if ( !this.menu.element.is( ":visible" ) ) {
+ this.search( null, event );
+ return;
+ }
+ if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
+ this.menu.isLastItem() && /^next/.test( direction ) ) {
+ this._value( this.term );
+ this.menu.blur();
+ return;
+ }
+ this.menu[ direction ]( event );
+ },
+
+ widget: function() {
+ return this.menu.element;
+ },
+
+ _value: function() {
+ return this.valueMethod.apply( this.element, arguments );
+ },
+
+ _keyEvent: function( keyEvent, event ) {
+ if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
+ this._move( keyEvent, event );
+
+ // prevents moving cursor to beginning/end of the text field in some browsers
+ event.preventDefault();
+ }
+ }
+});
+
+$.extend( $.ui.autocomplete, {
+ escapeRegex: function( value ) {
+ return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
+ },
+ filter: function(array, term) {
+ var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
+ return $.grep( array, function(value) {
+ return matcher.test( value.label || value.value || value );
+ });
+ }
+});
+
+
+// live region extension, adding a `messages` option
+// NOTE: This is an experimental API. We are still investigating
+// a full solution for string manipulation and internationalization.
+$.widget( "ui.autocomplete", $.ui.autocomplete, {
+ options: {
+ messages: {
+ noResults: "No search results.",
+ results: function( amount ) {
+ return amount + ( amount > 1 ? " results are" : " result is" ) +
+ " available, use up and down arrow keys to navigate.";
+ }
+ }
+ },
+
+ __response: function( content ) {
+ var message;
+ this._superApply( arguments );
+ if ( this.options.disabled || this.cancelSearch ) {
+ return;
+ }
+ if ( content && content.length ) {
+ message = this.options.messages.results( content.length );
+ } else {
+ message = this.options.messages.noResults;
+ }
+ this.liveRegion.text( message );
+ }
+});
+
+}( jQuery ));
+
+(function( $, undefined ) {
+
+var lastActive, startXPos, startYPos, clickDragged,
+ baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
+ stateClasses = "ui-state-hover ui-state-active ",
+ typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
+ formResetHandler = function() {
+ var form = $( this );
+ setTimeout(function() {
+ form.find( ":ui-button" ).button( "refresh" );
+ }, 1 );
+ },
+ radioGroup = function( radio ) {
+ var name = radio.name,
+ form = radio.form,
+ radios = $( [] );
+ if ( name ) {
+ name = name.replace( /'/g, "\\'" );
+ if ( form ) {
+ radios = $( form ).find( "[name='" + name + "']" );
+ } else {
+ radios = $( "[name='" + name + "']", radio.ownerDocument )
+ .filter(function() {
+ return !this.form;
+ });
+ }
+ }
+ return radios;
+ };
+
+$.widget( "ui.button", {
+ version: "1.10.3",
+ defaultElement: "<button>",
+ options: {
+ disabled: null,
+ text: true,
+ label: null,
+ icons: {
+ primary: null,
+ secondary: null
+ }
+ },
+ _create: function() {
+ this.element.closest( "form" )
+ .unbind( "reset" + this.eventNamespace )
+ .bind( "reset" + this.eventNamespace, formResetHandler );
+
+ if ( typeof this.options.disabled !== "boolean" ) {
+ this.options.disabled = !!this.element.prop( "disabled" );
+ } else {
+ this.element.prop( "disabled", this.options.disabled );
+ }
+
+ this._determineButtonType();
+ this.hasTitle = !!this.buttonElement.attr( "title" );
+
+ var that = this,
+ options = this.options,
+ toggleButton = this.type === "checkbox" || this.type === "radio",
+ activeClass = !toggleButton ? "ui-state-active" : "",
+ focusClass = "ui-state-focus";
+
+ if ( options.label === null ) {
+ options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
+ }
+
+ this._hoverable( this.buttonElement );
+
+ this.buttonElement
+ .addClass( baseClasses )
+ .attr( "role", "button" )
+ .bind( "mouseenter" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return;
+ }
+ if ( this === lastActive ) {
+ $( this ).addClass( "ui-state-active" );
+ }
+ })
+ .bind( "mouseleave" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return;
+ }
+ $( this ).removeClass( activeClass );
+ })
+ .bind( "click" + this.eventNamespace, function( event ) {
+ if ( options.disabled ) {
+ event.preventDefault();
+ event.stopImmediatePropagation();
+ }
+ });
+
+ this.element
+ .bind( "focus" + this.eventNamespace, function() {
+ // no need to check disabled, focus won't be triggered anyway
+ that.buttonElement.addClass( focusClass );
+ })
+ .bind( "blur" + this.eventNamespace, function() {
+ that.buttonElement.removeClass( focusClass );
+ });
+
+ if ( toggleButton ) {
+ this.element.bind( "change" + this.eventNamespace, function() {
+ if ( clickDragged ) {
+ return;
+ }
+ that.refresh();
+ });
+ // if mouse moves between mousedown and mouseup (drag) set clickDragged flag
+ // prevents issue where button state changes but checkbox/radio checked state
+ // does not in Firefox (see ticket #6970)
+ this.buttonElement
+ .bind( "mousedown" + this.eventNamespace, function( event ) {
+ if ( options.disabled ) {
+ return;
+ }
+ clickDragged = false;
+ startXPos = event.pageX;
+ startYPos = event.pageY;
+ })
+ .bind( "mouseup" + this.eventNamespace, function( event ) {
+ if ( options.disabled ) {
+ return;
+ }
+ if ( startXPos !== event.pageX || startYPos !== event.pageY ) {
+ clickDragged = true;
+ }
+ });
+ }
+
+ if ( this.type === "checkbox" ) {
+ this.buttonElement.bind( "click" + this.eventNamespace, function() {
+ if ( options.disabled || clickDragged ) {
+ return false;
+ }
+ });
+ } else if ( this.type === "radio" ) {
+ this.buttonElement.bind( "click" + this.eventNamespace, function() {
+ if ( options.disabled || clickDragged ) {
+ return false;
+ }
+ $( this ).addClass( "ui-state-active" );
+ that.buttonElement.attr( "aria-pressed", "true" );
+
+ var radio = that.element[ 0 ];
+ radioGroup( radio )
+ .not( radio )
+ .map(function() {
+ return $( this ).button( "widget" )[ 0 ];
+ })
+ .removeClass( "ui-state-active" )
+ .attr( "aria-pressed", "false" );
+ });
+ } else {
+ this.buttonElement
+ .bind( "mousedown" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return false;
+ }
+ $( this ).addClass( "ui-state-active" );
+ lastActive = this;
+ that.document.one( "mouseup", function() {
+ lastActive = null;
+ });
+ })
+ .bind( "mouseup" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return false;
+ }
+ $( this ).removeClass( "ui-state-active" );
+ })
+ .bind( "keydown" + this.eventNamespace, function(event) {
+ if ( options.disabled ) {
+ return false;
+ }
+ if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
+ $( this ).addClass( "ui-state-active" );
+ }
+ })
+ // see #8559, we bind to blur here in case the button element loses
+ // focus between keydown and keyup, it would be left in an "active" state
+ .bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
+ $( this ).removeClass( "ui-state-active" );
+ });
+
+ if ( this.buttonElement.is("a") ) {
+ this.buttonElement.keyup(function(event) {
+ if ( event.keyCode === $.ui.keyCode.SPACE ) {
+ // TODO pass through original event correctly (just as 2nd argument doesn't work)
+ $( this ).click();
+ }
+ });
+ }
+ }
+
+ // TODO: pull out $.Widget's handling for the disabled option into
+ // $.Widget.prototype._setOptionDisabled so it's easy to proxy and can
+ // be overridden by individual plugins
+ this._setOption( "disabled", options.disabled );
+ this._resetButton();
+ },
+
+ _determineButtonType: function() {
+ var ancestor, labelSelector, checked;
+
+ if ( this.element.is("[type=checkbox]") ) {
+ this.type = "checkbox";
+ } else if ( this.element.is("[type=radio]") ) {
+ this.type = "radio";
+ } else if ( this.element.is("input") ) {
+ this.type = "input";
+ } else {
+ this.type = "button";
+ }
+
+ if ( this.type === "checkbox" || this.type === "radio" ) {
+ // we don't search against the document in case the element
+ // is disconnected from the DOM
+ ancestor = this.element.parents().last();
+ labelSelector = "label[for='" + this.element.attr("id") + "']";
+ this.buttonElement = ancestor.find( labelSelector );
+ if ( !this.buttonElement.length ) {
+ ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
+ this.buttonElement = ancestor.filter( labelSelector );
+ if ( !this.buttonElement.length ) {
+ this.buttonElement = ancestor.find( labelSelector );
+ }
+ }
+ this.element.addClass( "ui-helper-hidden-accessible" );
+
+ checked = this.element.is( ":checked" );
+ if ( checked ) {
+ this.buttonElement.addClass( "ui-state-active" );
+ }
+ this.buttonElement.prop( "aria-pressed", checked );
+ } else {
+ this.buttonElement = this.element;
+ }
+ },
+
+ widget: function() {
+ return this.buttonElement;
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass( "ui-helper-hidden-accessible" );
+ this.buttonElement
+ .removeClass( baseClasses + " " + stateClasses + " " + typeClasses )
+ .removeAttr( "role" )
+ .removeAttr( "aria-pressed" )
+ .html( this.buttonElement.find(".ui-button-text").html() );
+
+ if ( !this.hasTitle ) {
+ this.buttonElement.removeAttr( "title" );
+ }
+ },
+
+ _setOption: function( key, value ) {
+ this._super( key, value );
+ if ( key === "disabled" ) {
+ if ( value ) {
+ this.element.prop( "disabled", true );
+ } else {
+ this.element.prop( "disabled", false );
+ }
+ return;
+ }
+ this._resetButton();
+ },
+
+ refresh: function() {
+ //See #8237 & #8828
+ var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
+
+ if ( isDisabled !== this.options.disabled ) {
+ this._setOption( "disabled", isDisabled );
+ }
+ if ( this.type === "radio" ) {
+ radioGroup( this.element[0] ).each(function() {
+ if ( $( this ).is( ":checked" ) ) {
+ $( this ).button( "widget" )
+ .addClass( "ui-state-active" )
+ .attr( "aria-pressed", "true" );
+ } else {
+ $( this ).button( "widget" )
+ .removeClass( "ui-state-active" )
+ .attr( "aria-pressed", "false" );
+ }
+ });
+ } else if ( this.type === "checkbox" ) {
+ if ( this.element.is( ":checked" ) ) {
+ this.buttonElement
+ .addClass( "ui-state-active" )
+ .attr( "aria-pressed", "true" );
+ } else {
+ this.buttonElement
+ .removeClass( "ui-state-active" )
+ .attr( "aria-pressed", "false" );
+ }
+ }
+ },
+
+ _resetButton: function() {
+ if ( this.type === "input" ) {
+ if ( this.options.label ) {
+ this.element.val( this.options.label );
+ }
+ return;
+ }
+ var buttonElement = this.buttonElement.removeClass( typeClasses ),
+ buttonText = $( "<span></span>", this.document[0] )
+ .addClass( "ui-button-text" )
+ .html( this.options.label )
+ .appendTo( buttonElement.empty() )
+ .text(),
+ icons = this.options.icons,
+ multipleIcons = icons.primary && icons.secondary,
+ buttonClasses = [];
+
+ if ( icons.primary || icons.secondary ) {
+ if ( this.options.text ) {
+ buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
+ }
+
+ if ( icons.primary ) {
+ buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
+ }
+
+ if ( icons.secondary ) {
+ buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
+ }
+
+ if ( !this.options.text ) {
+ buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
+
+ if ( !this.hasTitle ) {
+ buttonElement.attr( "title", $.trim( buttonText ) );
+ }
+ }
+ } else {
+ buttonClasses.push( "ui-button-text-only" );
+ }
+ buttonElement.addClass( buttonClasses.join( " " ) );
+ }
+});
+
+$.widget( "ui.buttonset", {
+ version: "1.10.3",
+ options: {
+ items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
+ },
+
+ _create: function() {
+ this.element.addClass( "ui-buttonset" );
+ },
+
+ _init: function() {
+ this.refresh();
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "disabled" ) {
+ this.buttons.button( "option", key, value );
+ }
+
+ this._super( key, value );
+ },
+
+ refresh: function() {
+ var rtl = this.element.css( "direction" ) === "rtl";
+
+ this.buttons = this.element.find( this.options.items )
+ .filter( ":ui-button" )
+ .button( "refresh" )
+ .end()
+ .not( ":ui-button" )
+ .button()
+ .end()
+ .map(function() {
+ return $( this ).button( "widget" )[ 0 ];
+ })
+ .removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
+ .filter( ":first" )
+ .addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
+ .end()
+ .filter( ":last" )
+ .addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
+ .end()
+ .end();
+ },
+
+ _destroy: function() {
+ this.element.removeClass( "ui-buttonset" );
+ this.buttons
+ .map(function() {
+ return $( this ).button( "widget" )[ 0 ];
+ })
+ .removeClass( "ui-corner-left ui-corner-right" )
+ .end()
+ .button( "destroy" );
+ }
+});
+
+}( jQuery ) );
+
+(function( $, undefined ) {
+
+$.extend($.ui, { datepicker: { version: "1.10.3" } });
+
+var PROP_NAME = "datepicker",
+ instActive;
+
+/* Date picker manager.
+ Use the singleton instance of this class, $.datepicker, to interact with the date picker.
+ Settings for (groups of) date pickers are maintained in an instance object,
+ allowing multiple different settings on the same page. */
+
+function Datepicker() {
+ this._curInst = null; // The current instance in use
+ this._keyEvent = false; // If the last event was a key event
+ this._disabledInputs = []; // List of date picker inputs that have been disabled
+ this._datepickerShowing = false; // True if the popup picker is showing , false if not
+ this._inDialog = false; // True if showing within a "dialog", false if not
+ this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division
+ this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class
+ this._appendClass = "ui-datepicker-append"; // The name of the append marker class
+ this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class
+ this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class
+ this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class
+ this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class
+ this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class
+ this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class
+ this.regional = []; // Available regional settings, indexed by language code
+ this.regional[""] = { // Default regional settings
+ closeText: "Done", // Display text for close link
+ prevText: "Prev", // Display text for previous month link
+ nextText: "Next", // Display text for next month link
+ currentText: "Today", // Display text for current month link
+ monthNames: ["January","February","March","April","May","June",
+ "July","August","September","October","November","December"], // Names of months for drop-down and formatting
+ monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting
+ dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting
+ dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting
+ dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday
+ weekHeader: "Wk", // Column header for week of the year
+ dateFormat: "mm/dd/yy", // See format options on parseDate
+ firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
+ isRTL: false, // True if right-to-left language, false if left-to-right
+ showMonthAfterYear: false, // True if the year select precedes month, false for month then year
+ yearSuffix: "" // Additional text to append to the year in the month headers
+ };
+ this._defaults = { // Global defaults for all the date picker instances
+ showOn: "focus", // "focus" for popup on focus,
+ // "button" for trigger button, or "both" for either
+ showAnim: "fadeIn", // Name of jQuery animation for popup
+ showOptions: {}, // Options for enhanced animations
+ defaultDate: null, // Used when field is blank: actual date,
+ // +/-number for offset from today, null for today
+ appendText: "", // Display text following the input box, e.g. showing the format
+ buttonText: "...", // Text for trigger button
+ buttonImage: "", // URL for trigger button image
+ buttonImageOnly: false, // True if the image appears alone, false if it appears on a button
+ hideIfNoPrevNext: false, // True to hide next/previous month links
+ // if not applicable, false to just disable them
+ navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links
+ gotoCurrent: false, // True if today link goes back to current selection instead
+ changeMonth: false, // True if month can be selected directly, false if only prev/next
+ changeYear: false, // True if year can be selected directly, false if only prev/next
+ yearRange: "c-10:c+10", // Range of years to display in drop-down,
+ // either relative to today's year (-nn:+nn), relative to currently displayed year
+ // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)
+ showOtherMonths: false, // True to show dates in other months, false to leave blank
+ selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable
+ showWeek: false, // True to show week of the year, false to not show it
+ calculateWeek: this.iso8601Week, // How to calculate the week of the year,
+ // takes a Date and returns the number of the week for it
+ shortYearCutoff: "+10", // Short year values < this are in the current century,
+ // > this are in the previous century,
+ // string value starting with "+" for current year + value
+ minDate: null, // The earliest selectable date, or null for no limit
+ maxDate: null, // The latest selectable date, or null for no limit
+ duration: "fast", // Duration of display/closure
+ beforeShowDay: null, // Function that takes a date and returns an array with
+ // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "",
+ // [2] = cell title (optional), e.g. $.datepicker.noWeekends
+ beforeShow: null, // Function that takes an input field and
+ // returns a set of custom settings for the date picker
+ onSelect: null, // Define a callback function when a date is selected
+ onChangeMonthYear: null, // Define a callback function when the month or year is changed
+ onClose: null, // Define a callback function when the datepicker is closed
+ numberOfMonths: 1, // Number of months to show at a time
+ showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)
+ stepMonths: 1, // Number of months to step back/forward
+ stepBigMonths: 12, // Number of months to step back/forward for the big links
+ altField: "", // Selector for an alternate field to store selected dates into
+ altFormat: "", // The date format to use for the alternate field
+ constrainInput: true, // The input is constrained by the current date format
+ showButtonPanel: false, // True to show button panel, false to not show it
+ autoSize: false, // True to size the input for the date format, false to leave as is
+ disabled: false // The initial disabled state
+ };
+ $.extend(this._defaults, this.regional[""]);
+ this.dpDiv = bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
+}
+
+$.extend(Datepicker.prototype, {
+ /* Class name added to elements to indicate already configured with a date picker. */
+ markerClassName: "hasDatepicker",
+
+ //Keep track of the maximum number of rows displayed (see #7043)
+ maxRows: 4,
+
+ // TODO rename to "widget" when switching to widget factory
+ _widgetDatepicker: function() {
+ return this.dpDiv;
+ },
+
+ /* Override the default settings for all instances of the date picker.
+ * @param settings object - the new settings to use as defaults (anonymous object)
+ * @return the manager object
+ */
+ setDefaults: function(settings) {
+ extendRemove(this._defaults, settings || {});
+ return this;
+ },
+
+ /* Attach the date picker to a jQuery selection.
+ * @param target element - the target input field or division or span
+ * @param settings object - the new settings to use for this date picker instance (anonymous)
+ */
+ _attachDatepicker: function(target, settings) {
+ var nodeName, inline, inst;
+ nodeName = target.nodeName.toLowerCase();
+ inline = (nodeName === "div" || nodeName === "span");
+ if (!target.id) {
+ this.uuid += 1;
+ target.id = "dp" + this.uuid;
+ }
+ inst = this._newInst($(target), inline);
+ inst.settings = $.extend({}, settings || {});
+ if (nodeName === "input") {
+ this._connectDatepicker(target, inst);
+ } else if (inline) {
+ this._inlineDatepicker(target, inst);
+ }
+ },
+
+ /* Create a new instance object. */
+ _newInst: function(target, inline) {
+ var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars
+ return {id: id, input: target, // associated target
+ selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection
+ drawMonth: 0, drawYear: 0, // month being drawn
+ inline: inline, // is datepicker inline or not
+ dpDiv: (!inline ? this.dpDiv : // presentation div
+ bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
+ },
+
+ /* Attach the date picker to an input field. */
+ _connectDatepicker: function(target, inst) {
+ var input = $(target);
+ inst.append = $([]);
+ inst.trigger = $([]);
+ if (input.hasClass(this.markerClassName)) {
+ return;
+ }
+ this._attachments(input, inst);
+ input.addClass(this.markerClassName).keydown(this._doKeyDown).
+ keypress(this._doKeyPress).keyup(this._doKeyUp);
+ this._autoSize(inst);
+ $.data(target, PROP_NAME, inst);
+ //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)
+ if( inst.settings.disabled ) {
+ this._disableDatepicker( target );
+ }
+ },
+
+ /* Make attachments based on settings. */
+ _attachments: function(input, inst) {
+ var showOn, buttonText, buttonImage,
+ appendText = this._get(inst, "appendText"),
+ isRTL = this._get(inst, "isRTL");
+
+ if (inst.append) {
+ inst.append.remove();
+ }
+ if (appendText) {
+ inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
+ input[isRTL ? "before" : "after"](inst.append);
+ }
+
+ input.unbind("focus", this._showDatepicker);
+
+ if (inst.trigger) {
+ inst.trigger.remove();
+ }
+
+ showOn = this._get(inst, "showOn");
+ if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field
+ input.focus(this._showDatepicker);
+ }
+ if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
+ buttonText = this._get(inst, "buttonText");
+ buttonImage = this._get(inst, "buttonImage");
+ inst.trigger = $(this._get(inst, "buttonImageOnly") ?
+ $("<img/>").addClass(this._triggerClass).
+ attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
+ $("<button type='button'></button>").addClass(this._triggerClass).
+ html(!buttonImage ? buttonText : $("<img/>").attr(
+ { src:buttonImage, alt:buttonText, title:buttonText })));
+ input[isRTL ? "before" : "after"](inst.trigger);
+ inst.trigger.click(function() {
+ if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
+ $.datepicker._hideDatepicker();
+ } else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
+ $.datepicker._hideDatepicker();
+ $.datepicker._showDatepicker(input[0]);
+ } else {
+ $.datepicker._showDatepicker(input[0]);
+ }
+ return false;
+ });
+ }
+ },
+
+ /* Apply the maximum length for the date format. */
+ _autoSize: function(inst) {
+ if (this._get(inst, "autoSize") && !inst.inline) {
+ var findMax, max, maxI, i,
+ date = new Date(2009, 12 - 1, 20), // Ensure double digits
+ dateFormat = this._get(inst, "dateFormat");
+
+ if (dateFormat.match(/[DM]/)) {
+ findMax = function(names) {
+ max = 0;
+ maxI = 0;
+ for (i = 0; i < names.length; i++) {
+ if (names[i].length > max) {
+ max = names[i].length;
+ maxI = i;
+ }
+ }
+ return maxI;
+ };
+ date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
+ "monthNames" : "monthNamesShort"))));
+ date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
+ "dayNames" : "dayNamesShort"))) + 20 - date.getDay());
+ }
+ inst.input.attr("size", this._formatDate(inst, date).length);
+ }
+ },
+
+ /* Attach an inline date picker to a div. */
+ _inlineDatepicker: function(target, inst) {
+ var divSpan = $(target);
+ if (divSpan.hasClass(this.markerClassName)) {
+ return;
+ }
+ divSpan.addClass(this.markerClassName).append(inst.dpDiv);
+ $.data(target, PROP_NAME, inst);
+ this._setDate(inst, this._getDefaultDate(inst), true);
+ this._updateDatepicker(inst);
+ this._updateAlternate(inst);
+ //If disabled option is true, disable the datepicker before showing it (see ticket #5665)
+ if( inst.settings.disabled ) {
+ this._disableDatepicker( target );
+ }
+ // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements
+ // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height
+ inst.dpDiv.css( "display", "block" );
+ },
+
+ /* Pop-up the date picker in a "dialog" box.
+ * @param input element - ignored
+ * @param date string or Date - the initial date to display
+ * @param onSelect function - the function to call when a date is selected
+ * @param settings object - update the dialog date picker instance's settings (anonymous object)
+ * @param pos int[2] - coordinates for the dialog's position within the screen or
+ * event - with x/y coordinates or
+ * leave empty for default (screen centre)
+ * @return the manager object
+ */
+ _dialogDatepicker: function(input, date, onSelect, settings, pos) {
+ var id, browserWidth, browserHeight, scrollX, scrollY,
+ inst = this._dialogInst; // internal instance
+
+ if (!inst) {
+ this.uuid += 1;
+ id = "dp" + this.uuid;
+ this._dialogInput = $("<input type='text' id='" + id +
+ "' style='position: absolute; top: -100px; width: 0px;'/>");
+ this._dialogInput.keydown(this._doKeyDown);
+ $("body").append(this._dialogInput);
+ inst = this._dialogInst = this._newInst(this._dialogInput, false);
+ inst.settings = {};
+ $.data(this._dialogInput[0], PROP_NAME, inst);
+ }
+ extendRemove(inst.settings, settings || {});
+ date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
+ this._dialogInput.val(date);
+
+ this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
+ if (!this._pos) {
+ browserWidth = document.documentElement.clientWidth;
+ browserHeight = document.documentElement.clientHeight;
+ scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+ scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+ this._pos = // should use actual width/height below
+ [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
+ }
+
+ // move input on screen for focus, but hidden behind dialog
+ this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
+ inst.settings.onSelect = onSelect;
+ this._inDialog = true;
+ this.dpDiv.addClass(this._dialogClass);
+ this._showDatepicker(this._dialogInput[0]);
+ if ($.blockUI) {
+ $.blockUI(this.dpDiv);
+ }
+ $.data(this._dialogInput[0], PROP_NAME, inst);
+ return this;
+ },
+
+ /* Detach a datepicker from its control.
+ * @param target element - the target input field or division or span
+ */
+ _destroyDatepicker: function(target) {
+ var nodeName,
+ $target = $(target),
+ inst = $.data(target, PROP_NAME);
+
+ if (!$target.hasClass(this.markerClassName)) {
+ return;
+ }
+
+ nodeName = target.nodeName.toLowerCase();
+ $.removeData(target, PROP_NAME);
+ if (nodeName === "input") {
+ inst.append.remove();
+ inst.trigger.remove();
+ $target.removeClass(this.markerClassName).
+ unbind("focus", this._showDatepicker).
+ unbind("keydown", this._doKeyDown).
+ unbind("keypress", this._doKeyPress).
+ unbind("keyup", this._doKeyUp);
+ } else if (nodeName === "div" || nodeName === "span") {
+ $target.removeClass(this.markerClassName).empty();
+ }
+ },
+
+ /* Enable the date picker to a jQuery selection.
+ * @param target element - the target input field or division or span
+ */
+ _enableDatepicker: function(target) {
+ var nodeName, inline,
+ $target = $(target),
+ inst = $.data(target, PROP_NAME);
+
+ if (!$target.hasClass(this.markerClassName)) {
+ return;
+ }
+
+ nodeName = target.nodeName.toLowerCase();
+ if (nodeName === "input") {
+ target.disabled = false;
+ inst.trigger.filter("button").
+ each(function() { this.disabled = false; }).end().
+ filter("img").css({opacity: "1.0", cursor: ""});
+ } else if (nodeName === "div" || nodeName === "span") {
+ inline = $target.children("." + this._inlineClass);
+ inline.children().removeClass("ui-state-disabled");
+ inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
+ prop("disabled", false);
+ }
+ this._disabledInputs = $.map(this._disabledInputs,
+ function(value) { return (value === target ? null : value); }); // delete entry
+ },
+
+ /* Disable the date picker to a jQuery selection.
+ * @param target element - the target input field or division or span
+ */
+ _disableDatepicker: function(target) {
+ var nodeName, inline,
+ $target = $(target),
+ inst = $.data(target, PROP_NAME);
+
+ if (!$target.hasClass(this.markerClassName)) {
+ return;
+ }
+
+ nodeName = target.nodeName.toLowerCase();
+ if (nodeName === "input") {
+ target.disabled = true;
+ inst.trigger.filter("button").
+ each(function() { this.disabled = true; }).end().
+ filter("img").css({opacity: "0.5", cursor: "default"});
+ } else if (nodeName === "div" || nodeName === "span") {
+ inline = $target.children("." + this._inlineClass);
+ inline.children().addClass("ui-state-disabled");
+ inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
+ prop("disabled", true);
+ }
+ this._disabledInputs = $.map(this._disabledInputs,
+ function(value) { return (value === target ? null : value); }); // delete entry
+ this._disabledInputs[this._disabledInputs.length] = target;
+ },
+
+ /* Is the first field in a jQuery collection disabled as a datepicker?
+ * @param target element - the target input field or division or span
+ * @return boolean - true if disabled, false if enabled
+ */
+ _isDisabledDatepicker: function(target) {
+ if (!target) {
+ return false;
+ }
+ for (var i = 0; i < this._disabledInputs.length; i++) {
+ if (this._disabledInputs[i] === target) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+ /* Retrieve the instance data for the target control.
+ * @param target element - the target input field or division or span
+ * @return object - the associated instance data
+ * @throws error if a jQuery problem getting data
+ */
+ _getInst: function(target) {
+ try {
+ return $.data(target, PROP_NAME);
+ }
+ catch (err) {
+ throw "Missing instance data for this datepicker";
+ }
+ },
+
+ /* Update or retrieve the settings for a date picker attached to an input field or division.
+ * @param target element - the target input field or division or span
+ * @param name object - the new settings to update or
+ * string - the name of the setting to change or retrieve,
+ * when retrieving also "all" for all instance settings or
+ * "defaults" for all global defaults
+ * @param value any - the new value for the setting
+ * (omit if above is an object or to retrieve a value)
+ */
+ _optionDatepicker: function(target, name, value) {
+ var settings, date, minDate, maxDate,
+ inst = this._getInst(target);
+
+ if (arguments.length === 2 && typeof name === "string") {
+ return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
+ (inst ? (name === "all" ? $.extend({}, inst.settings) :
+ this._get(inst, name)) : null));
+ }
+
+ settings = name || {};
+ if (typeof name === "string") {
+ settings = {};
+ settings[name] = value;
+ }
+
+ if (inst) {
+ if (this._curInst === inst) {
+ this._hideDatepicker();
+ }
+
+ date = this._getDateDatepicker(target, true);
+ minDate = this._getMinMaxDate(inst, "min");
+ maxDate = this._getMinMaxDate(inst, "max");
+ extendRemove(inst.settings, settings);
+ // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided
+ if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
+ inst.settings.minDate = this._formatDate(inst, minDate);
+ }
+ if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
+ inst.settings.maxDate = this._formatDate(inst, maxDate);
+ }
+ if ( "disabled" in settings ) {
+ if ( settings.disabled ) {
+ this._disableDatepicker(target);
+ } else {
+ this._enableDatepicker(target);
+ }
+ }
+ this._attachments($(target), inst);
+ this._autoSize(inst);
+ this._setDate(inst, date);
+ this._updateAlternate(inst);
+ this._updateDatepicker(inst);
+ }
+ },
+
+ // change method deprecated
+ _changeDatepicker: function(target, name, value) {
+ this._optionDatepicker(target, name, value);
+ },
+
+ /* Redraw the date picker attached to an input field or division.
+ * @param target element - the target input field or division or span
+ */
+ _refreshDatepicker: function(target) {
+ var inst = this._getInst(target);
+ if (inst) {
+ this._updateDatepicker(inst);
+ }
+ },
+
+ /* Set the dates for a jQuery selection.
+ * @param target element - the target input field or division or span
+ * @param date Date - the new date
+ */
+ _setDateDatepicker: function(target, date) {
+ var inst = this._getInst(target);
+ if (inst) {
+ this._setDate(inst, date);
+ this._updateDatepicker(inst);
+ this._updateAlternate(inst);
+ }
+ },
+
+ /* Get the date(s) for the first entry in a jQuery selection.
+ * @param target element - the target input field or division or span
+ * @param noDefault boolean - true if no default date is to be used
+ * @return Date - the current date
+ */
+ _getDateDatepicker: function(target, noDefault) {
+ var inst = this._getInst(target);
+ if (inst && !inst.inline) {
+ this._setDateFromField(inst, noDefault);
+ }
+ return (inst ? this._getDate(inst) : null);
+ },
+
+ /* Handle keystrokes. */
+ _doKeyDown: function(event) {
+ var onSelect, dateStr, sel,
+ inst = $.datepicker._getInst(event.target),
+ handled = true,
+ isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
+
+ inst._keyEvent = true;
+ if ($.datepicker._datepickerShowing) {
+ switch (event.keyCode) {
+ case 9: $.datepicker._hideDatepicker();
+ handled = false;
+ break; // hide on tab out
+ case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
+ $.datepicker._currentClass + ")", inst.dpDiv);
+ if (sel[0]) {
+ $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
+ }
+
+ onSelect = $.datepicker._get(inst, "onSelect");
+ if (onSelect) {
+ dateStr = $.datepicker._formatDate(inst);
+
+ // trigger custom callback
+ onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
+ } else {
+ $.datepicker._hideDatepicker();
+ }
+
+ return false; // don't submit the form
+ case 27: $.datepicker._hideDatepicker();
+ break; // hide on escape
+ case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ -$.datepicker._get(inst, "stepBigMonths") :
+ -$.datepicker._get(inst, "stepMonths")), "M");
+ break; // previous month/year on page up/+ ctrl
+ case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ +$.datepicker._get(inst, "stepBigMonths") :
+ +$.datepicker._get(inst, "stepMonths")), "M");
+ break; // next month/year on page down/+ ctrl
+ case 35: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._clearDate(event.target);
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // clear on ctrl or command +end
+ case 36: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._gotoToday(event.target);
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // current on ctrl or command +home
+ case 37: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ // -1 day on ctrl or command +left
+ if (event.originalEvent.altKey) {
+ $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ -$.datepicker._get(inst, "stepBigMonths") :
+ -$.datepicker._get(inst, "stepMonths")), "M");
+ }
+ // next month/year on alt +left on Mac
+ break;
+ case 38: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, -7, "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // -1 week on ctrl or command +up
+ case 39: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ // +1 day on ctrl or command +right
+ if (event.originalEvent.altKey) {
+ $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ +$.datepicker._get(inst, "stepBigMonths") :
+ +$.datepicker._get(inst, "stepMonths")), "M");
+ }
+ // next month/year on alt +right
+ break;
+ case 40: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, +7, "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // +1 week on ctrl or command +down
+ default: handled = false;
+ }
+ } else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home
+ $.datepicker._showDatepicker(this);
+ } else {
+ handled = false;
+ }
+
+ if (handled) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ },
+
+ /* Filter entered characters - based on date format. */
+ _doKeyPress: function(event) {
+ var chars, chr,
+ inst = $.datepicker._getInst(event.target);
+
+ if ($.datepicker._get(inst, "constrainInput")) {
+ chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
+ chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
+ return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
+ }
+ },
+
+ /* Synchronise manual entry and field/alternate field. */
+ _doKeyUp: function(event) {
+ var date,
+ inst = $.datepicker._getInst(event.target);
+
+ if (inst.input.val() !== inst.lastVal) {
+ try {
+ date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
+ (inst.input ? inst.input.val() : null),
+ $.datepicker._getFormatConfig(inst));
+
+ if (date) { // only if valid
+ $.datepicker._setDateFromField(inst);
+ $.datepicker._updateAlternate(inst);
+ $.datepicker._updateDatepicker(inst);
+ }
+ }
+ catch (err) {
+ }
+ }
+ return true;
+ },
+
+ /* Pop-up the date picker for a given input field.
+ * If false returned from beforeShow event handler do not show.
+ * @param input element - the input field attached to the date picker or
+ * event - if triggered by focus
+ */
+ _showDatepicker: function(input) {
+ input = input.target || input;
+ if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger
+ input = $("input", input.parentNode)[0];
+ }
+
+ if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here
+ return;
+ }
+
+ var inst, beforeShow, beforeShowSettings, isFixed,
+ offset, showAnim, duration;
+
+ inst = $.datepicker._getInst(input);
+ if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
+ $.datepicker._curInst.dpDiv.stop(true, true);
+ if ( inst && $.datepicker._datepickerShowing ) {
+ $.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
+ }
+ }
+
+ beforeShow = $.datepicker._get(inst, "beforeShow");
+ beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
+ if(beforeShowSettings === false){
+ return;
+ }
+ extendRemove(inst.settings, beforeShowSettings);
+
+ inst.lastVal = null;
+ $.datepicker._lastInput = input;
+ $.datepicker._setDateFromField(inst);
+
+ if ($.datepicker._inDialog) { // hide cursor
+ input.value = "";
+ }
+ if (!$.datepicker._pos) { // position below input
+ $.datepicker._pos = $.datepicker._findPos(input);
+ $.datepicker._pos[1] += input.offsetHeight; // add the height
+ }
+
+ isFixed = false;
+ $(input).parents().each(function() {
+ isFixed |= $(this).css("position") === "fixed";
+ return !isFixed;
+ });
+
+ offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
+ $.datepicker._pos = null;
+ //to avoid flashes on Firefox
+ inst.dpDiv.empty();
+ // determine sizing offscreen
+ inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
+ $.datepicker._updateDatepicker(inst);
+ // fix width for dynamic number of date pickers
+ // and adjust position before showing
+ offset = $.datepicker._checkOffset(inst, offset, isFixed);
+ inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
+ "static" : (isFixed ? "fixed" : "absolute")), display: "none",
+ left: offset.left + "px", top: offset.top + "px"});
+
+ if (!inst.inline) {
+ showAnim = $.datepicker._get(inst, "showAnim");
+ duration = $.datepicker._get(inst, "duration");
+ inst.dpDiv.zIndex($(input).zIndex()+1);
+ $.datepicker._datepickerShowing = true;
+
+ if ( $.effects && $.effects.effect[ showAnim ] ) {
+ inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
+ } else {
+ inst.dpDiv[showAnim || "show"](showAnim ? duration : null);
+ }
+
+ if ( $.datepicker._shouldFocusInput( inst ) ) {
+ inst.input.focus();
+ }
+
+ $.datepicker._curInst = inst;
+ }
+ },
+
+ /* Generate the date picker content. */
+ _updateDatepicker: function(inst) {
+ this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
+ instActive = inst; // for delegate hover events
+ inst.dpDiv.empty().append(this._generateHTML(inst));
+ this._attachHandlers(inst);
+ inst.dpDiv.find("." + this._dayOverClass + " a").mouseover();
+
+ var origyearshtml,
+ numMonths = this._getNumberOfMonths(inst),
+ cols = numMonths[1],
+ width = 17;
+
+ inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
+ if (cols > 1) {
+ inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
+ }
+ inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
+ "Class"]("ui-datepicker-multi");
+ inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
+ "Class"]("ui-datepicker-rtl");
+
+ if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {
+ inst.input.focus();
+ }
+
+ // deffered render of the years select (to avoid flashes on Firefox)
+ if( inst.yearshtml ){
+ origyearshtml = inst.yearshtml;
+ setTimeout(function(){
+ //assure that inst.yearshtml didn't change.
+ if( origyearshtml === inst.yearshtml && inst.yearshtml ){
+ inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
+ }
+ origyearshtml = inst.yearshtml = null;
+ }, 0);
+ }
+ },
+
+ // #6694 - don't focus the input if it's already focused
+ // this breaks the change event in IE
+ // Support: IE and jQuery <1.9
+ _shouldFocusInput: function( inst ) {
+ return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
+ },
+
+ /* Check positioning to remain on screen. */
+ _checkOffset: function(inst, offset, isFixed) {
+ var dpWidth = inst.dpDiv.outerWidth(),
+ dpHeight = inst.dpDiv.outerHeight(),
+ inputWidth = inst.input ? inst.input.outerWidth() : 0,
+ inputHeight = inst.input ? inst.input.outerHeight() : 0,
+ viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
+ viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
+
+ offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
+ offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
+ offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
+
+ // now check if datepicker is showing outside window viewport - move to a better place if so.
+ offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
+ Math.abs(offset.left + dpWidth - viewWidth) : 0);
+ offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
+ Math.abs(dpHeight + inputHeight) : 0);
+
+ return offset;
+ },
+
+ /* Find an object's position on the screen. */
+ _findPos: function(obj) {
+ var position,
+ inst = this._getInst(obj),
+ isRTL = this._get(inst, "isRTL");
+
+ while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
+ obj = obj[isRTL ? "previousSibling" : "nextSibling"];
+ }
+
+ position = $(obj).offset();
+ return [position.left, position.top];
+ },
+
+ /* Hide the date picker from view.
+ * @param input element - the input field attached to the date picker
+ */
+ _hideDatepicker: function(input) {
+ var showAnim, duration, postProcess, onClose,
+ inst = this._curInst;
+
+ if (!inst || (input && inst !== $.data(input, PROP_NAME))) {
+ return;
+ }
+
+ if (this._datepickerShowing) {
+ showAnim = this._get(inst, "showAnim");
+ duration = this._get(inst, "duration");
+ postProcess = function() {
+ $.datepicker._tidyDialog(inst);
+ };
+
+ // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
+ if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
+ inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
+ } else {
+ inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
+ (showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess);
+ }
+
+ if (!showAnim) {
+ postProcess();
+ }
+ this._datepickerShowing = false;
+
+ onClose = this._get(inst, "onClose");
+ if (onClose) {
+ onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
+ }
+
+ this._lastInput = null;
+ if (this._inDialog) {
+ this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
+ if ($.blockUI) {
+ $.unblockUI();
+ $("body").append(this.dpDiv);
+ }
+ }
+ this._inDialog = false;
+ }
+ },
+
+ /* Tidy up after a dialog display. */
+ _tidyDialog: function(inst) {
+ inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
+ },
+
+ /* Close date picker if clicked elsewhere. */
+ _checkExternalClick: function(event) {
+ if (!$.datepicker._curInst) {
+ return;
+ }
+
+ var $target = $(event.target),
+ inst = $.datepicker._getInst($target[0]);
+
+ if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
+ $target.parents("#" + $.datepicker._mainDivId).length === 0 &&
+ !$target.hasClass($.datepicker.markerClassName) &&
+ !$target.closest("." + $.datepicker._triggerClass).length &&
+ $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
+ ( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
+ $.datepicker._hideDatepicker();
+ }
+ },
+
+ /* Adjust one of the date sub-fields. */
+ _adjustDate: function(id, offset, period) {
+ var target = $(id),
+ inst = this._getInst(target[0]);
+
+ if (this._isDisabledDatepicker(target[0])) {
+ return;
+ }
+ this._adjustInstDate(inst, offset +
+ (period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
+ period);
+ this._updateDatepicker(inst);
+ },
+
+ /* Action for current link. */
+ _gotoToday: function(id) {
+ var date,
+ target = $(id),
+ inst = this._getInst(target[0]);
+
+ if (this._get(inst, "gotoCurrent") && inst.currentDay) {
+ inst.selectedDay = inst.currentDay;
+ inst.drawMonth = inst.selectedMonth = inst.currentMonth;
+ inst.drawYear = inst.selectedYear = inst.currentYear;
+ } else {
+ date = new Date();
+ inst.selectedDay = date.getDate();
+ inst.drawMonth = inst.selectedMonth = date.getMonth();
+ inst.drawYear = inst.selectedYear = date.getFullYear();
+ }
+ this._notifyChange(inst);
+ this._adjustDate(target);
+ },
+
+ /* Action for selecting a new month/year. */
+ _selectMonthYear: function(id, select, period) {
+ var target = $(id),
+ inst = this._getInst(target[0]);
+
+ inst["selected" + (period === "M" ? "Month" : "Year")] =
+ inst["draw" + (period === "M" ? "Month" : "Year")] =
+ parseInt(select.options[select.selectedIndex].value,10);
+
+ this._notifyChange(inst);
+ this._adjustDate(target);
+ },
+
+ /* Action for selecting a day. */
+ _selectDay: function(id, month, year, td) {
+ var inst,
+ target = $(id);
+
+ if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
+ return;
+ }
+
+ inst = this._getInst(target[0]);
+ inst.selectedDay = inst.currentDay = $("a", td).html();
+ inst.selectedMonth = inst.currentMonth = month;
+ inst.selectedYear = inst.currentYear = year;
+ this._selectDate(id, this._formatDate(inst,
+ inst.currentDay, inst.currentMonth, inst.currentYear));
+ },
+
+ /* Erase the input field and hide the date picker. */
+ _clearDate: function(id) {
+ var target = $(id);
+ this._selectDate(target, "");
+ },
+
+ /* Update the input field with the selected date. */
+ _selectDate: function(id, dateStr) {
+ var onSelect,
+ target = $(id),
+ inst = this._getInst(target[0]);
+
+ dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
+ if (inst.input) {
+ inst.input.val(dateStr);
+ }
+ this._updateAlternate(inst);
+
+ onSelect = this._get(inst, "onSelect");
+ if (onSelect) {
+ onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback
+ } else if (inst.input) {
+ inst.input.trigger("change"); // fire the change event
+ }
+
+ if (inst.inline){
+ this._updateDatepicker(inst);
+ } else {
+ this._hideDatepicker();
+ this._lastInput = inst.input[0];
+ if (typeof(inst.input[0]) !== "object") {
+ inst.input.focus(); // restore focus
+ }
+ this._lastInput = null;
+ }
+ },
+
+ /* Update any alternate field to synchronise with the main field. */
+ _updateAlternate: function(inst) {
+ var altFormat, date, dateStr,
+ altField = this._get(inst, "altField");
+
+ if (altField) { // update alternate field too
+ altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
+ date = this._getDate(inst);
+ dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
+ $(altField).each(function() { $(this).val(dateStr); });
+ }
+ },
+
+ /* Set as beforeShowDay function to prevent selection of weekends.
+ * @param date Date - the date to customise
+ * @return [boolean, string] - is this date selectable?, what is its CSS class?
+ */
+ noWeekends: function(date) {
+ var day = date.getDay();
+ return [(day > 0 && day < 6), ""];
+ },
+
+ /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
+ * @param date Date - the date to get the week for
+ * @return number - the number of the week within the year that contains this date
+ */
+ iso8601Week: function(date) {
+ var time,
+ checkDate = new Date(date.getTime());
+
+ // Find Thursday of this week starting on Monday
+ checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
+
+ time = checkDate.getTime();
+ checkDate.setMonth(0); // Compare with Jan 1
+ checkDate.setDate(1);
+ return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
+ },
+
+ /* Parse a string value into a date object.
+ * See formatDate below for the possible formats.
+ *
+ * @param format string - the expected format of the date
+ * @param value string - the date in the above format
+ * @param settings Object - attributes include:
+ * shortYearCutoff number - the cutoff year for determining the century (optional)
+ * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
+ * dayNames string[7] - names of the days from Sunday (optional)
+ * monthNamesShort string[12] - abbreviated names of the months (optional)
+ * monthNames string[12] - names of the months (optional)
+ * @return Date - the extracted date value or null if value is blank
+ */
+ parseDate: function (format, value, settings) {
+ if (format == null || value == null) {
+ throw "Invalid arguments";
+ }
+
+ value = (typeof value === "object" ? value.toString() : value + "");
+ if (value === "") {
+ return null;
+ }
+
+ var iFormat, dim, extra,
+ iValue = 0,
+ shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
+ shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp :
+ new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
+ dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
+ dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
+ monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
+ monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
+ year = -1,
+ month = -1,
+ day = -1,
+ doy = -1,
+ literal = false,
+ date,
+ // Check whether a format character is doubled
+ lookAhead = function(match) {
+ var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
+ if (matches) {
+ iFormat++;
+ }
+ return matches;
+ },
+ // Extract a number from the string value
+ getNumber = function(match) {
+ var isDoubled = lookAhead(match),
+ size = (match === "@" ? 14 : (match === "!" ? 20 :
+ (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
+ digits = new RegExp("^\\d{1," + size + "}"),
+ num = value.substring(iValue).match(digits);
+ if (!num) {
+ throw "Missing number at position " + iValue;
+ }
+ iValue += num[0].length;
+ return parseInt(num[0], 10);
+ },
+ // Extract a name from the string value and convert to an index
+ getName = function(match, shortNames, longNames) {
+ var index = -1,
+ names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
+ return [ [k, v] ];
+ }).sort(function (a, b) {
+ return -(a[1].length - b[1].length);
+ });
+
+ $.each(names, function (i, pair) {
+ var name = pair[1];
+ if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
+ index = pair[0];
+ iValue += name.length;
+ return false;
+ }
+ });
+ if (index !== -1) {
+ return index + 1;
+ } else {
+ throw "Unknown name at position " + iValue;
+ }
+ },
+ // Confirm that a literal character matches the string value
+ checkLiteral = function() {
+ if (value.charAt(iValue) !== format.charAt(iFormat)) {
+ throw "Unexpected literal at position " + iValue;
+ }
+ iValue++;
+ };
+
+ for (iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
+ literal = false;
+ } else {
+ checkLiteral();
+ }
+ } else {
+ switch (format.charAt(iFormat)) {
+ case "d":
+ day = getNumber("d");
+ break;
+ case "D":
+ getName("D", dayNamesShort, dayNames);
+ break;
+ case "o":
+ doy = getNumber("o");
+ break;
+ case "m":
+ month = getNumber("m");
+ break;
+ case "M":
+ month = getName("M", monthNamesShort, monthNames);
+ break;
+ case "y":
+ year = getNumber("y");
+ break;
+ case "@":
+ date = new Date(getNumber("@"));
+ year = date.getFullYear();
+ month = date.getMonth() + 1;
+ day = date.getDate();
+ break;
+ case "!":
+ date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
+ year = date.getFullYear();
+ month = date.getMonth() + 1;
+ day = date.getDate();
+ break;
+ case "'":
+ if (lookAhead("'")){
+ checkLiteral();
+ } else {
+ literal = true;
+ }
+ break;
+ default:
+ checkLiteral();
+ }
+ }
+ }
+
+ if (iValue < value.length){
+ extra = value.substr(iValue);
+ if (!/^\s+/.test(extra)) {
+ throw "Extra/unparsed characters found in date: " + extra;
+ }
+ }
+
+ if (year === -1) {
+ year = new Date().getFullYear();
+ } else if (year < 100) {
+ year += new Date().getFullYear() - new Date().getFullYear() % 100 +
+ (year <= shortYearCutoff ? 0 : -100);
+ }
+
+ if (doy > -1) {
+ month = 1;
+ day = doy;
+ do {
+ dim = this._getDaysInMonth(year, month - 1);
+ if (day <= dim) {
+ break;
+ }
+ month++;
+ day -= dim;
+ } while (true);
+ }
+
+ date = this._daylightSavingAdjust(new Date(year, month - 1, day));
+ if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
+ throw "Invalid date"; // E.g. 31/02/00
+ }
+ return date;
+ },
+
+ /* Standard date formats. */
+ ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)
+ COOKIE: "D, dd M yy",
+ ISO_8601: "yy-mm-dd",
+ RFC_822: "D, d M y",
+ RFC_850: "DD, dd-M-y",
+ RFC_1036: "D, d M y",
+ RFC_1123: "D, d M yy",
+ RFC_2822: "D, d M yy",
+ RSS: "D, d M y", // RFC 822
+ TICKS: "!",
+ TIMESTAMP: "@",
+ W3C: "yy-mm-dd", // ISO 8601
+
+ _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
+ Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
+
+ /* Format a date object into a string value.
+ * The format can be combinations of the following:
+ * d - day of month (no leading zero)
+ * dd - day of month (two digit)
+ * o - day of year (no leading zeros)
+ * oo - day of year (three digit)
+ * D - day name short
+ * DD - day name long
+ * m - month of year (no leading zero)
+ * mm - month of year (two digit)
+ * M - month name short
+ * MM - month name long
+ * y - year (two digit)
+ * yy - year (four digit)
+ * @ - Unix timestamp (ms since 01/01/1970)
+ * ! - Windows ticks (100ns since 01/01/0001)
+ * "..." - literal text
+ * '' - single quote
+ *
+ * @param format string - the desired format of the date
+ * @param date Date - the date value to format
+ * @param settings Object - attributes include:
+ * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
+ * dayNames string[7] - names of the days from Sunday (optional)
+ * monthNamesShort string[12] - abbreviated names of the months (optional)
+ * monthNames string[12] - names of the months (optional)
+ * @return string - the date in the above format
+ */
+ formatDate: function (format, date, settings) {
+ if (!date) {
+ return "";
+ }
+
+ var iFormat,
+ dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
+ dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
+ monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
+ monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
+ // Check whether a format character is doubled
+ lookAhead = function(match) {
+ var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
+ if (matches) {
+ iFormat++;
+ }
+ return matches;
+ },
+ // Format a number, with leading zero if necessary
+ formatNumber = function(match, value, len) {
+ var num = "" + value;
+ if (lookAhead(match)) {
+ while (num.length < len) {
+ num = "0" + num;
+ }
+ }
+ return num;
+ },
+ // Format a name, short or long as requested
+ formatName = function(match, value, shortNames, longNames) {
+ return (lookAhead(match) ? longNames[value] : shortNames[value]);
+ },
+ output = "",
+ literal = false;
+
+ if (date) {
+ for (iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
+ literal = false;
+ } else {
+ output += format.charAt(iFormat);
+ }
+ } else {
+ switch (format.charAt(iFormat)) {
+ case "d":
+ output += formatNumber("d", date.getDate(), 2);
+ break;
+ case "D":
+ output += formatName("D", date.getDay(), dayNamesShort, dayNames);
+ break;
+ case "o":
+ output += formatNumber("o",
+ Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
+ break;
+ case "m":
+ output += formatNumber("m", date.getMonth() + 1, 2);
+ break;
+ case "M":
+ output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
+ break;
+ case "y":
+ output += (lookAhead("y") ? date.getFullYear() :
+ (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
+ break;
+ case "@":
+ output += date.getTime();
+ break;
+ case "!":
+ output += date.getTime() * 10000 + this._ticksTo1970;
+ break;
+ case "'":
+ if (lookAhead("'")) {
+ output += "'";
+ } else {
+ literal = true;
+ }
+ break;
+ default:
+ output += format.charAt(iFormat);
+ }
+ }
+ }
+ }
+ return output;
+ },
+
+ /* Extract all possible characters from the date format. */
+ _possibleChars: function (format) {
+ var iFormat,
+ chars = "",
+ literal = false,
+ // Check whether a format character is doubled
+ lookAhead = function(match) {
+ var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
+ if (matches) {
+ iFormat++;
+ }
+ return matches;
+ };
+
+ for (iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
+ literal = false;
+ } else {
+ chars += format.charAt(iFormat);
+ }
+ } else {
+ switch (format.charAt(iFormat)) {
+ case "d": case "m": case "y": case "@":
+ chars += "0123456789";
+ break;
+ case "D": case "M":
+ return null; // Accept anything
+ case "'":
+ if (lookAhead("'")) {
+ chars += "'";
+ } else {
+ literal = true;
+ }
+ break;
+ default:
+ chars += format.charAt(iFormat);
+ }
+ }
+ }
+ return chars;
+ },
+
+ /* Get a setting value, defaulting if necessary. */
+ _get: function(inst, name) {
+ return inst.settings[name] !== undefined ?
+ inst.settings[name] : this._defaults[name];
+ },
+
+ /* Parse existing date and initialise date picker. */
+ _setDateFromField: function(inst, noDefault) {
+ if (inst.input.val() === inst.lastVal) {
+ return;
+ }
+
+ var dateFormat = this._get(inst, "dateFormat"),
+ dates = inst.lastVal = inst.input ? inst.input.val() : null,
+ defaultDate = this._getDefaultDate(inst),
+ date = defaultDate,
+ settings = this._getFormatConfig(inst);
+
+ try {
+ date = this.parseDate(dateFormat, dates, settings) || defaultDate;
+ } catch (event) {
+ dates = (noDefault ? "" : dates);
+ }
+ inst.selectedDay = date.getDate();
+ inst.drawMonth = inst.selectedMonth = date.getMonth();
+ inst.drawYear = inst.selectedYear = date.getFullYear();
+ inst.currentDay = (dates ? date.getDate() : 0);
+ inst.currentMonth = (dates ? date.getMonth() : 0);
+ inst.currentYear = (dates ? date.getFullYear() : 0);
+ this._adjustInstDate(inst);
+ },
+
+ /* Retrieve the default date shown on opening. */
+ _getDefaultDate: function(inst) {
+ return this._restrictMinMax(inst,
+ this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
+ },
+
+ /* A date may be specified as an exact value or a relative one. */
+ _determineDate: function(inst, date, defaultDate) {
+ var offsetNumeric = function(offset) {
+ var date = new Date();
+ date.setDate(date.getDate() + offset);
+ return date;
+ },
+ offsetString = function(offset) {
+ try {
+ return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
+ offset, $.datepicker._getFormatConfig(inst));
+ }
+ catch (e) {
+ // Ignore
+ }
+
+ var date = (offset.toLowerCase().match(/^c/) ?
+ $.datepicker._getDate(inst) : null) || new Date(),
+ year = date.getFullYear(),
+ month = date.getMonth(),
+ day = date.getDate(),
+ pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
+ matches = pattern.exec(offset);
+
+ while (matches) {
+ switch (matches[2] || "d") {
+ case "d" : case "D" :
+ day += parseInt(matches[1],10); break;
+ case "w" : case "W" :
+ day += parseInt(matches[1],10) * 7; break;
+ case "m" : case "M" :
+ month += parseInt(matches[1],10);
+ day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
+ break;
+ case "y": case "Y" :
+ year += parseInt(matches[1],10);
+ day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
+ break;
+ }
+ matches = pattern.exec(offset);
+ }
+ return new Date(year, month, day);
+ },
+ newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
+ (typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
+
+ newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
+ if (newDate) {
+ newDate.setHours(0);
+ newDate.setMinutes(0);
+ newDate.setSeconds(0);
+ newDate.setMilliseconds(0);
+ }
+ return this._daylightSavingAdjust(newDate);
+ },
+
+ /* Handle switch to/from daylight saving.
+ * Hours may be non-zero on daylight saving cut-over:
+ * > 12 when midnight changeover, but then cannot generate
+ * midnight datetime, so jump to 1AM, otherwise reset.
+ * @param date (Date) the date to check
+ * @return (Date) the corrected date
+ */
+ _daylightSavingAdjust: function(date) {
+ if (!date) {
+ return null;
+ }
+ date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
+ return date;
+ },
+
+ /* Set the date(s) directly. */
+ _setDate: function(inst, date, noChange) {
+ var clear = !date,
+ origMonth = inst.selectedMonth,
+ origYear = inst.selectedYear,
+ newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
+
+ inst.selectedDay = inst.currentDay = newDate.getDate();
+ inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
+ inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
+ if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
+ this._notifyChange(inst);
+ }
+ this._adjustInstDate(inst);
+ if (inst.input) {
+ inst.input.val(clear ? "" : this._formatDate(inst));
+ }
+ },
+
+ /* Retrieve the date(s) directly. */
+ _getDate: function(inst) {
+ var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
+ this._daylightSavingAdjust(new Date(
+ inst.currentYear, inst.currentMonth, inst.currentDay)));
+ return startDate;
+ },
+
+ /* Attach the onxxx handlers. These are declared statically so
+ * they work with static code transformers like Caja.
+ */
+ _attachHandlers: function(inst) {
+ var stepMonths = this._get(inst, "stepMonths"),
+ id = "#" + inst.id.replace( /\\\\/g, "\\" );
+ inst.dpDiv.find("[data-handler]").map(function () {
+ var handler = {
+ prev: function () {
+ $.datepicker._adjustDate(id, -stepMonths, "M");
+ },
+ next: function () {
+ $.datepicker._adjustDate(id, +stepMonths, "M");
+ },
+ hide: function () {
+ $.datepicker._hideDatepicker();
+ },
+ today: function () {
+ $.datepicker._gotoToday(id);
+ },
+ selectDay: function () {
+ $.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
+ return false;
+ },
+ selectMonth: function () {
+ $.datepicker._selectMonthYear(id, this, "M");
+ return false;
+ },
+ selectYear: function () {
+ $.datepicker._selectMonthYear(id, this, "Y");
+ return false;
+ }
+ };
+ $(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
+ });
+ },
+
+ /* Generate the HTML for the current state of the date picker. */
+ _generateHTML: function(inst) {
+ var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
+ controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
+ monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
+ selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
+ cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
+ printDate, dRow, tbody, daySettings, otherMonth, unselectable,
+ tempDate = new Date(),
+ today = this._daylightSavingAdjust(
+ new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
+ isRTL = this._get(inst, "isRTL"),
+ showButtonPanel = this._get(inst, "showButtonPanel"),
+ hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
+ navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
+ numMonths = this._getNumberOfMonths(inst),
+ showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
+ stepMonths = this._get(inst, "stepMonths"),
+ isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
+ currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
+ new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
+ minDate = this._getMinMaxDate(inst, "min"),
+ maxDate = this._getMinMaxDate(inst, "max"),
+ drawMonth = inst.drawMonth - showCurrentAtPos,
+ drawYear = inst.drawYear;
+
+ if (drawMonth < 0) {
+ drawMonth += 12;
+ drawYear--;
+ }
+ if (maxDate) {
+ maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
+ maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
+ maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
+ while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
+ drawMonth--;
+ if (drawMonth < 0) {
+ drawMonth = 11;
+ drawYear--;
+ }
+ }
+ }
+ inst.drawMonth = drawMonth;
+ inst.drawYear = drawYear;
+
+ prevText = this._get(inst, "prevText");
+ prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
+ this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
+ this._getFormatConfig(inst)));
+
+ prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
+ "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
+ " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
+ (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
+
+ nextText = this._get(inst, "nextText");
+ nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
+ this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
+ this._getFormatConfig(inst)));
+
+ next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
+ "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
+ " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
+ (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
+
+ currentText = this._get(inst, "currentText");
+ gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
+ currentText = (!navigationAsDateFormat ? currentText :
+ this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
+
+ controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
+ this._get(inst, "closeText") + "</button>" : "");
+
+ buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
+ (this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
+ ">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
+
+ firstDay = parseInt(this._get(inst, "firstDay"),10);
+ firstDay = (isNaN(firstDay) ? 0 : firstDay);
+
+ showWeek = this._get(inst, "showWeek");
+ dayNames = this._get(inst, "dayNames");
+ dayNamesMin = this._get(inst, "dayNamesMin");
+ monthNames = this._get(inst, "monthNames");
+ monthNamesShort = this._get(inst, "monthNamesShort");
+ beforeShowDay = this._get(inst, "beforeShowDay");
+ showOtherMonths = this._get(inst, "showOtherMonths");
+ selectOtherMonths = this._get(inst, "selectOtherMonths");
+ defaultDate = this._getDefaultDate(inst);
+ html = "";
+ dow;
+ for (row = 0; row < numMonths[0]; row++) {
+ group = "";
+ this.maxRows = 4;
+ for (col = 0; col < numMonths[1]; col++) {
+ selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
+ cornerClass = " ui-corner-all";
+ calender = "";
+ if (isMultiMonth) {
+ calender += "<div class='ui-datepicker-group";
+ if (numMonths[1] > 1) {
+ switch (col) {
+ case 0: calender += " ui-datepicker-group-first";
+ cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
+ case numMonths[1]-1: calender += " ui-datepicker-group-last";
+ cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
+ default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
+ }
+ }
+ calender += "'>";
+ }
+ calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
+ (/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
+ (/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
+ this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
+ row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
+ "</div><table class='ui-datepicker-calendar'><thead>" +
+ "<tr>";
+ thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
+ for (dow = 0; dow < 7; dow++) { // days of the week
+ day = (dow + firstDay) % 7;
+ thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
+ "<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
+ }
+ calender += thead + "</tr></thead><tbody>";
+ daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
+ if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
+ inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
+ }
+ leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
+ curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
+ numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
+ this.maxRows = numRows;
+ printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
+ for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
+ calender += "<tr>";
+ tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
+ this._get(inst, "calculateWeek")(printDate) + "</td>");
+ for (dow = 0; dow < 7; dow++) { // create date picker days
+ daySettings = (beforeShowDay ?
+ beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
+ otherMonth = (printDate.getMonth() !== drawMonth);
+ unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
+ (minDate && printDate < minDate) || (maxDate && printDate > maxDate);
+ tbody += "<td class='" +
+ ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
+ (otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
+ ((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
+ (defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
+ // or defaultDate is current printedDate and defaultDate is selectedDate
+ " " + this._dayOverClass : "") + // highlight selected day
+ (unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") + // highlight unselectable days
+ (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
+ (printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
+ (printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
+ ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "'") + "'" : "") + // cell title
+ (unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
+ (otherMonth && !showOtherMonths ? " " : // display for other months
+ (unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
+ (printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
+ (printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
+ (otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
+ "' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
+ printDate.setDate(printDate.getDate() + 1);
+ printDate = this._daylightSavingAdjust(printDate);
+ }
+ calender += tbody + "</tr>";
+ }
+ drawMonth++;
+ if (drawMonth > 11) {
+ drawMonth = 0;
+ drawYear++;
+ }
+ calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
+ ((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
+ group += calender;
+ }
+ html += group;
+ }
+ html += buttonPanel;
+ inst._keyEvent = false;
+ return html;
+ },
+
+ /* Generate the month and year header. */
+ _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
+ secondary, monthNames, monthNamesShort) {
+
+ var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
+ changeMonth = this._get(inst, "changeMonth"),
+ changeYear = this._get(inst, "changeYear"),
+ showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
+ html = "<div class='ui-datepicker-title'>",
+ monthHtml = "";
+
+ // month selection
+ if (secondary || !changeMonth) {
+ monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
+ } else {
+ inMinYear = (minDate && minDate.getFullYear() === drawYear);
+ inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
+ monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
+ for ( month = 0; month < 12; month++) {
+ if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
+ monthHtml += "<option value='" + month + "'" +
+ (month === drawMonth ? " selected='selected'" : "") +
+ ">" + monthNamesShort[month] + "</option>";
+ }
+ }
+ monthHtml += "</select>";
+ }
+
+ if (!showMonthAfterYear) {
+ html += monthHtml + (secondary || !(changeMonth && changeYear) ? " " : "");
+ }
+
+ // year selection
+ if ( !inst.yearshtml ) {
+ inst.yearshtml = "";
+ if (secondary || !changeYear) {
+ html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
+ } else {
+ // determine range of years to display
+ years = this._get(inst, "yearRange").split(":");
+ thisYear = new Date().getFullYear();
+ determineYear = function(value) {
+ var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
+ (value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
+ parseInt(value, 10)));
+ return (isNaN(year) ? thisYear : year);
+ };
+ year = determineYear(years[0]);
+ endYear = Math.max(year, determineYear(years[1] || ""));
+ year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
+ endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
+ inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
+ for (; year <= endYear; year++) {
+ inst.yearshtml += "<option value='" + year + "'" +
+ (year === drawYear ? " selected='selected'" : "") +
+ ">" + year + "</option>";
+ }
+ inst.yearshtml += "</select>";
+
+ html += inst.yearshtml;
+ inst.yearshtml = null;
+ }
+ }
+
+ html += this._get(inst, "yearSuffix");
+ if (showMonthAfterYear) {
+ html += (secondary || !(changeMonth && changeYear) ? " " : "") + monthHtml;
+ }
+ html += "</div>"; // Close datepicker_header
+ return html;
+ },
+
+ /* Adjust one of the date sub-fields. */
+ _adjustInstDate: function(inst, offset, period) {
+ var year = inst.drawYear + (period === "Y" ? offset : 0),
+ month = inst.drawMonth + (period === "M" ? offset : 0),
+ day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
+ date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
+
+ inst.selectedDay = date.getDate();
+ inst.drawMonth = inst.selectedMonth = date.getMonth();
+ inst.drawYear = inst.selectedYear = date.getFullYear();
+ if (period === "M" || period === "Y") {
+ this._notifyChange(inst);
+ }
+ },
+
+ /* Ensure a date is within any min/max bounds. */
+ _restrictMinMax: function(inst, date) {
+ var minDate = this._getMinMaxDate(inst, "min"),
+ maxDate = this._getMinMaxDate(inst, "max"),
+ newDate = (minDate && date < minDate ? minDate : date);
+ return (maxDate && newDate > maxDate ? maxDate : newDate);
+ },
+
+ /* Notify change of month/year. */
+ _notifyChange: function(inst) {
+ var onChange = this._get(inst, "onChangeMonthYear");
+ if (onChange) {
+ onChange.apply((inst.input ? inst.input[0] : null),
+ [inst.selectedYear, inst.selectedMonth + 1, inst]);
+ }
+ },
+
+ /* Determine the number of months to show. */
+ _getNumberOfMonths: function(inst) {
+ var numMonths = this._get(inst, "numberOfMonths");
+ return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
+ },
+
+ /* Determine the current maximum date - ensure no time components are set. */
+ _getMinMaxDate: function(inst, minMax) {
+ return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
+ },
+
+ /* Find the number of days in a given month. */
+ _getDaysInMonth: function(year, month) {
+ return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
+ },
+
+ /* Find the day of the week of the first of a month. */
+ _getFirstDayOfMonth: function(year, month) {
+ return new Date(year, month, 1).getDay();
+ },
+
+ /* Determines if we should allow a "next/prev" month display change. */
+ _canAdjustMonth: function(inst, offset, curYear, curMonth) {
+ var numMonths = this._getNumberOfMonths(inst),
+ date = this._daylightSavingAdjust(new Date(curYear,
+ curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
+
+ if (offset < 0) {
+ date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
+ }
+ return this._isInRange(inst, date);
+ },
+
+ /* Is the given date in the accepted range? */
+ _isInRange: function(inst, date) {
+ var yearSplit, currentYear,
+ minDate = this._getMinMaxDate(inst, "min"),
+ maxDate = this._getMinMaxDate(inst, "max"),
+ minYear = null,
+ maxYear = null,
+ years = this._get(inst, "yearRange");
+ if (years){
+ yearSplit = years.split(":");
+ currentYear = new Date().getFullYear();
+ minYear = parseInt(yearSplit[0], 10);
+ maxYear = parseInt(yearSplit[1], 10);
+ if ( yearSplit[0].match(/[+\-].*/) ) {
+ minYear += currentYear;
+ }
+ if ( yearSplit[1].match(/[+\-].*/) ) {
+ maxYear += currentYear;
+ }
+ }
+
+ return ((!minDate || date.getTime() >= minDate.getTime()) &&
+ (!maxDate || date.getTime() <= maxDate.getTime()) &&
+ (!minYear || date.getFullYear() >= minYear) &&
+ (!maxYear || date.getFullYear() <= maxYear));
+ },
+
+ /* Provide the configuration settings for formatting/parsing. */
+ _getFormatConfig: function(inst) {
+ var shortYearCutoff = this._get(inst, "shortYearCutoff");
+ shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
+ new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
+ return {shortYearCutoff: shortYearCutoff,
+ dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
+ monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
+ },
+
+ /* Format the given date for display. */
+ _formatDate: function(inst, day, month, year) {
+ if (!day) {
+ inst.currentDay = inst.selectedDay;
+ inst.currentMonth = inst.selectedMonth;
+ inst.currentYear = inst.selectedYear;
+ }
+ var date = (day ? (typeof day === "object" ? day :
+ this._daylightSavingAdjust(new Date(year, month, day))) :
+ this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
+ return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
+ }
+});
+
+/*
+ * Bind hover events for datepicker elements.
+ * Done via delegate so the binding only occurs once in the lifetime of the parent div.
+ * Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
+ */
+function bindHover(dpDiv) {
+ var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
+ return dpDiv.delegate(selector, "mouseout", function() {
+ $(this).removeClass("ui-state-hover");
+ if (this.className.indexOf("ui-datepicker-prev") !== -1) {
+ $(this).removeClass("ui-datepicker-prev-hover");
+ }
+ if (this.className.indexOf("ui-datepicker-next") !== -1) {
+ $(this).removeClass("ui-datepicker-next-hover");
+ }
+ })
+ .delegate(selector, "mouseover", function(){
+ if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {
+ $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
+ $(this).addClass("ui-state-hover");
+ if (this.className.indexOf("ui-datepicker-prev") !== -1) {
+ $(this).addClass("ui-datepicker-prev-hover");
+ }
+ if (this.className.indexOf("ui-datepicker-next") !== -1) {
+ $(this).addClass("ui-datepicker-next-hover");
+ }
+ }
+ });
+}
+
+/* jQuery extend now ignores nulls! */
+function extendRemove(target, props) {
+ $.extend(target, props);
+ for (var name in props) {
+ if (props[name] == null) {
+ target[name] = props[name];
+ }
+ }
+ return target;
+}
+
+/* Invoke the datepicker functionality.
+ @param options string - a command, optionally followed by additional parameters or
+ Object - settings for attaching new datepicker functionality
+ @return jQuery object */
+$.fn.datepicker = function(options){
+
+ /* Verify an empty collection wasn't passed - Fixes #6976 */
+ if ( !this.length ) {
+ return this;
+ }
+
+ /* Initialise the date picker. */
+ if (!$.datepicker.initialized) {
+ $(document).mousedown($.datepicker._checkExternalClick);
+ $.datepicker.initialized = true;
+ }
+
+ /* Append datepicker main container to body if not exist. */
+ if ($("#"+$.datepicker._mainDivId).length === 0) {
+ $("body").append($.datepicker.dpDiv);
+ }
+
+ var otherArgs = Array.prototype.slice.call(arguments, 1);
+ if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
+ return $.datepicker["_" + options + "Datepicker"].
+ apply($.datepicker, [this[0]].concat(otherArgs));
+ }
+ if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
+ return $.datepicker["_" + options + "Datepicker"].
+ apply($.datepicker, [this[0]].concat(otherArgs));
+ }
+ return this.each(function() {
+ typeof options === "string" ?
+ $.datepicker["_" + options + "Datepicker"].
+ apply($.datepicker, [this].concat(otherArgs)) :
+ $.datepicker._attachDatepicker(this, options);
+ });
+};
+
+$.datepicker = new Datepicker(); // singleton instance
+$.datepicker.initialized = false;
+$.datepicker.uuid = new Date().getTime();
+$.datepicker.version = "1.10.3";
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+var sizeRelatedOptions = {
+ buttons: true,
+ height: true,
+ maxHeight: true,
+ maxWidth: true,
+ minHeight: true,
+ minWidth: true,
+ width: true
+ },
+ resizableRelatedOptions = {
+ maxHeight: true,
+ maxWidth: true,
+ minHeight: true,
+ minWidth: true
+ };
+
+$.widget( "ui.dialog", {
+ version: "1.10.3",
+ options: {
+ appendTo: "body",
+ autoOpen: true,
+ buttons: [],
+ closeOnEscape: true,
+ closeText: "close",
+ dialogClass: "",
+ draggable: true,
+ hide: null,
+ height: "auto",
+ maxHeight: null,
+ maxWidth: null,
+ minHeight: 150,
+ minWidth: 150,
+ modal: false,
+ position: {
+ my: "center",
+ at: "center",
+ of: window,
+ collision: "fit",
+ // Ensure the titlebar is always visible
+ using: function( pos ) {
+ var topOffset = $( this ).css( pos ).offset().top;
+ if ( topOffset < 0 ) {
+ $( this ).css( "top", pos.top - topOffset );
+ }
+ }
+ },
+ resizable: true,
+ show: null,
+ title: null,
+ width: 300,
+
+ // callbacks
+ beforeClose: null,
+ close: null,
+ drag: null,
+ dragStart: null,
+ dragStop: null,
+ focus: null,
+ open: null,
+ resize: null,
+ resizeStart: null,
+ resizeStop: null
+ },
+
+ _create: function() {
+ this.originalCss = {
+ display: this.element[0].style.display,
+ width: this.element[0].style.width,
+ minHeight: this.element[0].style.minHeight,
+ maxHeight: this.element[0].style.maxHeight,
+ height: this.element[0].style.height
+ };
+ this.originalPosition = {
+ parent: this.element.parent(),
+ index: this.element.parent().children().index( this.element )
+ };
+ this.originalTitle = this.element.attr("title");
+ this.options.title = this.options.title || this.originalTitle;
+
+ this._createWrapper();
+
+ this.element
+ .show()
+ .removeAttr("title")
+ .addClass("ui-dialog-content ui-widget-content")
+ .appendTo( this.uiDialog );
+
+ this._createTitlebar();
+ this._createButtonPane();
+
+ if ( this.options.draggable && $.fn.draggable ) {
+ this._makeDraggable();
+ }
+ if ( this.options.resizable && $.fn.resizable ) {
+ this._makeResizable();
+ }
+
+ this._isOpen = false;
+ },
+
+ _init: function() {
+ if ( this.options.autoOpen ) {
+ this.open();
+ }
+ },
+
+ _appendTo: function() {
+ var element = this.options.appendTo;
+ if ( element && (element.jquery || element.nodeType) ) {
+ return $( element );
+ }
+ return this.document.find( element || "body" ).eq( 0 );
+ },
+
+ _destroy: function() {
+ var next,
+ originalPosition = this.originalPosition;
+
+ this._destroyOverlay();
+
+ this.element
+ .removeUniqueId()
+ .removeClass("ui-dialog-content ui-widget-content")
+ .css( this.originalCss )
+ // Without detaching first, the following becomes really slow
+ .detach();
+
+ this.uiDialog.stop( true, true ).remove();
+
+ if ( this.originalTitle ) {
+ this.element.attr( "title", this.originalTitle );
+ }
+
+ next = originalPosition.parent.children().eq( originalPosition.index );
+ // Don't try to place the dialog next to itself (#8613)
+ if ( next.length && next[0] !== this.element[0] ) {
+ next.before( this.element );
+ } else {
+ originalPosition.parent.append( this.element );
+ }
+ },
+
+ widget: function() {
+ return this.uiDialog;
+ },
+
+ disable: $.noop,
+ enable: $.noop,
+
+ close: function( event ) {
+ var that = this;
+
+ if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
+ return;
+ }
+
+ this._isOpen = false;
+ this._destroyOverlay();
+
+ if ( !this.opener.filter(":focusable").focus().length ) {
+ // Hiding a focused element doesn't trigger blur in WebKit
+ // so in case we have nothing to focus on, explicitly blur the active element
+ // https://bugs.webkit.org/show_bug.cgi?id=47182
+ $( this.document[0].activeElement ).blur();
+ }
+
+ this._hide( this.uiDialog, this.options.hide, function() {
+ that._trigger( "close", event );
+ });
+ },
+
+ isOpen: function() {
+ return this._isOpen;
+ },
+
+ moveToTop: function() {
+ this._moveToTop();
+ },
+
+ _moveToTop: function( event, silent ) {
+ var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length;
+ if ( moved && !silent ) {
+ this._trigger( "focus", event );
+ }
+ return moved;
+ },
+
+ open: function() {
+ var that = this;
+ if ( this._isOpen ) {
+ if ( this._moveToTop() ) {
+ this._focusTabbable();
+ }
+ return;
+ }
+
+ this._isOpen = true;
+ this.opener = $( this.document[0].activeElement );
+
+ this._size();
+ this._position();
+ this._createOverlay();
+ this._moveToTop( null, true );
+ this._show( this.uiDialog, this.options.show, function() {
+ that._focusTabbable();
+ that._trigger("focus");
+ });
+
+ this._trigger("open");
+ },
+
+ _focusTabbable: function() {
+ // Set focus to the first match:
+ // 1. First element inside the dialog matching [autofocus]
+ // 2. Tabbable element inside the content element
+ // 3. Tabbable element inside the buttonpane
+ // 4. The close button
+ // 5. The dialog itself
+ var hasFocus = this.element.find("[autofocus]");
+ if ( !hasFocus.length ) {
+ hasFocus = this.element.find(":tabbable");
+ }
+ if ( !hasFocus.length ) {
+ hasFocus = this.uiDialogButtonPane.find(":tabbable");
+ }
+ if ( !hasFocus.length ) {
+ hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
+ }
+ if ( !hasFocus.length ) {
+ hasFocus = this.uiDialog;
+ }
+ hasFocus.eq( 0 ).focus();
+ },
+
+ _keepFocus: function( event ) {
+ function checkFocus() {
+ var activeElement = this.document[0].activeElement,
+ isActive = this.uiDialog[0] === activeElement ||
+ $.contains( this.uiDialog[0], activeElement );
+ if ( !isActive ) {
+ this._focusTabbable();
+ }
+ }
+ event.preventDefault();
+ checkFocus.call( this );
+ // support: IE
+ // IE <= 8 doesn't prevent moving focus even with event.preventDefault()
+ // so we check again later
+ this._delay( checkFocus );
+ },
+
+ _createWrapper: function() {
+ this.uiDialog = $("<div>")
+ .addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
+ this.options.dialogClass )
+ .hide()
+ .attr({
+ // Setting tabIndex makes the div focusable
+ tabIndex: -1,
+ role: "dialog"
+ })
+ .appendTo( this._appendTo() );
+
+ this._on( this.uiDialog, {
+ keydown: function( event ) {
+ if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
+ event.keyCode === $.ui.keyCode.ESCAPE ) {
+ event.preventDefault();
+ this.close( event );
+ return;
+ }
+
+ // prevent tabbing out of dialogs
+ if ( event.keyCode !== $.ui.keyCode.TAB ) {
+ return;
+ }
+ var tabbables = this.uiDialog.find(":tabbable"),
+ first = tabbables.filter(":first"),
+ last = tabbables.filter(":last");
+
+ if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
+ first.focus( 1 );
+ event.preventDefault();
+ } else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
+ last.focus( 1 );
+ event.preventDefault();
+ }
+ },
+ mousedown: function( event ) {
+ if ( this._moveToTop( event ) ) {
+ this._focusTabbable();
+ }
+ }
+ });
+
+ // We assume that any existing aria-describedby attribute means
+ // that the dialog content is marked up properly
+ // otherwise we brute force the content as the description
+ if ( !this.element.find("[aria-describedby]").length ) {
+ this.uiDialog.attr({
+ "aria-describedby": this.element.uniqueId().attr("id")
+ });
+ }
+ },
+
+ _createTitlebar: function() {
+ var uiDialogTitle;
+
+ this.uiDialogTitlebar = $("<div>")
+ .addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix")
+ .prependTo( this.uiDialog );
+ this._on( this.uiDialogTitlebar, {
+ mousedown: function( event ) {
+ // Don't prevent click on close button (#8838)
+ // Focusing a dialog that is partially scrolled out of view
+ // causes the browser to scroll it into view, preventing the click event
+ if ( !$( event.target ).closest(".ui-dialog-titlebar-close") ) {
+ // Dialog isn't getting focus when dragging (#8063)
+ this.uiDialog.focus();
+ }
+ }
+ });
+
+ this.uiDialogTitlebarClose = $("<button></button>")
+ .button({
+ label: this.options.closeText,
+ icons: {
+ primary: "ui-icon-closethick"
+ },
+ text: false
+ })
+ .addClass("ui-dialog-titlebar-close")
+ .appendTo( this.uiDialogTitlebar );
+ this._on( this.uiDialogTitlebarClose, {
+ click: function( event ) {
+ event.preventDefault();
+ this.close( event );
+ }
+ });
+
+ uiDialogTitle = $("<span>")
+ .uniqueId()
+ .addClass("ui-dialog-title")
+ .prependTo( this.uiDialogTitlebar );
+ this._title( uiDialogTitle );
+
+ this.uiDialog.attr({
+ "aria-labelledby": uiDialogTitle.attr("id")
+ });
+ },
+
+ _title: function( title ) {
+ if ( !this.options.title ) {
+ title.html(" ");
+ }
+ title.text( this.options.title );
+ },
+
+ _createButtonPane: function() {
+ this.uiDialogButtonPane = $("<div>")
+ .addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");
+
+ this.uiButtonSet = $("<div>")
+ .addClass("ui-dialog-buttonset")
+ .appendTo( this.uiDialogButtonPane );
+
+ this._createButtons();
+ },
+
+ _createButtons: function() {
+ var that = this,
+ buttons = this.options.buttons;
+
+ // if we already have a button pane, remove it
+ this.uiDialogButtonPane.remove();
+ this.uiButtonSet.empty();
+
+ if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
+ this.uiDialog.removeClass("ui-dialog-buttons");
+ return;
+ }
+
+ $.each( buttons, function( name, props ) {
+ var click, buttonOptions;
+ props = $.isFunction( props ) ?
+ { click: props, text: name } :
+ props;
+ // Default to a non-submitting button
+ props = $.extend( { type: "button" }, props );
+ // Change the context for the click callback to be the main element
+ click = props.click;
+ props.click = function() {
+ click.apply( that.element[0], arguments );
+ };
+ buttonOptions = {
+ icons: props.icons,
+ text: props.showText
+ };
+ delete props.icons;
+ delete props.showText;
+ $( "<button></button>", props )
+ .button( buttonOptions )
+ .appendTo( that.uiButtonSet );
+ });
+ this.uiDialog.addClass("ui-dialog-buttons");
+ this.uiDialogButtonPane.appendTo( this.uiDialog );
+ },
+
+ _makeDraggable: function() {
+ var that = this,
+ options = this.options;
+
+ function filteredUi( ui ) {
+ return {
+ position: ui.position,
+ offset: ui.offset
+ };
+ }
+
+ this.uiDialog.draggable({
+ cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
+ handle: ".ui-dialog-titlebar",
+ containment: "document",
+ start: function( event, ui ) {
+ $( this ).addClass("ui-dialog-dragging");
+ that._blockFrames();
+ that._trigger( "dragStart", event, filteredUi( ui ) );
+ },
+ drag: function( event, ui ) {
+ that._trigger( "drag", event, filteredUi( ui ) );
+ },
+ stop: function( event, ui ) {
+ options.position = [
+ ui.position.left - that.document.scrollLeft(),
+ ui.position.top - that.document.scrollTop()
+ ];
+ $( this ).removeClass("ui-dialog-dragging");
+ that._unblockFrames();
+ that._trigger( "dragStop", event, filteredUi( ui ) );
+ }
+ });
+ },
+
+ _makeResizable: function() {
+ var that = this,
+ options = this.options,
+ handles = options.resizable,
+ // .ui-resizable has position: relative defined in the stylesheet
+ // but dialogs have to use absolute or fixed positioning
+ position = this.uiDialog.css("position"),
+ resizeHandles = typeof handles === "string" ?
+ handles :
+ "n,e,s,w,se,sw,ne,nw";
+
+ function filteredUi( ui ) {
+ return {
+ originalPosition: ui.originalPosition,
+ originalSize: ui.originalSize,
+ position: ui.position,
+ size: ui.size
+ };
+ }
+
+ this.uiDialog.resizable({
+ cancel: ".ui-dialog-content",
+ containment: "document",
+ alsoResize: this.element,
+ maxWidth: options.maxWidth,
+ maxHeight: options.maxHeight,
+ minWidth: options.minWidth,
+ minHeight: this._minHeight(),
+ handles: resizeHandles,
+ start: function( event, ui ) {
+ $( this ).addClass("ui-dialog-resizing");
+ that._blockFrames();
+ that._trigger( "resizeStart", event, filteredUi( ui ) );
+ },
+ resize: function( event, ui ) {
+ that._trigger( "resize", event, filteredUi( ui ) );
+ },
+ stop: function( event, ui ) {
+ options.height = $( this ).height();
+ options.width = $( this ).width();
+ $( this ).removeClass("ui-dialog-resizing");
+ that._unblockFrames();
+ that._trigger( "resizeStop", event, filteredUi( ui ) );
+ }
+ })
+ .css( "position", position );
+ },
+
+ _minHeight: function() {
+ var options = this.options;
+
+ return options.height === "auto" ?
+ options.minHeight :
+ Math.min( options.minHeight, options.height );
+ },
+
+ _position: function() {
+ // Need to show the dialog to get the actual offset in the position plugin
+ var isVisible = this.uiDialog.is(":visible");
+ if ( !isVisible ) {
+ this.uiDialog.show();
+ }
+ this.uiDialog.position( this.options.position );
+ if ( !isVisible ) {
+ this.uiDialog.hide();
+ }
+ },
+
+ _setOptions: function( options ) {
+ var that = this,
+ resize = false,
+ resizableOptions = {};
+
+ $.each( options, function( key, value ) {
+ that._setOption( key, value );
+
+ if ( key in sizeRelatedOptions ) {
+ resize = true;
+ }
+ if ( key in resizableRelatedOptions ) {
+ resizableOptions[ key ] = value;
+ }
+ });
+
+ if ( resize ) {
+ this._size();
+ this._position();
+ }
+ if ( this.uiDialog.is(":data(ui-resizable)") ) {
+ this.uiDialog.resizable( "option", resizableOptions );
+ }
+ },
+
+ _setOption: function( key, value ) {
+ /*jshint maxcomplexity:15*/
+ var isDraggable, isResizable,
+ uiDialog = this.uiDialog;
+
+ if ( key === "dialogClass" ) {
+ uiDialog
+ .removeClass( this.options.dialogClass )
+ .addClass( value );
+ }
+
+ if ( key === "disabled" ) {
+ return;
+ }
+
+ this._super( key, value );
+
+ if ( key === "appendTo" ) {
+ this.uiDialog.appendTo( this._appendTo() );
+ }
+
+ if ( key === "buttons" ) {
+ this._createButtons();
+ }
+
+ if ( key === "closeText" ) {
+ this.uiDialogTitlebarClose.button({
+ // Ensure that we always pass a string
+ label: "" + value
+ });
+ }
+
+ if ( key === "draggable" ) {
+ isDraggable = uiDialog.is(":data(ui-draggable)");
+ if ( isDraggable && !value ) {
+ uiDialog.draggable("destroy");
+ }
+
+ if ( !isDraggable && value ) {
+ this._makeDraggable();
+ }
+ }
+
+ if ( key === "position" ) {
+ this._position();
+ }
+
+ if ( key === "resizable" ) {
+ // currently resizable, becoming non-resizable
+ isResizable = uiDialog.is(":data(ui-resizable)");
+ if ( isResizable && !value ) {
+ uiDialog.resizable("destroy");
+ }
+
+ // currently resizable, changing handles
+ if ( isResizable && typeof value === "string" ) {
+ uiDialog.resizable( "option", "handles", value );
+ }
+
+ // currently non-resizable, becoming resizable
+ if ( !isResizable && value !== false ) {
+ this._makeResizable();
+ }
+ }
+
+ if ( key === "title" ) {
+ this._title( this.uiDialogTitlebar.find(".ui-dialog-title") );
+ }
+ },
+
+ _size: function() {
+ // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
+ // divs will both have width and height set, so we need to reset them
+ var nonContentHeight, minContentHeight, maxContentHeight,
+ options = this.options;
+
+ // Reset content sizing
+ this.element.show().css({
+ width: "auto",
+ minHeight: 0,
+ maxHeight: "none",
+ height: 0
+ });
+
+ if ( options.minWidth > options.width ) {
+ options.width = options.minWidth;
+ }
+
+ // reset wrapper sizing
+ // determine the height of all the non-content elements
+ nonContentHeight = this.uiDialog.css({
+ height: "auto",
+ width: options.width
+ })
+ .outerHeight();
+ minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
+ maxContentHeight = typeof options.maxHeight === "number" ?
+ Math.max( 0, options.maxHeight - nonContentHeight ) :
+ "none";
+
+ if ( options.height === "auto" ) {
+ this.element.css({
+ minHeight: minContentHeight,
+ maxHeight: maxContentHeight,
+ height: "auto"
+ });
+ } else {
+ this.element.height( Math.max( 0, options.height - nonContentHeight ) );
+ }
+
+ if (this.uiDialog.is(":data(ui-resizable)") ) {
+ this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
+ }
+ },
+
+ _blockFrames: function() {
+ this.iframeBlocks = this.document.find( "iframe" ).map(function() {
+ var iframe = $( this );
+
+ return $( "<div>" )
+ .css({
+ position: "absolute",
+ width: iframe.outerWidth(),
+ height: iframe.outerHeight()
+ })
+ .appendTo( iframe.parent() )
+ .offset( iframe.offset() )[0];
+ });
+ },
+
+ _unblockFrames: function() {
+ if ( this.iframeBlocks ) {
+ this.iframeBlocks.remove();
+ delete this.iframeBlocks;
+ }
+ },
+
+ _allowInteraction: function( event ) {
+ if ( $( event.target ).closest(".ui-dialog").length ) {
+ return true;
+ }
+
+ // TODO: Remove hack when datepicker implements
+ // the .ui-front logic (#8989)
+ return !!$( event.target ).closest(".ui-datepicker").length;
+ },
+
+ _createOverlay: function() {
+ if ( !this.options.modal ) {
+ return;
+ }
+
+ var that = this,
+ widgetFullName = this.widgetFullName;
+ if ( !$.ui.dialog.overlayInstances ) {
+ // Prevent use of anchors and inputs.
+ // We use a delay in case the overlay is created from an
+ // event that we're going to be cancelling. (#2804)
+ this._delay(function() {
+ // Handle .dialog().dialog("close") (#4065)
+ if ( $.ui.dialog.overlayInstances ) {
+ this.document.bind( "focusin.dialog", function( event ) {
+ if ( !that._allowInteraction( event ) ) {
+ event.preventDefault();
+ $(".ui-dialog:visible:last .ui-dialog-content")
+ .data( widgetFullName )._focusTabbable();
+ }
+ });
+ }
+ });
+ }
+
+ this.overlay = $("<div>")
+ .addClass("ui-widget-overlay ui-front")
+ .appendTo( this._appendTo() );
+ this._on( this.overlay, {
+ mousedown: "_keepFocus"
+ });
+ $.ui.dialog.overlayInstances++;
+ },
+
+ _destroyOverlay: function() {
+ if ( !this.options.modal ) {
+ return;
+ }
+
+ if ( this.overlay ) {
+ $.ui.dialog.overlayInstances--;
+
+ if ( !$.ui.dialog.overlayInstances ) {
+ this.document.unbind( "focusin.dialog" );
+ }
+ this.overlay.remove();
+ this.overlay = null;
+ }
+ }
+});
+
+$.ui.dialog.overlayInstances = 0;
+
+// DEPRECATED
+if ( $.uiBackCompat !== false ) {
+ // position option with array notation
+ // just override with old implementation
+ $.widget( "ui.dialog", $.ui.dialog, {
+ _position: function() {
+ var position = this.options.position,
+ myAt = [],
+ offset = [ 0, 0 ],
+ isVisible;
+
+ if ( position ) {
+ if ( typeof position === "string" || (typeof position === "object" && "0" in position ) ) {
+ myAt = position.split ? position.split(" ") : [ position[0], position[1] ];
+ if ( myAt.length === 1 ) {
+ myAt[1] = myAt[0];
+ }
+
+ $.each( [ "left", "top" ], function( i, offsetPosition ) {
+ if ( +myAt[ i ] === myAt[ i ] ) {
+ offset[ i ] = myAt[ i ];
+ myAt[ i ] = offsetPosition;
+ }
+ });
+
+ position = {
+ my: myAt[0] + (offset[0] < 0 ? offset[0] : "+" + offset[0]) + " " +
+ myAt[1] + (offset[1] < 0 ? offset[1] : "+" + offset[1]),
+ at: myAt.join(" ")
+ };
+ }
+
+ position = $.extend( {}, $.ui.dialog.prototype.options.position, position );
+ } else {
+ position = $.ui.dialog.prototype.options.position;
+ }
+
+ // need to show the dialog to get the actual offset in the position plugin
+ isVisible = this.uiDialog.is(":visible");
+ if ( !isVisible ) {
+ this.uiDialog.show();
+ }
+ this.uiDialog.position( position );
+ if ( !isVisible ) {
+ this.uiDialog.hide();
+ }
+ }
+ });
+}
+
+}( jQuery ) );
+
+(function( $, undefined ) {
+
+var rvertical = /up|down|vertical/,
+ rpositivemotion = /up|left|vertical|horizontal/;
+
+$.effects.effect.blind = function( o, done ) {
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ direction = o.direction || "up",
+ vertical = rvertical.test( direction ),
+ ref = vertical ? "height" : "width",
+ ref2 = vertical ? "top" : "left",
+ motion = rpositivemotion.test( direction ),
+ animation = {},
+ show = mode === "show",
+ wrapper, distance, margin;
+
+ // if already wrapped, the wrapper's properties are my property. #6245
+ if ( el.parent().is( ".ui-effects-wrapper" ) ) {
+ $.effects.save( el.parent(), props );
+ } else {
+ $.effects.save( el, props );
+ }
+ el.show();
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+
+ distance = wrapper[ ref ]();
+ margin = parseFloat( wrapper.css( ref2 ) ) || 0;
+
+ animation[ ref ] = show ? distance : 0;
+ if ( !motion ) {
+ el
+ .css( vertical ? "bottom" : "right", 0 )
+ .css( vertical ? "top" : "left", "auto" )
+ .css({ position: "absolute" });
+
+ animation[ ref2 ] = show ? margin : distance + margin;
+ }
+
+ // start at 0 if we are showing
+ if ( show ) {
+ wrapper.css( ref, 0 );
+ if ( ! motion ) {
+ wrapper.css( ref2, margin + distance );
+ }
+ }
+
+ // Animate
+ wrapper.animate( animation, {
+ duration: o.duration,
+ easing: o.easing,
+ queue: false,
+ complete: function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.bounce = function( o, done ) {
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+
+ // defaults:
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ hide = mode === "hide",
+ show = mode === "show",
+ direction = o.direction || "up",
+ distance = o.distance,
+ times = o.times || 5,
+
+ // number of internal animations
+ anims = times * 2 + ( show || hide ? 1 : 0 ),
+ speed = o.duration / anims,
+ easing = o.easing,
+
+ // utility:
+ ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
+ motion = ( direction === "up" || direction === "left" ),
+ i,
+ upAnim,
+ downAnim,
+
+ // we will need to re-assemble the queue to stack our animations in place
+ queue = el.queue(),
+ queuelen = queue.length;
+
+ // Avoid touching opacity to prevent clearType and PNG issues in IE
+ if ( show || hide ) {
+ props.push( "opacity" );
+ }
+
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el ); // Create Wrapper
+
+ // default distance for the BIGGEST bounce is the outer Distance / 3
+ if ( !distance ) {
+ distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
+ }
+
+ if ( show ) {
+ downAnim = { opacity: 1 };
+ downAnim[ ref ] = 0;
+
+ // if we are showing, force opacity 0 and set the initial position
+ // then do the "first" animation
+ el.css( "opacity", 0 )
+ .css( ref, motion ? -distance * 2 : distance * 2 )
+ .animate( downAnim, speed, easing );
+ }
+
+ // start at the smallest distance if we are hiding
+ if ( hide ) {
+ distance = distance / Math.pow( 2, times - 1 );
+ }
+
+ downAnim = {};
+ downAnim[ ref ] = 0;
+ // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
+ for ( i = 0; i < times; i++ ) {
+ upAnim = {};
+ upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
+
+ el.animate( upAnim, speed, easing )
+ .animate( downAnim, speed, easing );
+
+ distance = hide ? distance * 2 : distance / 2;
+ }
+
+ // Last Bounce when Hiding
+ if ( hide ) {
+ upAnim = { opacity: 0 };
+ upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
+
+ el.animate( upAnim, speed, easing );
+ }
+
+ el.queue(function() {
+ if ( hide ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ });
+
+ // inject all the animations we just queued to be first in line (after "inprogress")
+ if ( queuelen > 1) {
+ queue.splice.apply( queue,
+ [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
+ }
+ el.dequeue();
+
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.clip = function( o, done ) {
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+ direction = o.direction || "vertical",
+ vert = direction === "vertical",
+ size = vert ? "height" : "width",
+ position = vert ? "top" : "left",
+ animation = {},
+ wrapper, animate, distance;
+
+ // Save & Show
+ $.effects.save( el, props );
+ el.show();
+
+ // Create Wrapper
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+ animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
+ distance = animate[ size ]();
+
+ // Shift
+ if ( show ) {
+ animate.css( size, 0 );
+ animate.css( position, distance / 2 );
+ }
+
+ // Create Animation Object:
+ animation[ size ] = show ? distance : 0;
+ animation[ position ] = show ? 0 : distance / 2;
+
+ // Animate
+ animate.animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( !show ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.drop = function( o, done ) {
+
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+ direction = o.direction || "left",
+ ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
+ motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
+ animation = {
+ opacity: show ? 1 : 0
+ },
+ distance;
+
+ // Adjust
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el );
+
+ distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2;
+
+ if ( show ) {
+ el
+ .css( "opacity", 0 )
+ .css( ref, motion === "pos" ? -distance : distance );
+ }
+
+ // Animation
+ animation[ ref ] = ( show ?
+ ( motion === "pos" ? "+=" : "-=" ) :
+ ( motion === "pos" ? "-=" : "+=" ) ) +
+ distance;
+
+ // Animate
+ el.animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.explode = function( o, done ) {
+
+ var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,
+ cells = rows,
+ el = $( this ),
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+
+ // show and then visibility:hidden the element before calculating offset
+ offset = el.show().css( "visibility", "hidden" ).offset(),
+
+ // width and height of a piece
+ width = Math.ceil( el.outerWidth() / cells ),
+ height = Math.ceil( el.outerHeight() / rows ),
+ pieces = [],
+
+ // loop
+ i, j, left, top, mx, my;
+
+ // children animate complete:
+ function childComplete() {
+ pieces.push( this );
+ if ( pieces.length === rows * cells ) {
+ animComplete();
+ }
+ }
+
+ // clone the element for each row and cell.
+ for( i = 0; i < rows ; i++ ) { // ===>
+ top = offset.top + i * height;
+ my = i - ( rows - 1 ) / 2 ;
+
+ for( j = 0; j < cells ; j++ ) { // |||
+ left = offset.left + j * width;
+ mx = j - ( cells - 1 ) / 2 ;
+
+ // Create a clone of the now hidden main element that will be absolute positioned
+ // within a wrapper div off the -left and -top equal to size of our pieces
+ el
+ .clone()
+ .appendTo( "body" )
+ .wrap( "<div></div>" )
+ .css({
+ position: "absolute",
+ visibility: "visible",
+ left: -j * width,
+ top: -i * height
+ })
+
+ // select the wrapper - make it overflow: hidden and absolute positioned based on
+ // where the original was located +left and +top equal to the size of pieces
+ .parent()
+ .addClass( "ui-effects-explode" )
+ .css({
+ position: "absolute",
+ overflow: "hidden",
+ width: width,
+ height: height,
+ left: left + ( show ? mx * width : 0 ),
+ top: top + ( show ? my * height : 0 ),
+ opacity: show ? 0 : 1
+ }).animate({
+ left: left + ( show ? 0 : mx * width ),
+ top: top + ( show ? 0 : my * height ),
+ opacity: show ? 1 : 0
+ }, o.duration || 500, o.easing, childComplete );
+ }
+ }
+
+ function animComplete() {
+ el.css({
+ visibility: "visible"
+ });
+ $( pieces ).remove();
+ if ( !show ) {
+ el.hide();
+ }
+ done();
+ }
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.fade = function( o, done ) {
+ var el = $( this ),
+ mode = $.effects.setMode( el, o.mode || "toggle" );
+
+ el.animate({
+ opacity: mode
+ }, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: done
+ });
+};
+
+})( jQuery );
+
+(function( $, undefined ) {
+
+$.effects.effect.fold = function( o, done ) {
+
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+ hide = mode === "hide",
+ size = o.size || 15,
+ percent = /([0-9]+)%/.exec( size ),
+ horizFirst = !!o.horizFirst,
+ widthFirst = show !== horizFirst,
+ ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
+ duration = o.duration / 2,
+ wrapper, distance,
+ animation1 = {},
+ animation2 = {};
+
+ $.effects.save( el, props );
+ el.show();
+
+ // Create Wrapper
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+ distance = widthFirst ?
+ [ wrapper.width(), wrapper.height() ] :
+ [ wrapper.height(), wrapper.width() ];
+
+ if ( percent ) {
+ size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
+ }
+ if ( show ) {
+ wrapper.css( horizFirst ? {
+ height: 0,
+ width: size
+ } : {
+ height: size,
+ width: 0
+ });
+ }
+
+ // Animation
+ animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
+ animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
+
+ // Animate
+ wrapper
+ .animate( animation1, duration, o.easing )
+ .animate( animation2, duration, o.easing, function() {
+ if ( hide ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ });
+
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.highlight = function( o, done ) {
+ var elem = $( this ),
+ props = [ "backgroundImage", "backgroundColor", "opacity" ],
+ mode = $.effects.setMode( elem, o.mode || "show" ),
+ animation = {
+ backgroundColor: elem.css( "backgroundColor" )
+ };
+
+ if (mode === "hide") {
+ animation.opacity = 0;
+ }
+
+ $.effects.save( elem, props );
+
+ elem
+ .show()
+ .css({
+ backgroundImage: "none",
+ backgroundColor: o.color || "#ffff99"
+ })
+ .animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( mode === "hide" ) {
+ elem.hide();
+ }
+ $.effects.restore( elem, props );
+ done();
+ }
+ });
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.pulsate = function( o, done ) {
+ var elem = $( this ),
+ mode = $.effects.setMode( elem, o.mode || "show" ),
+ show = mode === "show",
+ hide = mode === "hide",
+ showhide = ( show || mode === "hide" ),
+
+ // showing or hiding leaves of the "last" animation
+ anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
+ duration = o.duration / anims,
+ animateTo = 0,
+ queue = elem.queue(),
+ queuelen = queue.length,
+ i;
+
+ if ( show || !elem.is(":visible")) {
+ elem.css( "opacity", 0 ).show();
+ animateTo = 1;
+ }
+
+ // anims - 1 opacity "toggles"
+ for ( i = 1; i < anims; i++ ) {
+ elem.animate({
+ opacity: animateTo
+ }, duration, o.easing );
+ animateTo = 1 - animateTo;
+ }
+
+ elem.animate({
+ opacity: animateTo
+ }, duration, o.easing);
+
+ elem.queue(function() {
+ if ( hide ) {
+ elem.hide();
+ }
+ done();
+ });
+
+ // We just queued up "anims" animations, we need to put them next in the queue
+ if ( queuelen > 1 ) {
+ queue.splice.apply( queue,
+ [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
+ }
+ elem.dequeue();
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.puff = function( o, done ) {
+ var elem = $( this ),
+ mode = $.effects.setMode( elem, o.mode || "hide" ),
+ hide = mode === "hide",
+ percent = parseInt( o.percent, 10 ) || 150,
+ factor = percent / 100,
+ original = {
+ height: elem.height(),
+ width: elem.width(),
+ outerHeight: elem.outerHeight(),
+ outerWidth: elem.outerWidth()
+ };
+
+ $.extend( o, {
+ effect: "scale",
+ queue: false,
+ fade: true,
+ mode: mode,
+ complete: done,
+ percent: hide ? percent : 100,
+ from: hide ?
+ original :
+ {
+ height: original.height * factor,
+ width: original.width * factor,
+ outerHeight: original.outerHeight * factor,
+ outerWidth: original.outerWidth * factor
+ }
+ });
+
+ elem.effect( o );
+};
+
+$.effects.effect.scale = function( o, done ) {
+
+ // Create element
+ var el = $( this ),
+ options = $.extend( true, {}, o ),
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ percent = parseInt( o.percent, 10 ) ||
+ ( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ),
+ direction = o.direction || "both",
+ origin = o.origin,
+ original = {
+ height: el.height(),
+ width: el.width(),
+ outerHeight: el.outerHeight(),
+ outerWidth: el.outerWidth()
+ },
+ factor = {
+ y: direction !== "horizontal" ? (percent / 100) : 1,
+ x: direction !== "vertical" ? (percent / 100) : 1
+ };
+
+ // We are going to pass this effect to the size effect:
+ options.effect = "size";
+ options.queue = false;
+ options.complete = done;
+
+ // Set default origin and restore for show/hide
+ if ( mode !== "effect" ) {
+ options.origin = origin || ["middle","center"];
+ options.restore = true;
+ }
+
+ options.from = o.from || ( mode === "show" ? {
+ height: 0,
+ width: 0,
+ outerHeight: 0,
+ outerWidth: 0
+ } : original );
+ options.to = {
+ height: original.height * factor.y,
+ width: original.width * factor.x,
+ outerHeight: original.outerHeight * factor.y,
+ outerWidth: original.outerWidth * factor.x
+ };
+
+ // Fade option to support puff
+ if ( options.fade ) {
+ if ( mode === "show" ) {
+ options.from.opacity = 0;
+ options.to.opacity = 1;
+ }
+ if ( mode === "hide" ) {
+ options.from.opacity = 1;
+ options.to.opacity = 0;
+ }
+ }
+
+ // Animate
+ el.effect( options );
+
+};
+
+$.effects.effect.size = function( o, done ) {
+
+ // Create element
+ var original, baseline, factor,
+ el = $( this ),
+ props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ],
+
+ // Always restore
+ props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ],
+
+ // Copy for children
+ props2 = [ "width", "height", "overflow" ],
+ cProps = [ "fontSize" ],
+ vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ],
+ hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ],
+
+ // Set options
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ restore = o.restore || mode !== "effect",
+ scale = o.scale || "both",
+ origin = o.origin || [ "middle", "center" ],
+ position = el.css( "position" ),
+ props = restore ? props0 : props1,
+ zero = {
+ height: 0,
+ width: 0,
+ outerHeight: 0,
+ outerWidth: 0
+ };
+
+ if ( mode === "show" ) {
+ el.show();
+ }
+ original = {
+ height: el.height(),
+ width: el.width(),
+ outerHeight: el.outerHeight(),
+ outerWidth: el.outerWidth()
+ };
+
+ if ( o.mode === "toggle" && mode === "show" ) {
+ el.from = o.to || zero;
+ el.to = o.from || original;
+ } else {
+ el.from = o.from || ( mode === "show" ? zero : original );
+ el.to = o.to || ( mode === "hide" ? zero : original );
+ }
+
+ // Set scaling factor
+ factor = {
+ from: {
+ y: el.from.height / original.height,
+ x: el.from.width / original.width
+ },
+ to: {
+ y: el.to.height / original.height,
+ x: el.to.width / original.width
+ }
+ };
+
+ // Scale the css box
+ if ( scale === "box" || scale === "both" ) {
+
+ // Vertical props scaling
+ if ( factor.from.y !== factor.to.y ) {
+ props = props.concat( vProps );
+ el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );
+ el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );
+ }
+
+ // Horizontal props scaling
+ if ( factor.from.x !== factor.to.x ) {
+ props = props.concat( hProps );
+ el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );
+ el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );
+ }
+ }
+
+ // Scale the content
+ if ( scale === "content" || scale === "both" ) {
+
+ // Vertical props scaling
+ if ( factor.from.y !== factor.to.y ) {
+ props = props.concat( cProps ).concat( props2 );
+ el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );
+ el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );
+ }
+ }
+
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el );
+ el.css( "overflow", "hidden" ).css( el.from );
+
+ // Adjust
+ if (origin) { // Calculate baseline shifts
+ baseline = $.effects.getBaseline( origin, original );
+ el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
+ el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
+ el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
+ el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
+ }
+ el.css( el.from ); // set top & left
+
+ // Animate
+ if ( scale === "content" || scale === "both" ) { // Scale the children
+
+ // Add margins/font-size
+ vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps);
+ hProps = hProps.concat([ "marginLeft", "marginRight" ]);
+ props2 = props0.concat(vProps).concat(hProps);
+
+ el.find( "*[width]" ).each( function(){
+ var child = $( this ),
+ c_original = {
+ height: child.height(),
+ width: child.width(),
+ outerHeight: child.outerHeight(),
+ outerWidth: child.outerWidth()
+ };
+ if (restore) {
+ $.effects.save(child, props2);
+ }
+
+ child.from = {
+ height: c_original.height * factor.from.y,
+ width: c_original.width * factor.from.x,
+ outerHeight: c_original.outerHeight * factor.from.y,
+ outerWidth: c_original.outerWidth * factor.from.x
+ };
+ child.to = {
+ height: c_original.height * factor.to.y,
+ width: c_original.width * factor.to.x,
+ outerHeight: c_original.height * factor.to.y,
+ outerWidth: c_original.width * factor.to.x
+ };
+
+ // Vertical props scaling
+ if ( factor.from.y !== factor.to.y ) {
+ child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );
+ child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );
+ }
+
+ // Horizontal props scaling
+ if ( factor.from.x !== factor.to.x ) {
+ child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );
+ child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );
+ }
+
+ // Animate children
+ child.css( child.from );
+ child.animate( child.to, o.duration, o.easing, function() {
+
+ // Restore children
+ if ( restore ) {
+ $.effects.restore( child, props2 );
+ }
+ });
+ });
+ }
+
+ // Animate
+ el.animate( el.to, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( el.to.opacity === 0 ) {
+ el.css( "opacity", el.from.opacity );
+ }
+ if( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ if ( !restore ) {
+
+ // we need to calculate our new positioning based on the scaling
+ if ( position === "static" ) {
+ el.css({
+ position: "relative",
+ top: el.to.top,
+ left: el.to.left
+ });
+ } else {
+ $.each([ "top", "left" ], function( idx, pos ) {
+ el.css( pos, function( _, str ) {
+ var val = parseInt( str, 10 ),
+ toRef = idx ? el.to.left : el.to.top;
+
+ // if original was "auto", recalculate the new value from wrapper
+ if ( str === "auto" ) {
+ return toRef + "px";
+ }
+
+ return val + toRef + "px";
+ });
+ });
+ }
+ }
+
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.shake = function( o, done ) {
+
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ direction = o.direction || "left",
+ distance = o.distance || 20,
+ times = o.times || 3,
+ anims = times * 2 + 1,
+ speed = Math.round(o.duration/anims),
+ ref = (direction === "up" || direction === "down") ? "top" : "left",
+ positiveMotion = (direction === "up" || direction === "left"),
+ animation = {},
+ animation1 = {},
+ animation2 = {},
+ i,
+
+ // we will need to re-assemble the queue to stack our animations in place
+ queue = el.queue(),
+ queuelen = queue.length;
+
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el );
+
+ // Animation
+ animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance;
+ animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2;
+ animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2;
+
+ // Animate
+ el.animate( animation, speed, o.easing );
+
+ // Shakes
+ for ( i = 1; i < times; i++ ) {
+ el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
+ }
+ el
+ .animate( animation1, speed, o.easing )
+ .animate( animation, speed / 2, o.easing )
+ .queue(function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ });
+
+ // inject all the animations we just queued to be first in line (after "inprogress")
+ if ( queuelen > 1) {
+ queue.splice.apply( queue,
+ [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
+ }
+ el.dequeue();
+
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.slide = function( o, done ) {
+
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "width", "height" ],
+ mode = $.effects.setMode( el, o.mode || "show" ),
+ show = mode === "show",
+ direction = o.direction || "left",
+ ref = (direction === "up" || direction === "down") ? "top" : "left",
+ positiveMotion = (direction === "up" || direction === "left"),
+ distance,
+ animation = {};
+
+ // Adjust
+ $.effects.save( el, props );
+ el.show();
+ distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true );
+
+ $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+
+ if ( show ) {
+ el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance );
+ }
+
+ // Animation
+ animation[ ref ] = ( show ?
+ ( positiveMotion ? "+=" : "-=") :
+ ( positiveMotion ? "-=" : "+=")) +
+ distance;
+
+ // Animate
+ el.animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.effects.effect.transfer = function( o, done ) {
+ var elem = $( this ),
+ target = $( o.to ),
+ targetFixed = target.css( "position" ) === "fixed",
+ body = $("body"),
+ fixTop = targetFixed ? body.scrollTop() : 0,
+ fixLeft = targetFixed ? body.scrollLeft() : 0,
+ endPosition = target.offset(),
+ animation = {
+ top: endPosition.top - fixTop ,
+ left: endPosition.left - fixLeft ,
+ height: target.innerHeight(),
+ width: target.innerWidth()
+ },
+ startPosition = elem.offset(),
+ transfer = $( "<div class='ui-effects-transfer'></div>" )
+ .appendTo( document.body )
+ .addClass( o.className )
+ .css({
+ top: startPosition.top - fixTop ,
+ left: startPosition.left - fixLeft ,
+ height: elem.innerHeight(),
+ width: elem.innerWidth(),
+ position: targetFixed ? "fixed" : "absolute"
+ })
+ .animate( animation, o.duration, o.easing, function() {
+ transfer.remove();
+ done();
+ });
+};
+
+})(jQuery);
+
+(function( $, undefined ) {
+
+$.widget( "ui.menu", {
+ version: "1.10.3",
+ defaultElement: "<ul>",
+ delay: 300,
+ options: {
+ icons: {
+ submenu: "ui-icon-carat-1-e"
+ },
+ menus: "ul",
+ position: {
+ my: "left top",
+ at: "right top"
+ },
+ role: "menu",
+
+ // callbacks
+ blur: null,
+ focus: null,
+ select: null
+ },
+
+ _create: function() {
+ this.activeMenu = this.element;
+ // flag used to prevent firing of the click handler
+ // as the event bubbles up through nested menus
+ this.mouseHandled = false;
+ this.element
+ .uniqueId()
+ .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
+ .toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
+ .attr({
+ role: this.options.role,
+ tabIndex: 0
+ })
+ // need to catch all clicks on disabled menu
+ // not possible through _on
+ .bind( "click" + this.eventNamespace, $.proxy(function( event ) {
+ if ( this.options.disabled ) {
+ event.preventDefault();
+ }
+ }, this ));
+
+ if ( this.options.disabled ) {
+ this.element
+ .addClass( "ui-state-disabled" )
+ .attr( "aria-disabled", "true" );
+ }
+
+ this._on({
+ // Prevent focus from sticking to links inside menu after clicking
+ // them (focus should always stay on UL during navigation).
+ "mousedown .ui-menu-item > a": function( event ) {
+ event.preventDefault();
+ },
+ "click .ui-state-disabled > a": function( event ) {
+ event.preventDefault();
+ },
+ "click .ui-menu-item:has(a)": function( event ) {
+ var target = $( event.target ).closest( ".ui-menu-item" );
+ if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
+ this.mouseHandled = true;
+
+ this.select( event );
+ // Open submenu on click
+ if ( target.has( ".ui-menu" ).length ) {
+ this.expand( event );
+ } else if ( !this.element.is( ":focus" ) ) {
+ // Redirect focus to the menu
+ this.element.trigger( "focus", [ true ] );
+
+ // If the active item is on the top level, let it stay active.
+ // Otherwise, blur the active item since it is no longer visible.
+ if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
+ clearTimeout( this.timer );
+ }
+ }
+ }
+ },
+ "mouseenter .ui-menu-item": function( event ) {
+ var target = $( event.currentTarget );
+ // Remove ui-state-active class from siblings of the newly focused menu item
+ // to avoid a jump caused by adjacent elements both having a class with a border
+ target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" );
+ this.focus( event, target );
+ },
+ mouseleave: "collapseAll",
+ "mouseleave .ui-menu": "collapseAll",
+ focus: function( event, keepActiveItem ) {
+ // If there's already an active item, keep it active
+ // If not, activate the first item
+ var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 );
+
+ if ( !keepActiveItem ) {
+ this.focus( event, item );
+ }
+ },
+ blur: function( event ) {
+ this._delay(function() {
+ if ( !$.contains( this.element[0], this.document[0].activeElement ) ) {
+ this.collapseAll( event );
+ }
+ });
+ },
+ keydown: "_keydown"
+ });
+
+ this.refresh();
+
+ // Clicks outside of a menu collapse any open menus
+ this._on( this.document, {
+ click: function( event ) {
+ if ( !$( event.target ).closest( ".ui-menu" ).length ) {
+ this.collapseAll( event );
+ }
+
+ // Reset the mouseHandled flag
+ this.mouseHandled = false;
+ }
+ });
+ },
+
+ _destroy: function() {
+ // Destroy (sub)menus
+ this.element
+ .removeAttr( "aria-activedescendant" )
+ .find( ".ui-menu" ).addBack()
+ .removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" )
+ .removeAttr( "role" )
+ .removeAttr( "tabIndex" )
+ .removeAttr( "aria-labelledby" )
+ .removeAttr( "aria-expanded" )
+ .removeAttr( "aria-hidden" )
+ .removeAttr( "aria-disabled" )
+ .removeUniqueId()
+ .show();
+
+ // Destroy menu items
+ this.element.find( ".ui-menu-item" )
+ .removeClass( "ui-menu-item" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-disabled" )
+ .children( "a" )
+ .removeUniqueId()
+ .removeClass( "ui-corner-all ui-state-hover" )
+ .removeAttr( "tabIndex" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-haspopup" )
+ .children().each( function() {
+ var elem = $( this );
+ if ( elem.data( "ui-menu-submenu-carat" ) ) {
+ elem.remove();
+ }
+ });
+
+ // Destroy menu dividers
+ this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
+ },
+
+ _keydown: function( event ) {
+ /*jshint maxcomplexity:20*/
+ var match, prev, character, skip, regex,
+ preventDefault = true;
+
+ function escape( value ) {
+ return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
+ }
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.PAGE_UP:
+ this.previousPage( event );
+ break;
+ case $.ui.keyCode.PAGE_DOWN:
+ this.nextPage( event );
+ break;
+ case $.ui.keyCode.HOME:
+ this._move( "first", "first", event );
+ break;
+ case $.ui.keyCode.END:
+ this._move( "last", "last", event );
+ break;
+ case $.ui.keyCode.UP:
+ this.previous( event );
+ break;
+ case $.ui.keyCode.DOWN:
+ this.next( event );
+ break;
+ case $.ui.keyCode.LEFT:
+ this.collapse( event );
+ break;
+ case $.ui.keyCode.RIGHT:
+ if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
+ this.expand( event );
+ }
+ break;
+ case $.ui.keyCode.ENTER:
+ case $.ui.keyCode.SPACE:
+ this._activate( event );
+ break;
+ case $.ui.keyCode.ESCAPE:
+ this.collapse( event );
+ break;
+ default:
+ preventDefault = false;
+ prev = this.previousFilter || "";
+ character = String.fromCharCode( event.keyCode );
+ skip = false;
+
+ clearTimeout( this.filterTimer );
+
+ if ( character === prev ) {
+ skip = true;
+ } else {
+ character = prev + character;
+ }
+
+ regex = new RegExp( "^" + escape( character ), "i" );
+ match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
+ return regex.test( $( this ).children( "a" ).text() );
+ });
+ match = skip && match.index( this.active.next() ) !== -1 ?
+ this.active.nextAll( ".ui-menu-item" ) :
+ match;
+
+ // If no matches on the current filter, reset to the last character pressed
+ // to move down the menu to the first item that starts with that character
+ if ( !match.length ) {
+ character = String.fromCharCode( event.keyCode );
+ regex = new RegExp( "^" + escape( character ), "i" );
+ match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
+ return regex.test( $( this ).children( "a" ).text() );
+ });
+ }
+
+ if ( match.length ) {
+ this.focus( event, match );
+ if ( match.length > 1 ) {
+ this.previousFilter = character;
+ this.filterTimer = this._delay(function() {
+ delete this.previousFilter;
+ }, 1000 );
+ } else {
+ delete this.previousFilter;
+ }
+ } else {
+ delete this.previousFilter;
+ }
+ }
+
+ if ( preventDefault ) {
+ event.preventDefault();
+ }
+ },
+
+ _activate: function( event ) {
+ if ( !this.active.is( ".ui-state-disabled" ) ) {
+ if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
+ this.expand( event );
+ } else {
+ this.select( event );
+ }
+ }
+ },
+
+ refresh: function() {
+ var menus,
+ icon = this.options.icons.submenu,
+ submenus = this.element.find( this.options.menus );
+
+ // Initialize nested menus
+ submenus.filter( ":not(.ui-menu)" )
+ .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
+ .hide()
+ .attr({
+ role: this.options.role,
+ "aria-hidden": "true",
+ "aria-expanded": "false"
+ })
+ .each(function() {
+ var menu = $( this ),
+ item = menu.prev( "a" ),
+ submenuCarat = $( "<span>" )
+ .addClass( "ui-menu-icon ui-icon " + icon )
+ .data( "ui-menu-submenu-carat", true );
+
+ item
+ .attr( "aria-haspopup", "true" )
+ .prepend( submenuCarat );
+ menu.attr( "aria-labelledby", item.attr( "id" ) );
+ });
+
+ menus = submenus.add( this.element );
+
+ // Don't refresh list items that are already adapted
+ menus.children( ":not(.ui-menu-item):has(a)" )
+ .addClass( "ui-menu-item" )
+ .attr( "role", "presentation" )
+ .children( "a" )
+ .uniqueId()
+ .addClass( "ui-corner-all" )
+ .attr({
+ tabIndex: -1,
+ role: this._itemRole()
+ });
+
+ // Initialize unlinked menu-items containing spaces and/or dashes only as dividers
+ menus.children( ":not(.ui-menu-item)" ).each(function() {
+ var item = $( this );
+ // hyphen, em dash, en dash
+ if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) {
+ item.addClass( "ui-widget-content ui-menu-divider" );
+ }
+ });
+
+ // Add aria-disabled attribute to any disabled menu item
+ menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
+
+ // If the active item has been removed, blur the menu
+ if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
+ this.blur();
+ }
+ },
+
+ _itemRole: function() {
+ return {
+ menu: "menuitem",
+ listbox: "option"
+ }[ this.options.role ];
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "icons" ) {
+ this.element.find( ".ui-menu-icon" )
+ .removeClass( this.options.icons.submenu )
+ .addClass( value.submenu );
+ }
+ this._super( key, value );
+ },
+
+ focus: function( event, item ) {
+ var nested, focused;
+ this.blur( event, event && event.type === "focus" );
+
+ this._scrollIntoView( item );
+
+ this.active = item.first();
+ focused = this.active.children( "a" ).addClass( "ui-state-focus" );
+ // Only update aria-activedescendant if there's a role
+ // otherwise we assume focus is managed elsewhere
+ if ( this.options.role ) {
+ this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
+ }
+
+ // Highlight active parent menu item, if any
+ this.active
+ .parent()
+ .closest( ".ui-menu-item" )
+ .children( "a:first" )
+ .addClass( "ui-state-active" );
+
+ if ( event && event.type === "keydown" ) {
+ this._close();
+ } else {
+ this.timer = this._delay(function() {
+ this._close();
+ }, this.delay );
+ }
+
+ nested = item.children( ".ui-menu" );
+ if ( nested.length && ( /^mouse/.test( event.type ) ) ) {
+ this._startOpening(nested);
+ }
+ this.activeMenu = item.parent();
+
+ this._trigger( "focus", event, { item: item } );
+ },
+
+ _scrollIntoView: function( item ) {
+ var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
+ if ( this._hasScroll() ) {
+ borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
+ paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
+ offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
+ scroll = this.activeMenu.scrollTop();
+ elementHeight = this.activeMenu.height();
+ itemHeight = item.height();
+
+ if ( offset < 0 ) {
+ this.activeMenu.scrollTop( scroll + offset );
+ } else if ( offset + itemHeight > elementHeight ) {
+ this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
+ }
+ }
+ },
+
+ blur: function( event, fromFocus ) {
+ if ( !fromFocus ) {
+ clearTimeout( this.timer );
+ }
+
+ if ( !this.active ) {
+ return;
+ }
+
+ this.active.children( "a" ).removeClass( "ui-state-focus" );
+ this.active = null;
+
+ this._trigger( "blur", event, { item: this.active } );
+ },
+
+ _startOpening: function( submenu ) {
+ clearTimeout( this.timer );
+
+ // Don't open if already open fixes a Firefox bug that caused a .5 pixel
+ // shift in the submenu position when mousing over the carat icon
+ if ( submenu.attr( "aria-hidden" ) !== "true" ) {
+ return;
+ }
+
+ this.timer = this._delay(function() {
+ this._close();
+ this._open( submenu );
+ }, this.delay );
+ },
+
+ _open: function( submenu ) {
+ var position = $.extend({
+ of: this.active
+ }, this.options.position );
+
+ clearTimeout( this.timer );
+ this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
+ .hide()
+ .attr( "aria-hidden", "true" );
+
+ submenu
+ .show()
+ .removeAttr( "aria-hidden" )
+ .attr( "aria-expanded", "true" )
+ .position( position );
+ },
+
+ collapseAll: function( event, all ) {
+ clearTimeout( this.timer );
+ this.timer = this._delay(function() {
+ // If we were passed an event, look for the submenu that contains the event
+ var currentMenu = all ? this.element :
+ $( event && event.target ).closest( this.element.find( ".ui-menu" ) );
+
+ // If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
+ if ( !currentMenu.length ) {
+ currentMenu = this.element;
+ }
+
+ this._close( currentMenu );
+
+ this.blur( event );
+ this.activeMenu = currentMenu;
+ }, this.delay );
+ },
+
+ // With no arguments, closes the currently active menu - if nothing is active
+ // it closes all menus. If passed an argument, it will search for menus BELOW
+ _close: function( startMenu ) {
+ if ( !startMenu ) {
+ startMenu = this.active ? this.active.parent() : this.element;
+ }
+
+ startMenu
+ .find( ".ui-menu" )
+ .hide()
+ .attr( "aria-hidden", "true" )
+ .attr( "aria-expanded", "false" )
+ .end()
+ .find( "a.ui-state-active" )
+ .removeClass( "ui-state-active" );
+ },
+
+ collapse: function( event ) {
+ var newItem = this.active &&
+ this.active.parent().closest( ".ui-menu-item", this.element );
+ if ( newItem && newItem.length ) {
+ this._close();
+ this.focus( event, newItem );
+ }
+ },
+
+ expand: function( event ) {
+ var newItem = this.active &&
+ this.active
+ .children( ".ui-menu " )
+ .children( ".ui-menu-item" )
+ .first();
+
+ if ( newItem && newItem.length ) {
+ this._open( newItem.parent() );
+
+ // Delay so Firefox will not hide activedescendant change in expanding submenu from AT
+ this._delay(function() {
+ this.focus( event, newItem );
+ });
+ }
+ },
+
+ next: function( event ) {
+ this._move( "next", "first", event );
+ },
+
+ previous: function( event ) {
+ this._move( "prev", "last", event );
+ },
+
+ isFirstItem: function() {
+ return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
+ },
+
+ isLastItem: function() {
+ return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
+ },
+
+ _move: function( direction, filter, event ) {
+ var next;
+ if ( this.active ) {
+ if ( direction === "first" || direction === "last" ) {
+ next = this.active
+ [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
+ .eq( -1 );
+ } else {
+ next = this.active
+ [ direction + "All" ]( ".ui-menu-item" )
+ .eq( 0 );
+ }
+ }
+ if ( !next || !next.length || !this.active ) {
+ next = this.activeMenu.children( ".ui-menu-item" )[ filter ]();
+ }
+
+ this.focus( event, next );
+ },
+
+ nextPage: function( event ) {
+ var item, base, height;
+
+ if ( !this.active ) {
+ this.next( event );
+ return;
+ }
+ if ( this.isLastItem() ) {
+ return;
+ }
+ if ( this._hasScroll() ) {
+ base = this.active.offset().top;
+ height = this.element.height();
+ this.active.nextAll( ".ui-menu-item" ).each(function() {
+ item = $( this );
+ return item.offset().top - base - height < 0;
+ });
+
+ this.focus( event, item );
+ } else {
+ this.focus( event, this.activeMenu.children( ".ui-menu-item" )
+ [ !this.active ? "first" : "last" ]() );
+ }
+ },
+
+ previousPage: function( event ) {
+ var item, base, height;
+ if ( !this.active ) {
+ this.next( event );
+ return;
+ }
+ if ( this.isFirstItem() ) {
+ return;
+ }
+ if ( this._hasScroll() ) {
+ base = this.active.offset().top;
+ height = this.element.height();
+ this.active.prevAll( ".ui-menu-item" ).each(function() {
+ item = $( this );
+ return item.offset().top - base + height > 0;
+ });
+
+ this.focus( event, item );
+ } else {
+ this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() );
+ }
+ },
+
+ _hasScroll: function() {
+ return this.element.outerHeight() < this.element.prop( "scrollHeight" );
+ },
+
+ select: function( event ) {
+ // TODO: It should never be possible to not have an active item at this
+ // point, but the tests don't trigger mouseenter before click.
+ this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
+ var ui = { item: this.active };
+ if ( !this.active.has( ".ui-menu" ).length ) {
+ this.collapseAll( event, true );
+ }
+ this._trigger( "select", event, ui );
+ }
+});
+
+}( jQuery ));
+
+(function( $, undefined ) {
+
+$.ui = $.ui || {};
+
+var cachedScrollbarWidth,
+ max = Math.max,
+ abs = Math.abs,
+ round = Math.round,
+ rhorizontal = /left|center|right/,
+ rvertical = /top|center|bottom/,
+ roffset = /[\+\-]\d+(\.[\d]+)?%?/,
+ rposition = /^\w+/,
+ rpercent = /%$/,
+ _position = $.fn.position;
+
+function getOffsets( offsets, width, height ) {
+ return [
+ parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
+ parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
+ ];
+}
+
+function parseCss( element, property ) {
+ return parseInt( $.css( element, property ), 10 ) || 0;
+}
+
+function getDimensions( elem ) {
+ var raw = elem[0];
+ if ( raw.nodeType === 9 ) {
+ return {
+ width: elem.width(),
+ height: elem.height(),
+ offset: { top: 0, left: 0 }
+ };
+ }
+ if ( $.isWindow( raw ) ) {
+ return {
+ width: elem.width(),
+ height: elem.height(),
+ offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
+ };
+ }
+ if ( raw.preventDefault ) {
+ return {
+ width: 0,
+ height: 0,
+ offset: { top: raw.pageY, left: raw.pageX }
+ };
+ }
+ return {
+ width: elem.outerWidth(),
+ height: elem.outerHeight(),
+ offset: elem.offset()
+ };
+}
+
+$.position = {
+ scrollbarWidth: function() {
+ if ( cachedScrollbarWidth !== undefined ) {
+ return cachedScrollbarWidth;
+ }
+ var w1, w2,
+ div = $( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
+ innerDiv = div.children()[0];
+
+ $( "body" ).append( div );
+ w1 = innerDiv.offsetWidth;
+ div.css( "overflow", "scroll" );
+
+ w2 = innerDiv.offsetWidth;
+
+ if ( w1 === w2 ) {
+ w2 = div[0].clientWidth;
+ }
+
+ div.remove();
+
+ return (cachedScrollbarWidth = w1 - w2);
+ },
+ getScrollInfo: function( within ) {
+ var overflowX = within.isWindow ? "" : within.element.css( "overflow-x" ),
+ overflowY = within.isWindow ? "" : within.element.css( "overflow-y" ),
+ hasOverflowX = overflowX === "scroll" ||
+ ( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
+ hasOverflowY = overflowY === "scroll" ||
+ ( overflowY === "auto" && within.height < within.element[0].scrollHeight );
+ return {
+ width: hasOverflowY ? $.position.scrollbarWidth() : 0,
+ height: hasOverflowX ? $.position.scrollbarWidth() : 0
+ };
+ },
+ getWithinInfo: function( element ) {
+ var withinElement = $( element || window ),
+ isWindow = $.isWindow( withinElement[0] );
+ return {
+ element: withinElement,
+ isWindow: isWindow,
+ offset: withinElement.offset() || { left: 0, top: 0 },
+ scrollLeft: withinElement.scrollLeft(),
+ scrollTop: withinElement.scrollTop(),
+ width: isWindow ? withinElement.width() : withinElement.outerWidth(),
+ height: isWindow ? withinElement.height() : withinElement.outerHeight()
+ };
+ }
+};
+
+$.fn.position = function( options ) {
+ if ( !options || !options.of ) {
+ return _position.apply( this, arguments );
+ }
+
+ // make a copy, we don't want to modify arguments
+ options = $.extend( {}, options );
+
+ var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
+ target = $( options.of ),
+ within = $.position.getWithinInfo( options.within ),
+ scrollInfo = $.position.getScrollInfo( within ),
+ collision = ( options.collision || "flip" ).split( " " ),
+ offsets = {};
+
+ dimensions = getDimensions( target );
+ if ( target[0].preventDefault ) {
+ // force left top to allow flipping
+ options.at = "left top";
+ }
+ targetWidth = dimensions.width;
+ targetHeight = dimensions.height;
+ targetOffset = dimensions.offset;
+ // clone to reuse original targetOffset later
+ basePosition = $.extend( {}, targetOffset );
+
+ // force my and at to have valid horizontal and vertical positions
+ // if a value is missing or invalid, it will be converted to center
+ $.each( [ "my", "at" ], function() {
+ var pos = ( options[ this ] || "" ).split( " " ),
+ horizontalOffset,
+ verticalOffset;
+
+ if ( pos.length === 1) {
+ pos = rhorizontal.test( pos[ 0 ] ) ?
+ pos.concat( [ "center" ] ) :
+ rvertical.test( pos[ 0 ] ) ?
+ [ "center" ].concat( pos ) :
+ [ "center", "center" ];
+ }
+ pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
+ pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
+
+ // calculate offsets
+ horizontalOffset = roffset.exec( pos[ 0 ] );
+ verticalOffset = roffset.exec( pos[ 1 ] );
+ offsets[ this ] = [
+ horizontalOffset ? horizontalOffset[ 0 ] : 0,
+ verticalOffset ? verticalOffset[ 0 ] : 0
+ ];
+
+ // reduce to just the positions without the offsets
+ options[ this ] = [
+ rposition.exec( pos[ 0 ] )[ 0 ],
+ rposition.exec( pos[ 1 ] )[ 0 ]
+ ];
+ });
+
+ // normalize collision option
+ if ( collision.length === 1 ) {
+ collision[ 1 ] = collision[ 0 ];
+ }
+
+ if ( options.at[ 0 ] === "right" ) {
+ basePosition.left += targetWidth;
+ } else if ( options.at[ 0 ] === "center" ) {
+ basePosition.left += targetWidth / 2;
+ }
+
+ if ( options.at[ 1 ] === "bottom" ) {
+ basePosition.top += targetHeight;
+ } else if ( options.at[ 1 ] === "center" ) {
+ basePosition.top += targetHeight / 2;
+ }
+
+ atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
+ basePosition.left += atOffset[ 0 ];
+ basePosition.top += atOffset[ 1 ];
+
+ return this.each(function() {
+ var collisionPosition, using,
+ elem = $( this ),
+ elemWidth = elem.outerWidth(),
+ elemHeight = elem.outerHeight(),
+ marginLeft = parseCss( this, "marginLeft" ),
+ marginTop = parseCss( this, "marginTop" ),
+ collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
+ collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
+ position = $.extend( {}, basePosition ),
+ myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
+
+ if ( options.my[ 0 ] === "right" ) {
+ position.left -= elemWidth;
+ } else if ( options.my[ 0 ] === "center" ) {
+ position.left -= elemWidth / 2;
+ }
+
+ if ( options.my[ 1 ] === "bottom" ) {
+ position.top -= elemHeight;
+ } else if ( options.my[ 1 ] === "center" ) {
+ position.top -= elemHeight / 2;
+ }
+
+ position.left += myOffset[ 0 ];
+ position.top += myOffset[ 1 ];
+
+ // if the browser doesn't support fractions, then round for consistent results
+ if ( !$.support.offsetFractions ) {
+ position.left = round( position.left );
+ position.top = round( position.top );
+ }
+
+ collisionPosition = {
+ marginLeft: marginLeft,
+ marginTop: marginTop
+ };
+
+ $.each( [ "left", "top" ], function( i, dir ) {
+ if ( $.ui.position[ collision[ i ] ] ) {
+ $.ui.position[ collision[ i ] ][ dir ]( position, {
+ targetWidth: targetWidth,
+ targetHeight: targetHeight,
+ elemWidth: elemWidth,
+ elemHeight: elemHeight,
+ collisionPosition: collisionPosition,
+ collisionWidth: collisionWidth,
+ collisionHeight: collisionHeight,
+ offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
+ my: options.my,
+ at: options.at,
+ within: within,
+ elem : elem
+ });
+ }
+ });
+
+ if ( options.using ) {
+ // adds feedback as second argument to using callback, if present
+ using = function( props ) {
+ var left = targetOffset.left - position.left,
+ right = left + targetWidth - elemWidth,
+ top = targetOffset.top - position.top,
+ bottom = top + targetHeight - elemHeight,
+ feedback = {
+ target: {
+ element: target,
+ left: targetOffset.left,
+ top: targetOffset.top,
+ width: targetWidth,
+ height: targetHeight
+ },
+ element: {
+ element: elem,
+ left: position.left,
+ top: position.top,
+ width: elemWidth,
+ height: elemHeight
+ },
+ horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
+ vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
+ };
+ if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
+ feedback.horizontal = "center";
+ }
+ if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
+ feedback.vertical = "middle";
+ }
+ if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
+ feedback.important = "horizontal";
+ } else {
+ feedback.important = "vertical";
+ }
+ options.using.call( this, props, feedback );
+ };
+ }
+
+ elem.offset( $.extend( position, { using: using } ) );
+ });
+};
+
+$.ui.position = {
+ fit: {
+ left: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
+ outerWidth = within.width,
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
+ overLeft = withinOffset - collisionPosLeft,
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
+ newOverRight;
+
+ // element is wider than within
+ if ( data.collisionWidth > outerWidth ) {
+ // element is initially over the left side of within
+ if ( overLeft > 0 && overRight <= 0 ) {
+ newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
+ position.left += overLeft - newOverRight;
+ // element is initially over right side of within
+ } else if ( overRight > 0 && overLeft <= 0 ) {
+ position.left = withinOffset;
+ // element is initially over both left and right sides of within
+ } else {
+ if ( overLeft > overRight ) {
+ position.left = withinOffset + outerWidth - data.collisionWidth;
+ } else {
+ position.left = withinOffset;
+ }
+ }
+ // too far left -> align with left edge
+ } else if ( overLeft > 0 ) {
+ position.left += overLeft;
+ // too far right -> align with right edge
+ } else if ( overRight > 0 ) {
+ position.left -= overRight;
+ // adjust based on position and margin
+ } else {
+ position.left = max( position.left - collisionPosLeft, position.left );
+ }
+ },
+ top: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
+ outerHeight = data.within.height,
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
+ overTop = withinOffset - collisionPosTop,
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
+ newOverBottom;
+
+ // element is taller than within
+ if ( data.collisionHeight > outerHeight ) {
+ // element is initially over the top of within
+ if ( overTop > 0 && overBottom <= 0 ) {
+ newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
+ position.top += overTop - newOverBottom;
+ // element is initially over bottom of within
+ } else if ( overBottom > 0 && overTop <= 0 ) {
+ position.top = withinOffset;
+ // element is initially over both top and bottom of within
+ } else {
+ if ( overTop > overBottom ) {
+ position.top = withinOffset + outerHeight - data.collisionHeight;
+ } else {
+ position.top = withinOffset;
+ }
+ }
+ // too far up -> align with top
+ } else if ( overTop > 0 ) {
+ position.top += overTop;
+ // too far down -> align with bottom edge
+ } else if ( overBottom > 0 ) {
+ position.top -= overBottom;
+ // adjust based on position and margin
+ } else {
+ position.top = max( position.top - collisionPosTop, position.top );
+ }
+ }
+ },
+ flip: {
+ left: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.offset.left + within.scrollLeft,
+ outerWidth = within.width,
+ offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
+ overLeft = collisionPosLeft - offsetLeft,
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
+ myOffset = data.my[ 0 ] === "left" ?
+ -data.elemWidth :
+ data.my[ 0 ] === "right" ?
+ data.elemWidth :
+ 0,
+ atOffset = data.at[ 0 ] === "left" ?
+ data.targetWidth :
+ data.at[ 0 ] === "right" ?
+ -data.targetWidth :
+ 0,
+ offset = -2 * data.offset[ 0 ],
+ newOverRight,
+ newOverLeft;
+
+ if ( overLeft < 0 ) {
+ newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
+ if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
+ position.left += myOffset + atOffset + offset;
+ }
+ }
+ else if ( overRight > 0 ) {
+ newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
+ if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
+ position.left += myOffset + atOffset + offset;
+ }
+ }
+ },
+ top: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.offset.top + within.scrollTop,
+ outerHeight = within.height,
+ offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
+ overTop = collisionPosTop - offsetTop,
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
+ top = data.my[ 1 ] === "top",
+ myOffset = top ?
+ -data.elemHeight :
+ data.my[ 1 ] === "bottom" ?
+ data.elemHeight :
+ 0,
+ atOffset = data.at[ 1 ] === "top" ?
+ data.targetHeight :
+ data.at[ 1 ] === "bottom" ?
+ -data.targetHeight :
+ 0,
+ offset = -2 * data.offset[ 1 ],
+ newOverTop,
+ newOverBottom;
+ if ( overTop < 0 ) {
+ newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
+ if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) {
+ position.top += myOffset + atOffset + offset;
+ }
+ }
+ else if ( overBottom > 0 ) {
+ newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
+ if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {
+ position.top += myOffset + atOffset + offset;
+ }
+ }
+ }
+ },
+ flipfit: {
+ left: function() {
+ $.ui.position.flip.left.apply( this, arguments );
+ $.ui.position.fit.left.apply( this, arguments );
+ },
+ top: function() {
+ $.ui.position.flip.top.apply( this, arguments );
+ $.ui.position.fit.top.apply( this, arguments );
+ }
+ }
+};
+
+// fraction support test
+(function () {
+ var testElement, testElementParent, testElementStyle, offsetLeft, i,
+ body = document.getElementsByTagName( "body" )[ 0 ],
+ div = document.createElement( "div" );
+
+ //Create a "fake body" for testing based on method used in jQuery.support
+ testElement = document.createElement( body ? "div" : "body" );
+ testElementStyle = {
+ visibility: "hidden",
+ width: 0,
+ height: 0,
+ border: 0,
+ margin: 0,
+ background: "none"
+ };
+ if ( body ) {
+ $.extend( testElementStyle, {
+ position: "absolute",
+ left: "-1000px",
+ top: "-1000px"
+ });
+ }
+ for ( i in testElementStyle ) {
+ testElement.style[ i ] = testElementStyle[ i ];
+ }
+ testElement.appendChild( div );
+ testElementParent = body || document.documentElement;
+ testElementParent.insertBefore( testElement, testElementParent.firstChild );
+
+ div.style.cssText = "position: absolute; left: 10.7432222px;";
+
+ offsetLeft = $( div ).offset().left;
+ $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
+
+ testElement.innerHTML = "";
+ testElementParent.removeChild( testElement );
+})();
+
+}( jQuery ) );
+
+(function( $, undefined ) {
+
+$.widget( "ui.progressbar", {
+ version: "1.10.3",
+ options: {
+ max: 100,
+ value: 0,
+
+ change: null,
+ complete: null
+ },
+
+ min: 0,
+
+ _create: function() {
+ // Constrain initial value
+ this.oldValue = this.options.value = this._constrainedValue();
+
+ this.element
+ .addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
+ .attr({
+ // Only set static values, aria-valuenow and aria-valuemax are
+ // set inside _refreshValue()
+ role: "progressbar",
+ "aria-valuemin": this.min
+ });
+
+ this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
+ .appendTo( this.element );
+
+ this._refreshValue();
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-valuemin" )
+ .removeAttr( "aria-valuemax" )
+ .removeAttr( "aria-valuenow" );
+
+ this.valueDiv.remove();
+ },
+
+ value: function( newValue ) {
+ if ( newValue === undefined ) {
+ return this.options.value;
+ }
+
+ this.options.value = this._constrainedValue( newValue );
+ this._refreshValue();
+ },
+
+ _constrainedValue: function( newValue ) {
+ if ( newValue === undefined ) {
+ newValue = this.options.value;
+ }
+
+ this.indeterminate = newValue === false;
+
+ // sanitize value
+ if ( typeof newValue !== "number" ) {
+ newValue = 0;
+ }
+
+ return this.indeterminate ? false :
+ Math.min( this.options.max, Math.max( this.min, newValue ) );
+ },
+
+ _setOptions: function( options ) {
+ // Ensure "value" option is set after other values (like max)
+ var value = options.value;
+ delete options.value;
+
+ this._super( options );
+
+ this.options.value = this._constrainedValue( value );
+ this._refreshValue();
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "max" ) {
+ // Don't allow a max less than min
+ value = Math.max( this.min, value );
+ }
+
+ this._super( key, value );
+ },
+
+ _percentage: function() {
+ return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );
+ },
+
+ _refreshValue: function() {
+ var value = this.options.value,
+ percentage = this._percentage();
+
+ this.valueDiv
+ .toggle( this.indeterminate || value > this.min )
+ .toggleClass( "ui-corner-right", value === this.options.max )
+ .width( percentage.toFixed(0) + "%" );
+
+ this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
+
+ if ( this.indeterminate ) {
+ this.element.removeAttr( "aria-valuenow" );
+ if ( !this.overlayDiv ) {
+ this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
+ }
+ } else {
+ this.element.attr({
+ "aria-valuemax": this.options.max,
+ "aria-valuenow": value
+ });
+ if ( this.overlayDiv ) {
+ this.overlayDiv.remove();
+ this.overlayDiv = null;
+ }
+ }
+
+ if ( this.oldValue !== value ) {
+ this.oldValue = value;
+ this._trigger( "change" );
+ }
+ if ( value === this.options.max ) {
+ this._trigger( "complete" );
+ }
+ }
+});
+
+})( jQuery );
+
+(function( $, undefined ) {
+
+// number of pages in a slider
+// (how many times can you page up/down to go through the whole range)
+var numPages = 5;
+
+$.widget( "ui.slider", $.ui.mouse, {
+ version: "1.10.3",
+ widgetEventPrefix: "slide",
+
+ options: {
+ animate: false,
+ distance: 0,
+ max: 100,
+ min: 0,
+ orientation: "horizontal",
+ range: false,
+ step: 1,
+ value: 0,
+ values: null,
+
+ // callbacks
+ change: null,
+ slide: null,
+ start: null,
+ stop: null
+ },
+
+ _create: function() {
+ this._keySliding = false;
+ this._mouseSliding = false;
+ this._animateOff = true;
+ this._handleIndex = null;
+ this._detectOrientation();
+ this._mouseInit();
+
+ this.element
+ .addClass( "ui-slider" +
+ " ui-slider-" + this.orientation +
+ " ui-widget" +
+ " ui-widget-content" +
+ " ui-corner-all");
+
+ this._refresh();
+ this._setOption( "disabled", this.options.disabled );
+
+ this._animateOff = false;
+ },
+
+ _refresh: function() {
+ this._createRange();
+ this._createHandles();
+ this._setupEvents();
+ this._refreshValue();
+ },
+
+ _createHandles: function() {
+ var i, handleCount,
+ options = this.options,
+ existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
+ handle = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",
+ handles = [];
+
+ handleCount = ( options.values && options.values.length ) || 1;
+
+ if ( existingHandles.length > handleCount ) {
+ existingHandles.slice( handleCount ).remove();
+ existingHandles = existingHandles.slice( 0, handleCount );
+ }
+
+ for ( i = existingHandles.length; i < handleCount; i++ ) {
+ handles.push( handle );
+ }
+
+ this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) );
+
+ this.handle = this.handles.eq( 0 );
+
+ this.handles.each(function( i ) {
+ $( this ).data( "ui-slider-handle-index", i );
+ });
+ },
+
+ _createRange: function() {
+ var options = this.options,
+ classes = "";
+
+ if ( options.range ) {
+ if ( options.range === true ) {
+ if ( !options.values ) {
+ options.values = [ this._valueMin(), this._valueMin() ];
+ } else if ( options.values.length && options.values.length !== 2 ) {
+ options.values = [ options.values[0], options.values[0] ];
+ } else if ( $.isArray( options.values ) ) {
+ options.values = options.values.slice(0);
+ }
+ }
+
+ if ( !this.range || !this.range.length ) {
+ this.range = $( "<div></div>" )
+ .appendTo( this.element );
+
+ classes = "ui-slider-range" +
+ // note: this isn't the most fittingly semantic framework class for this element,
+ // but worked best visually with a variety of themes
+ " ui-widget-header ui-corner-all";
+ } else {
+ this.range.removeClass( "ui-slider-range-min ui-slider-range-max" )
+ // Handle range switching from true to min/max
+ .css({
+ "left": "",
+ "bottom": ""
+ });
+ }
+
+ this.range.addClass( classes +
+ ( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) );
+ } else {
+ this.range = $([]);
+ }
+ },
+
+ _setupEvents: function() {
+ var elements = this.handles.add( this.range ).filter( "a" );
+ this._off( elements );
+ this._on( elements, this._handleEvents );
+ this._hoverable( elements );
+ this._focusable( elements );
+ },
+
+ _destroy: function() {
+ this.handles.remove();
+ this.range.remove();
+
+ this.element
+ .removeClass( "ui-slider" +
+ " ui-slider-horizontal" +
+ " ui-slider-vertical" +
+ " ui-widget" +
+ " ui-widget-content" +
+ " ui-corner-all" );
+
+ this._mouseDestroy();
+ },
+
+ _mouseCapture: function( event ) {
+ var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,
+ that = this,
+ o = this.options;
+
+ if ( o.disabled ) {
+ return false;
+ }
+
+ this.elementSize = {
+ width: this.element.outerWidth(),
+ height: this.element.outerHeight()
+ };
+ this.elementOffset = this.element.offset();
+
+ position = { x: event.pageX, y: event.pageY };
+ normValue = this._normValueFromMouse( position );
+ distance = this._valueMax() - this._valueMin() + 1;
+ this.handles.each(function( i ) {
+ var thisDistance = Math.abs( normValue - that.values(i) );
+ if (( distance > thisDistance ) ||
+ ( distance === thisDistance &&
+ (i === that._lastChangedValue || that.values(i) === o.min ))) {
+ distance = thisDistance;
+ closestHandle = $( this );
+ index = i;
+ }
+ });
+
+ allowed = this._start( event, index );
+ if ( allowed === false ) {
+ return false;
+ }
+ this._mouseSliding = true;
+
+ this._handleIndex = index;
+
+ closestHandle
+ .addClass( "ui-state-active" )
+ .focus();
+
+ offset = closestHandle.offset();
+ mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
+ this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
+ left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
+ top: event.pageY - offset.top -
+ ( closestHandle.height() / 2 ) -
+ ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
+ ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
+ ( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
+ };
+
+ if ( !this.handles.hasClass( "ui-state-hover" ) ) {
+ this._slide( event, index, normValue );
+ }
+ this._animateOff = true;
+ return true;
+ },
+
+ _mouseStart: function() {
+ return true;
+ },
+
+ _mouseDrag: function( event ) {
+ var position = { x: event.pageX, y: event.pageY },
+ normValue = this._normValueFromMouse( position );
+
+ this._slide( event, this._handleIndex, normValue );
+
+ return false;
+ },
+
+ _mouseStop: function( event ) {
+ this.handles.removeClass( "ui-state-active" );
+ this._mouseSliding = false;
+
+ this._stop( event, this._handleIndex );
+ this._change( event, this._handleIndex );
+
+ this._handleIndex = null;
+ this._clickOffset = null;
+ this._animateOff = false;
+
+ return false;
+ },
+
+ _detectOrientation: function() {
+ this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
+ },
+
+ _normValueFromMouse: function( position ) {
+ var pixelTotal,
+ pixelMouse,
+ percentMouse,
+ valueTotal,
+ valueMouse;
+
+ if ( this.orientation === "horizontal" ) {
+ pixelTotal = this.elementSize.width;
+ pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
+ } else {
+ pixelTotal = this.elementSize.height;
+ pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
+ }
+
+ percentMouse = ( pixelMouse / pixelTotal );
+ if ( percentMouse > 1 ) {
+ percentMouse = 1;
+ }
+ if ( percentMouse < 0 ) {
+ percentMouse = 0;
+ }
+ if ( this.orientation === "vertical" ) {
+ percentMouse = 1 - percentMouse;
+ }
+
+ valueTotal = this._valueMax() - this._valueMin();
+ valueMouse = this._valueMin() + percentMouse * valueTotal;
+
+ return this._trimAlignValue( valueMouse );
+ },
+
+ _start: function( event, index ) {
+ var uiHash = {
+ handle: this.handles[ index ],
+ value: this.value()
+ };
+ if ( this.options.values && this.options.values.length ) {
+ uiHash.value = this.values( index );
+ uiHash.values = this.values();
+ }
+ return this._trigger( "start", event, uiHash );
+ },
+
+ _slide: function( event, index, newVal ) {
+ var otherVal,
+ newValues,
+ allowed;
+
+ if ( this.options.values && this.options.values.length ) {
+ otherVal = this.values( index ? 0 : 1 );
+
+ if ( ( this.options.values.length === 2 && this.options.range === true ) &&
+ ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
+ ) {
+ newVal = otherVal;
+ }
+
+ if ( newVal !== this.values( index ) ) {
+ newValues = this.values();
+ newValues[ index ] = newVal;
+ // A slide can be canceled by returning false from the slide callback
+ allowed = this._trigger( "slide", event, {
+ handle: this.handles[ index ],
+ value: newVal,
+ values: newValues
+ } );
+ otherVal = this.values( index ? 0 : 1 );
+ if ( allowed !== false ) {
+ this.values( index, newVal, true );
+ }
+ }
+ } else {
+ if ( newVal !== this.value() ) {
+ // A slide can be canceled by returning false from the slide callback
+ allowed = this._trigger( "slide", event, {
+ handle: this.handles[ index ],
+ value: newVal
+ } );
+ if ( allowed !== false ) {
+ this.value( newVal );
+ }
+ }
+ }
+ },
+
+ _stop: function( event, index ) {
+ var uiHash = {
+ handle: this.handles[ index ],
+ value: this.value()
+ };
+ if ( this.options.values && this.options.values.length ) {
+ uiHash.value = this.values( index );
+ uiHash.values = this.values();
+ }
+
+ this._trigger( "stop", event, uiHash );
+ },
+
+ _change: function( event, index ) {
+ if ( !this._keySliding && !this._mouseSliding ) {
+ var uiHash = {
+ handle: this.handles[ index ],
+ value: this.value()
+ };
+ if ( this.options.values && this.options.values.length ) {
+ uiHash.value = this.values( index );
+ uiHash.values = this.values();
+ }
+
+ //store the last changed value index for reference when handles overlap
+ this._lastChangedValue = index;
+
+ this._trigger( "change", event, uiHash );
+ }
+ },
+
+ value: function( newValue ) {
+ if ( arguments.length ) {
+ this.options.value = this._trimAlignValue( newValue );
+ this._refreshValue();
+ this._change( null, 0 );
+ return;
+ }
+
+ return this._value();
+ },
+
+ values: function( index, newValue ) {
+ var vals,
+ newValues,
+ i;
+
+ if ( arguments.length > 1 ) {
+ this.options.values[ index ] = this._trimAlignValue( newValue );
+ this._refreshValue();
+ this._change( null, index );
+ return;
+ }
+
+ if ( arguments.length ) {
+ if ( $.isArray( arguments[ 0 ] ) ) {
+ vals = this.options.values;
+ newValues = arguments[ 0 ];
+ for ( i = 0; i < vals.length; i += 1 ) {
+ vals[ i ] = this._trimAlignValue( newValues[ i ] );
+ this._change( null, i );
+ }
+ this._refreshValue();
+ } else {
+ if ( this.options.values && this.options.values.length ) {
+ return this._values( index );
+ } else {
+ return this.value();
+ }
+ }
+ } else {
+ return this._values();
+ }
+ },
+
+ _setOption: function( key, value ) {
+ var i,
+ valsLength = 0;
+
+ if ( key === "range" && this.options.range === true ) {
+ if ( value === "min" ) {
+ this.options.value = this._values( 0 );
+ this.options.values = null;
+ } else if ( value === "max" ) {
+ this.options.value = this._values( this.options.values.length-1 );
+ this.options.values = null;
+ }
+ }
+
+ if ( $.isArray( this.options.values ) ) {
+ valsLength = this.options.values.length;
+ }
+
+ $.Widget.prototype._setOption.apply( this, arguments );
+
+ switch ( key ) {
+ case "orientation":
+ this._detectOrientation();
+ this.element
+ .removeClass( "ui-slider-horizontal ui-slider-vertical" )
+ .addClass( "ui-slider-" + this.orientation );
+ this._refreshValue();
+ break;
+ case "value":
+ this._animateOff = true;
+ this._refreshValue();
+ this._change( null, 0 );
+ this._animateOff = false;
+ break;
+ case "values":
+ this._animateOff = true;
+ this._refreshValue();
+ for ( i = 0; i < valsLength; i += 1 ) {
+ this._change( null, i );
+ }
+ this._animateOff = false;
+ break;
+ case "min":
+ case "max":
+ this._animateOff = true;
+ this._refreshValue();
+ this._animateOff = false;
+ break;
+ case "range":
+ this._animateOff = true;
+ this._refresh();
+ this._animateOff = false;
+ break;
+ }
+ },
+
+ //internal value getter
+ // _value() returns value trimmed by min and max, aligned by step
+ _value: function() {
+ var val = this.options.value;
+ val = this._trimAlignValue( val );
+
+ return val;
+ },
+
+ //internal values getter
+ // _values() returns array of values trimmed by min and max, aligned by step
+ // _values( index ) returns single value trimmed by min and max, aligned by step
+ _values: function( index ) {
+ var val,
+ vals,
+ i;
+
+ if ( arguments.length ) {
+ val = this.options.values[ index ];
+ val = this._trimAlignValue( val );
+
+ return val;
+ } else if ( this.options.values && this.options.values.length ) {
+ // .slice() creates a copy of the array
+ // this copy gets trimmed by min and max and then returned
+ vals = this.options.values.slice();
+ for ( i = 0; i < vals.length; i+= 1) {
+ vals[ i ] = this._trimAlignValue( vals[ i ] );
+ }
+
+ return vals;
+ } else {
+ return [];
+ }
+ },
+
+ // returns the step-aligned value that val is closest to, between (inclusive) min and max
+ _trimAlignValue: function( val ) {
+ if ( val <= this._valueMin() ) {
+ return this._valueMin();
+ }
+ if ( val >= this._valueMax() ) {
+ return this._valueMax();
+ }
+ var step = ( this.options.step > 0 ) ? this.options.step : 1,
+ valModStep = (val - this._valueMin()) % step,
+ alignValue = val - valModStep;
+
+ if ( Math.abs(valModStep) * 2 >= step ) {
+ alignValue += ( valModStep > 0 ) ? step : ( -step );
+ }
+
+ // Since JavaScript has problems with large floats, round
+ // the final value to 5 digits after the decimal point (see #4124)
+ return parseFloat( alignValue.toFixed(5) );
+ },
+
+ _valueMin: function() {
+ return this.options.min;
+ },
+
+ _valueMax: function() {
+ return this.options.max;
+ },
+
+ _refreshValue: function() {
+ var lastValPercent, valPercent, value, valueMin, valueMax,
+ oRange = this.options.range,
+ o = this.options,
+ that = this,
+ animate = ( !this._animateOff ) ? o.animate : false,
+ _set = {};
+
+ if ( this.options.values && this.options.values.length ) {
+ this.handles.each(function( i ) {
+ valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;
+ _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
+ $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
+ if ( that.options.range === true ) {
+ if ( that.orientation === "horizontal" ) {
+ if ( i === 0 ) {
+ that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
+ }
+ if ( i === 1 ) {
+ that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ } else {
+ if ( i === 0 ) {
+ that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
+ }
+ if ( i === 1 ) {
+ that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ }
+ }
+ lastValPercent = valPercent;
+ });
+ } else {
+ value = this.value();
+ valueMin = this._valueMin();
+ valueMax = this._valueMax();
+ valPercent = ( valueMax !== valueMin ) ?
+ ( value - valueMin ) / ( valueMax - valueMin ) * 100 :
+ 0;
+ _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
+ this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
+
+ if ( oRange === "min" && this.orientation === "horizontal" ) {
+ this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
+ }
+ if ( oRange === "max" && this.orientation === "horizontal" ) {
+ this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ if ( oRange === "min" && this.orientation === "vertical" ) {
+ this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
+ }
+ if ( oRange === "max" && this.orientation === "vertical" ) {
+ this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ }
+ },
+
+ _handleEvents: {
+ keydown: function( event ) {
+ /*jshint maxcomplexity:25*/
+ var allowed, curVal, newVal, step,
+ index = $( event.target ).data( "ui-slider-handle-index" );
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.HOME:
+ case $.ui.keyCode.END:
+ case $.ui.keyCode.PAGE_UP:
+ case $.ui.keyCode.PAGE_DOWN:
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.RIGHT:
+ case $.ui.keyCode.DOWN:
+ case $.ui.keyCode.LEFT:
+ event.preventDefault();
+ if ( !this._keySliding ) {
+ this._keySliding = true;
+ $( event.target ).addClass( "ui-state-active" );
+ allowed = this._start( event, index );
+ if ( allowed === false ) {
+ return;
+ }
+ }
+ break;
+ }
+
+ step = this.options.step;
+ if ( this.options.values && this.options.values.length ) {
+ curVal = newVal = this.values( index );
+ } else {
+ curVal = newVal = this.value();
+ }
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.HOME:
+ newVal = this._valueMin();
+ break;
+ case $.ui.keyCode.END:
+ newVal = this._valueMax();
+ break;
+ case $.ui.keyCode.PAGE_UP:
+ newVal = this._trimAlignValue( curVal + ( (this._valueMax() - this._valueMin()) / numPages ) );
+ break;
+ case $.ui.keyCode.PAGE_DOWN:
+ newVal = this._trimAlignValue( curVal - ( (this._valueMax() - this._valueMin()) / numPages ) );
+ break;
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.RIGHT:
+ if ( curVal === this._valueMax() ) {
+ return;
+ }
+ newVal = this._trimAlignValue( curVal + step );
+ break;
+ case $.ui.keyCode.DOWN:
+ case $.ui.keyCode.LEFT:
+ if ( curVal === this._valueMin() ) {
+ return;
+ }
+ newVal = this._trimAlignValue( curVal - step );
+ break;
+ }
+
+ this._slide( event, index, newVal );
+ },
+ click: function( event ) {
+ event.preventDefault();
+ },
+ keyup: function( event ) {
+ var index = $( event.target ).data( "ui-slider-handle-index" );
+
+ if ( this._keySliding ) {
+ this._keySliding = false;
+ this._stop( event, index );
+ this._change( event, index );
+ $( event.target ).removeClass( "ui-state-active" );
+ }
+ }
+ }
+
+});
+
+}(jQuery));
+
+(function( $ ) {
+
+function modifier( fn ) {
+ return function() {
+ var previous = this.element.val();
+ fn.apply( this, arguments );
+ this._refresh();
+ if ( previous !== this.element.val() ) {
+ this._trigger( "change" );
+ }
+ };
+}
+
+$.widget( "ui.spinner", {
+ version: "1.10.3",
+ defaultElement: "<input>",
+ widgetEventPrefix: "spin",
+ options: {
+ culture: null,
+ icons: {
+ down: "ui-icon-triangle-1-s",
+ up: "ui-icon-triangle-1-n"
+ },
+ incremental: true,
+ max: null,
+ min: null,
+ numberFormat: null,
+ page: 10,
+ step: 1,
+
+ change: null,
+ spin: null,
+ start: null,
+ stop: null
+ },
+
+ _create: function() {
+ // handle string values that need to be parsed
+ this._setOption( "max", this.options.max );
+ this._setOption( "min", this.options.min );
+ this._setOption( "step", this.options.step );
+
+ // format the value, but don't constrain
+ this._value( this.element.val(), true );
+
+ this._draw();
+ this._on( this._events );
+ this._refresh();
+
+ // turning off autocomplete prevents the browser from remembering the
+ // value when navigating through history, so we re-enable autocomplete
+ // if the page is unloaded before the widget is destroyed. #7790
+ this._on( this.window, {
+ beforeunload: function() {
+ this.element.removeAttr( "autocomplete" );
+ }
+ });
+ },
+
+ _getCreateOptions: function() {
+ var options = {},
+ element = this.element;
+
+ $.each( [ "min", "max", "step" ], function( i, option ) {
+ var value = element.attr( option );
+ if ( value !== undefined && value.length ) {
+ options[ option ] = value;
+ }
+ });
+
+ return options;
+ },
+
+ _events: {
+ keydown: function( event ) {
+ if ( this._start( event ) && this._keydown( event ) ) {
+ event.preventDefault();
+ }
+ },
+ keyup: "_stop",
+ focus: function() {
+ this.previous = this.element.val();
+ },
+ blur: function( event ) {
+ if ( this.cancelBlur ) {
+ delete this.cancelBlur;
+ return;
+ }
+
+ this._stop();
+ this._refresh();
+ if ( this.previous !== this.element.val() ) {
+ this._trigger( "change", event );
+ }
+ },
+ mousewheel: function( event, delta ) {
+ if ( !delta ) {
+ return;
+ }
+ if ( !this.spinning && !this._start( event ) ) {
+ return false;
+ }
+
+ this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
+ clearTimeout( this.mousewheelTimer );
+ this.mousewheelTimer = this._delay(function() {
+ if ( this.spinning ) {
+ this._stop( event );
+ }
+ }, 100 );
+ event.preventDefault();
+ },
+ "mousedown .ui-spinner-button": function( event ) {
+ var previous;
+
+ // We never want the buttons to have focus; whenever the user is
+ // interacting with the spinner, the focus should be on the input.
+ // If the input is focused then this.previous is properly set from
+ // when the input first received focus. If the input is not focused
+ // then we need to set this.previous based on the value before spinning.
+ previous = this.element[0] === this.document[0].activeElement ?
+ this.previous : this.element.val();
+ function checkFocus() {
+ var isActive = this.element[0] === this.document[0].activeElement;
+ if ( !isActive ) {
+ this.element.focus();
+ this.previous = previous;
+ // support: IE
+ // IE sets focus asynchronously, so we need to check if focus
+ // moved off of the input because the user clicked on the button.
+ this._delay(function() {
+ this.previous = previous;
+ });
+ }
+ }
+
+ // ensure focus is on (or stays on) the text field
+ event.preventDefault();
+ checkFocus.call( this );
+
+ // support: IE
+ // IE doesn't prevent moving focus even with event.preventDefault()
+ // so we set a flag to know when we should ignore the blur event
+ // and check (again) if focus moved off of the input.
+ this.cancelBlur = true;
+ this._delay(function() {
+ delete this.cancelBlur;
+ checkFocus.call( this );
+ });
+
+ if ( this._start( event ) === false ) {
+ return;
+ }
+
+ this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
+ },
+ "mouseup .ui-spinner-button": "_stop",
+ "mouseenter .ui-spinner-button": function( event ) {
+ // button will add ui-state-active if mouse was down while mouseleave and kept down
+ if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
+ return;
+ }
+
+ if ( this._start( event ) === false ) {
+ return false;
+ }
+ this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
+ },
+ // TODO: do we really want to consider this a stop?
+ // shouldn't we just stop the repeater and wait until mouseup before
+ // we trigger the stop event?
+ "mouseleave .ui-spinner-button": "_stop"
+ },
+
+ _draw: function() {
+ var uiSpinner = this.uiSpinner = this.element
+ .addClass( "ui-spinner-input" )
+ .attr( "autocomplete", "off" )
+ .wrap( this._uiSpinnerHtml() )
+ .parent()
+ // add buttons
+ .append( this._buttonHtml() );
+
+ this.element.attr( "role", "spinbutton" );
+
+ // button bindings
+ this.buttons = uiSpinner.find( ".ui-spinner-button" )
+ .attr( "tabIndex", -1 )
+ .button()
+ .removeClass( "ui-corner-all" );
+
+ // IE 6 doesn't understand height: 50% for the buttons
+ // unless the wrapper has an explicit height
+ if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
+ uiSpinner.height() > 0 ) {
+ uiSpinner.height( uiSpinner.height() );
+ }
+
+ // disable spinner if element was already disabled
+ if ( this.options.disabled ) {
+ this.disable();
+ }
+ },
+
+ _keydown: function( event ) {
+ var options = this.options,
+ keyCode = $.ui.keyCode;
+
+ switch ( event.keyCode ) {
+ case keyCode.UP:
+ this._repeat( null, 1, event );
+ return true;
+ case keyCode.DOWN:
+ this._repeat( null, -1, event );
+ return true;
+ case keyCode.PAGE_UP:
+ this._repeat( null, options.page, event );
+ return true;
+ case keyCode.PAGE_DOWN:
+ this._repeat( null, -options.page, event );
+ return true;
+ }
+
+ return false;
+ },
+
+ _uiSpinnerHtml: function() {
+ return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
+ },
+
+ _buttonHtml: function() {
+ return "" +
+ "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
+ "<span class='ui-icon " + this.options.icons.up + "'>▲</span>" +
+ "</a>" +
+ "<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
+ "<span class='ui-icon " + this.options.icons.down + "'>▼</span>" +
+ "</a>";
+ },
+
+ _start: function( event ) {
+ if ( !this.spinning && this._trigger( "start", event ) === false ) {
+ return false;
+ }
+
+ if ( !this.counter ) {
+ this.counter = 1;
+ }
+ this.spinning = true;
+ return true;
+ },
+
+ _repeat: function( i, steps, event ) {
+ i = i || 500;
+
+ clearTimeout( this.timer );
+ this.timer = this._delay(function() {
+ this._repeat( 40, steps, event );
+ }, i );
+
+ this._spin( steps * this.options.step, event );
+ },
+
+ _spin: function( step, event ) {
+ var value = this.value() || 0;
+
+ if ( !this.counter ) {
+ this.counter = 1;
+ }
+
+ value = this._adjustValue( value + step * this._increment( this.counter ) );
+
+ if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
+ this._value( value );
+ this.counter++;
+ }
+ },
+
+ _increment: function( i ) {
+ var incremental = this.options.incremental;
+
+ if ( incremental ) {
+ return $.isFunction( incremental ) ?
+ incremental( i ) :
+ Math.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 );
+ }
+
+ return 1;
+ },
+
+ _precision: function() {
+ var precision = this._precisionOf( this.options.step );
+ if ( this.options.min !== null ) {
+ precision = Math.max( precision, this._precisionOf( this.options.min ) );
+ }
+ return precision;
+ },
+
+ _precisionOf: function( num ) {
+ var str = num.toString(),
+ decimal = str.indexOf( "." );
+ return decimal === -1 ? 0 : str.length - decimal - 1;
+ },
+
+ _adjustValue: function( value ) {
+ var base, aboveMin,
+ options = this.options;
+
+ // make sure we're at a valid step
+ // - find out where we are relative to the base (min or 0)
+ base = options.min !== null ? options.min : 0;
+ aboveMin = value - base;
+ // - round to the nearest step
+ aboveMin = Math.round(aboveMin / options.step) * options.step;
+ // - rounding is based on 0, so adjust back to our base
+ value = base + aboveMin;
+
+ // fix precision from bad JS floating point math
+ value = parseFloat( value.toFixed( this._precision() ) );
+
+ // clamp the value
+ if ( options.max !== null && value > options.max) {
+ return options.max;
+ }
+ if ( options.min !== null && value < options.min ) {
+ return options.min;
+ }
+
+ return value;
+ },
+
+ _stop: function( event ) {
+ if ( !this.spinning ) {
+ return;
+ }
+
+ clearTimeout( this.timer );
+ clearTimeout( this.mousewheelTimer );
+ this.counter = 0;
+ this.spinning = false;
+ this._trigger( "stop", event );
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "culture" || key === "numberFormat" ) {
+ var prevValue = this._parse( this.element.val() );
+ this.options[ key ] = value;
+ this.element.val( this._format( prevValue ) );
+ return;
+ }
+
+ if ( key === "max" || key === "min" || key === "step" ) {
+ if ( typeof value === "string" ) {
+ value = this._parse( value );
+ }
+ }
+ if ( key === "icons" ) {
+ this.buttons.first().find( ".ui-icon" )
+ .removeClass( this.options.icons.up )
+ .addClass( value.up );
+ this.buttons.last().find( ".ui-icon" )
+ .removeClass( this.options.icons.down )
+ .addClass( value.down );
+ }
+
+ this._super( key, value );
+
+ if ( key === "disabled" ) {
+ if ( value ) {
+ this.element.prop( "disabled", true );
+ this.buttons.button( "disable" );
+ } else {
+ this.element.prop( "disabled", false );
+ this.buttons.button( "enable" );
+ }
+ }
+ },
+
+ _setOptions: modifier(function( options ) {
+ this._super( options );
+ this._value( this.element.val() );
+ }),
+
+ _parse: function( val ) {
+ if ( typeof val === "string" && val !== "" ) {
+ val = window.Globalize && this.options.numberFormat ?
+ Globalize.parseFloat( val, 10, this.options.culture ) : +val;
+ }
+ return val === "" || isNaN( val ) ? null : val;
+ },
+
+ _format: function( value ) {
+ if ( value === "" ) {
+ return "";
+ }
+ return window.Globalize && this.options.numberFormat ?
+ Globalize.format( value, this.options.numberFormat, this.options.culture ) :
+ value;
+ },
+
+ _refresh: function() {
+ this.element.attr({
+ "aria-valuemin": this.options.min,
+ "aria-valuemax": this.options.max,
+ // TODO: what should we do with values that can't be parsed?
+ "aria-valuenow": this._parse( this.element.val() )
+ });
+ },
+
+ // update the value without triggering change
+ _value: function( value, allowAny ) {
+ var parsed;
+ if ( value !== "" ) {
+ parsed = this._parse( value );
+ if ( parsed !== null ) {
+ if ( !allowAny ) {
+ parsed = this._adjustValue( parsed );
+ }
+ value = this._format( parsed );
+ }
+ }
+ this.element.val( value );
+ this._refresh();
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass( "ui-spinner-input" )
+ .prop( "disabled", false )
+ .removeAttr( "autocomplete" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-valuemin" )
+ .removeAttr( "aria-valuemax" )
+ .removeAttr( "aria-valuenow" );
+ this.uiSpinner.replaceWith( this.element );
+ },
+
+ stepUp: modifier(function( steps ) {
+ this._stepUp( steps );
+ }),
+ _stepUp: function( steps ) {
+ if ( this._start() ) {
+ this._spin( (steps || 1) * this.options.step );
+ this._stop();
+ }
+ },
+
+ stepDown: modifier(function( steps ) {
+ this._stepDown( steps );
+ }),
+ _stepDown: function( steps ) {
+ if ( this._start() ) {
+ this._spin( (steps || 1) * -this.options.step );
+ this._stop();
+ }
+ },
+
+ pageUp: modifier(function( pages ) {
+ this._stepUp( (pages || 1) * this.options.page );
+ }),
+
+ pageDown: modifier(function( pages ) {
+ this._stepDown( (pages || 1) * this.options.page );
+ }),
+
+ value: function( newVal ) {
+ if ( !arguments.length ) {
+ return this._parse( this.element.val() );
+ }
+ modifier( this._value ).call( this, newVal );
+ },
+
+ widget: function() {
+ return this.uiSpinner;
+ }
+});
+
+}( jQuery ) );
+
+(function( $, undefined ) {
+
+var tabId = 0,
+ rhash = /#.*$/;
+
+function getNextTabId() {
+ return ++tabId;
+}
+
+function isLocal( anchor ) {
+ return anchor.hash.length > 1 &&
+ decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
+ decodeURIComponent( location.href.replace( rhash, "" ) );
+}
+
+$.widget( "ui.tabs", {
+ version: "1.10.3",
+ delay: 300,
+ options: {
+ active: null,
+ collapsible: false,
+ event: "click",
+ heightStyle: "content",
+ hide: null,
+ show: null,
+
+ // callbacks
+ activate: null,
+ beforeActivate: null,
+ beforeLoad: null,
+ load: null
+ },
+
+ _create: function() {
+ var that = this,
+ options = this.options;
+
+ this.running = false;
+
+ this.element
+ .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" )
+ .toggleClass( "ui-tabs-collapsible", options.collapsible )
+ // Prevent users from focusing disabled tabs via click
+ .delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) {
+ if ( $( this ).is( ".ui-state-disabled" ) ) {
+ event.preventDefault();
+ }
+ })
+ // support: IE <9
+ // Preventing the default action in mousedown doesn't prevent IE
+ // from focusing the element, so if the anchor gets focused, blur.
+ // We don't have to worry about focusing the previously focused
+ // element since clicking on a non-focusable element should focus
+ // the body anyway.
+ .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
+ if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
+ this.blur();
+ }
+ });
+
+ this._processTabs();
+ options.active = this._initialActive();
+
+ // Take disabling tabs via class attribute from HTML
+ // into account and update option properly.
+ if ( $.isArray( options.disabled ) ) {
+ options.disabled = $.unique( options.disabled.concat(
+ $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
+ return that.tabs.index( li );
+ })
+ ) ).sort();
+ }
+
+ // check for length avoids error when initializing empty list
+ if ( this.options.active !== false && this.anchors.length ) {
+ this.active = this._findActive( options.active );
+ } else {
+ this.active = $();
+ }
+
+ this._refresh();
+
+ if ( this.active.length ) {
+ this.load( options.active );
+ }
+ },
+
+ _initialActive: function() {
+ var active = this.options.active,
+ collapsible = this.options.collapsible,
+ locationHash = location.hash.substring( 1 );
+
+ if ( active === null ) {
+ // check the fragment identifier in the URL
+ if ( locationHash ) {
+ this.tabs.each(function( i, tab ) {
+ if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
+ active = i;
+ return false;
+ }
+ });
+ }
+
+ // check for a tab marked active via a class
+ if ( active === null ) {
+ active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
+ }
+
+ // no active tab, set to false
+ if ( active === null || active === -1 ) {
+ active = this.tabs.length ? 0 : false;
+ }
+ }
+
+ // handle numbers: negative, out of range
+ if ( active !== false ) {
+ active = this.tabs.index( this.tabs.eq( active ) );
+ if ( active === -1 ) {
+ active = collapsible ? false : 0;
+ }
+ }
+
+ // don't allow collapsible: false and active: false
+ if ( !collapsible && active === false && this.anchors.length ) {
+ active = 0;
+ }
+
+ return active;
+ },
+
+ _getCreateEventData: function() {
+ return {
+ tab: this.active,
+ panel: !this.active.length ? $() : this._getPanelForTab( this.active )
+ };
+ },
+
+ _tabKeydown: function( event ) {
+ /*jshint maxcomplexity:15*/
+ var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
+ selectedIndex = this.tabs.index( focusedTab ),
+ goingForward = true;
+
+ if ( this._handlePageNav( event ) ) {
+ return;
+ }
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.RIGHT:
+ case $.ui.keyCode.DOWN:
+ selectedIndex++;
+ break;
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.LEFT:
+ goingForward = false;
+ selectedIndex--;
+ break;
+ case $.ui.keyCode.END:
+ selectedIndex = this.anchors.length - 1;
+ break;
+ case $.ui.keyCode.HOME:
+ selectedIndex = 0;
+ break;
+ case $.ui.keyCode.SPACE:
+ // Activate only, no collapsing
+ event.preventDefault();
+ clearTimeout( this.activating );
+ this._activate( selectedIndex );
+ return;
+ case $.ui.keyCode.ENTER:
+ // Toggle (cancel delayed activation, allow collapsing)
+ event.preventDefault();
+ clearTimeout( this.activating );
+ // Determine if we should collapse or activate
+ this._activate( selectedIndex === this.options.active ? false : selectedIndex );
+ return;
+ default:
+ return;
+ }
+
+ // Focus the appropriate tab, based on which key was pressed
+ event.preventDefault();
+ clearTimeout( this.activating );
+ selectedIndex = this._focusNextTab( selectedIndex, goingForward );
+
+ // Navigating with control key will prevent automatic activation
+ if ( !event.ctrlKey ) {
+ // Update aria-selected immediately so that AT think the tab is already selected.
+ // Otherwise AT may confuse the user by stating that they need to activate the tab,
+ // but the tab will already be activated by the time the announcement finishes.
+ focusedTab.attr( "aria-selected", "false" );
+ this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
+
+ this.activating = this._delay(function() {
+ this.option( "active", selectedIndex );
+ }, this.delay );
+ }
+ },
+
+ _panelKeydown: function( event ) {
+ if ( this._handlePageNav( event ) ) {
+ return;
+ }
+
+ // Ctrl+up moves focus to the current tab
+ if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
+ event.preventDefault();
+ this.active.focus();
+ }
+ },
+
+ // Alt+page up/down moves focus to the previous/next tab (and activates)
+ _handlePageNav: function( event ) {
+ if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {
+ this._activate( this._focusNextTab( this.options.active - 1, false ) );
+ return true;
+ }
+ if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {
+ this._activate( this._focusNextTab( this.options.active + 1, true ) );
+ return true;
+ }
+ },
+
+ _findNextTab: function( index, goingForward ) {
+ var lastTabIndex = this.tabs.length - 1;
+
+ function constrain() {
+ if ( index > lastTabIndex ) {
+ index = 0;
+ }
+ if ( index < 0 ) {
+ index = lastTabIndex;
+ }
+ return index;
+ }
+
+ while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {
+ index = goingForward ? index + 1 : index - 1;
+ }
+
+ return index;
+ },
+
+ _focusNextTab: function( index, goingForward ) {
+ index = this._findNextTab( index, goingForward );
+ this.tabs.eq( index ).focus();
+ return index;
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "active" ) {
+ // _activate() will handle invalid values and update this.options
+ this._activate( value );
+ return;
+ }
+
+ if ( key === "disabled" ) {
+ // don't use the widget factory's disabled handling
+ this._setupDisabled( value );
+ return;
+ }
+
+ this._super( key, value);
+
+ if ( key === "collapsible" ) {
+ this.element.toggleClass( "ui-tabs-collapsible", value );
+ // Setting collapsible: false while collapsed; open first panel
+ if ( !value && this.options.active === false ) {
+ this._activate( 0 );
+ }
+ }
+
+ if ( key === "event" ) {
+ this._setupEvents( value );
+ }
+
+ if ( key === "heightStyle" ) {
+ this._setupHeightStyle( value );
+ }
+ },
+
+ _tabId: function( tab ) {
+ return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId();
+ },
+
+ _sanitizeSelector: function( hash ) {
+ return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
+ },
+
+ refresh: function() {
+ var options = this.options,
+ lis = this.tablist.children( ":has(a[href])" );
+
+ // get disabled tabs from class attribute from HTML
+ // this will get converted to a boolean if needed in _refresh()
+ options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
+ return lis.index( tab );
+ });
+
+ this._processTabs();
+
+ // was collapsed or no tabs
+ if ( options.active === false || !this.anchors.length ) {
+ options.active = false;
+ this.active = $();
+ // was active, but active tab is gone
+ } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
+ // all remaining tabs are disabled
+ if ( this.tabs.length === options.disabled.length ) {
+ options.active = false;
+ this.active = $();
+ // activate previous tab
+ } else {
+ this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
+ }
+ // was active, active tab still exists
+ } else {
+ // make sure active index is correct
+ options.active = this.tabs.index( this.active );
+ }
+
+ this._refresh();
+ },
+
+ _refresh: function() {
+ this._setupDisabled( this.options.disabled );
+ this._setupEvents( this.options.event );
+ this._setupHeightStyle( this.options.heightStyle );
+
+ this.tabs.not( this.active ).attr({
+ "aria-selected": "false",
+ tabIndex: -1
+ });
+ this.panels.not( this._getPanelForTab( this.active ) )
+ .hide()
+ .attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ });
+
+ // Make sure one tab is in the tab order
+ if ( !this.active.length ) {
+ this.tabs.eq( 0 ).attr( "tabIndex", 0 );
+ } else {
+ this.active
+ .addClass( "ui-tabs-active ui-state-active" )
+ .attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ });
+ this._getPanelForTab( this.active )
+ .show()
+ .attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ });
+ }
+ },
+
+ _processTabs: function() {
+ var that = this;
+
+ this.tablist = this._getList()
+ .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
+ .attr( "role", "tablist" );
+
+ this.tabs = this.tablist.find( "> li:has(a[href])" )
+ .addClass( "ui-state-default ui-corner-top" )
+ .attr({
+ role: "tab",
+ tabIndex: -1
+ });
+
+ this.anchors = this.tabs.map(function() {
+ return $( "a", this )[ 0 ];
+ })
+ .addClass( "ui-tabs-anchor" )
+ .attr({
+ role: "presentation",
+ tabIndex: -1
+ });
+
+ this.panels = $();
+
+ this.anchors.each(function( i, anchor ) {
+ var selector, panel, panelId,
+ anchorId = $( anchor ).uniqueId().attr( "id" ),
+ tab = $( anchor ).closest( "li" ),
+ originalAriaControls = tab.attr( "aria-controls" );
+
+ // inline tab
+ if ( isLocal( anchor ) ) {
+ selector = anchor.hash;
+ panel = that.element.find( that._sanitizeSelector( selector ) );
+ // remote tab
+ } else {
+ panelId = that._tabId( tab );
+ selector = "#" + panelId;
+ panel = that.element.find( selector );
+ if ( !panel.length ) {
+ panel = that._createPanel( panelId );
+ panel.insertAfter( that.panels[ i - 1 ] || that.tablist );
+ }
+ panel.attr( "aria-live", "polite" );
+ }
+
+ if ( panel.length) {
+ that.panels = that.panels.add( panel );
+ }
+ if ( originalAriaControls ) {
+ tab.data( "ui-tabs-aria-controls", originalAriaControls );
+ }
+ tab.attr({
+ "aria-controls": selector.substring( 1 ),
+ "aria-labelledby": anchorId
+ });
+ panel.attr( "aria-labelledby", anchorId );
+ });
+
+ this.panels
+ .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
+ .attr( "role", "tabpanel" );
+ },
+
+ // allow overriding how to find the list for rare usage scenarios (#7715)
+ _getList: function() {
+ return this.element.find( "ol,ul" ).eq( 0 );
+ },
+
+ _createPanel: function( id ) {
+ return $( "<div>" )
+ .attr( "id", id )
+ .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
+ .data( "ui-tabs-destroy", true );
+ },
+
+ _setupDisabled: function( disabled ) {
+ if ( $.isArray( disabled ) ) {
+ if ( !disabled.length ) {
+ disabled = false;
+ } else if ( disabled.length === this.anchors.length ) {
+ disabled = true;
+ }
+ }
+
+ // disable tabs
+ for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {
+ if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
+ $( li )
+ .addClass( "ui-state-disabled" )
+ .attr( "aria-disabled", "true" );
+ } else {
+ $( li )
+ .removeClass( "ui-state-disabled" )
+ .removeAttr( "aria-disabled" );
+ }
+ }
+
+ this.options.disabled = disabled;
+ },
+
+ _setupEvents: function( event ) {
+ var events = {
+ click: function( event ) {
+ event.preventDefault();
+ }
+ };
+ if ( event ) {
+ $.each( event.split(" "), function( index, eventName ) {
+ events[ eventName ] = "_eventHandler";
+ });
+ }
+
+ this._off( this.anchors.add( this.tabs ).add( this.panels ) );
+ this._on( this.anchors, events );
+ this._on( this.tabs, { keydown: "_tabKeydown" } );
+ this._on( this.panels, { keydown: "_panelKeydown" } );
+
+ this._focusable( this.tabs );
+ this._hoverable( this.tabs );
+ },
+
+ _setupHeightStyle: function( heightStyle ) {
+ var maxHeight,
+ parent = this.element.parent();
+
+ if ( heightStyle === "fill" ) {
+ maxHeight = parent.height();
+ maxHeight -= this.element.outerHeight() - this.element.height();
+
+ this.element.siblings( ":visible" ).each(function() {
+ var elem = $( this ),
+ position = elem.css( "position" );
+
+ if ( position === "absolute" || position === "fixed" ) {
+ return;
+ }
+ maxHeight -= elem.outerHeight( true );
+ });
+
+ this.element.children().not( this.panels ).each(function() {
+ maxHeight -= $( this ).outerHeight( true );
+ });
+
+ this.panels.each(function() {
+ $( this ).height( Math.max( 0, maxHeight -
+ $( this ).innerHeight() + $( this ).height() ) );
+ })
+ .css( "overflow", "auto" );
+ } else if ( heightStyle === "auto" ) {
+ maxHeight = 0;
+ this.panels.each(function() {
+ maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
+ }).height( maxHeight );
+ }
+ },
+
+ _eventHandler: function( event ) {
+ var options = this.options,
+ active = this.active,
+ anchor = $( event.currentTarget ),
+ tab = anchor.closest( "li" ),
+ clickedIsActive = tab[ 0 ] === active[ 0 ],
+ collapsing = clickedIsActive && options.collapsible,
+ toShow = collapsing ? $() : this._getPanelForTab( tab ),
+ toHide = !active.length ? $() : this._getPanelForTab( active ),
+ eventData = {
+ oldTab: active,
+ oldPanel: toHide,
+ newTab: collapsing ? $() : tab,
+ newPanel: toShow
+ };
+
+ event.preventDefault();
+
+ if ( tab.hasClass( "ui-state-disabled" ) ||
+ // tab is already loading
+ tab.hasClass( "ui-tabs-loading" ) ||
+ // can't switch durning an animation
+ this.running ||
+ // click on active header, but not collapsible
+ ( clickedIsActive && !options.collapsible ) ||
+ // allow canceling activation
+ ( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
+ return;
+ }
+
+ options.active = collapsing ? false : this.tabs.index( tab );
+
+ this.active = clickedIsActive ? $() : tab;
+ if ( this.xhr ) {
+ this.xhr.abort();
+ }
+
+ if ( !toHide.length && !toShow.length ) {
+ $.error( "jQuery UI Tabs: Mismatching fragment identifier." );
+ }
+
+ if ( toShow.length ) {
+ this.load( this.tabs.index( tab ), event );
+ }
+ this._toggle( event, eventData );
+ },
+
+ // handles show/hide for selecting tabs
+ _toggle: function( event, eventData ) {
+ var that = this,
+ toShow = eventData.newPanel,
+ toHide = eventData.oldPanel;
+
+ this.running = true;
+
+ function complete() {
+ that.running = false;
+ that._trigger( "activate", event, eventData );
+ }
+
+ function show() {
+ eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
+
+ if ( toShow.length && that.options.show ) {
+ that._show( toShow, that.options.show, complete );
+ } else {
+ toShow.show();
+ complete();
+ }
+ }
+
+ // start out by hiding, then showing, then completing
+ if ( toHide.length && this.options.hide ) {
+ this._hide( toHide, this.options.hide, function() {
+ eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
+ show();
+ });
+ } else {
+ eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
+ toHide.hide();
+ show();
+ }
+
+ toHide.attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ });
+ eventData.oldTab.attr( "aria-selected", "false" );
+ // If we're switching tabs, remove the old tab from the tab order.
+ // If we're opening from collapsed state, remove the previous tab from the tab order.
+ // If we're collapsing, then keep the collapsing tab in the tab order.
+ if ( toShow.length && toHide.length ) {
+ eventData.oldTab.attr( "tabIndex", -1 );
+ } else if ( toShow.length ) {
+ this.tabs.filter(function() {
+ return $( this ).attr( "tabIndex" ) === 0;
+ })
+ .attr( "tabIndex", -1 );
+ }
+
+ toShow.attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ });
+ eventData.newTab.attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ });
+ },
+
+ _activate: function( index ) {
+ var anchor,
+ active = this._findActive( index );
+
+ // trying to activate the already active panel
+ if ( active[ 0 ] === this.active[ 0 ] ) {
+ return;
+ }
+
+ // trying to collapse, simulate a click on the current active header
+ if ( !active.length ) {
+ active = this.active;
+ }
+
+ anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
+ this._eventHandler({
+ target: anchor,
+ currentTarget: anchor,
+ preventDefault: $.noop
+ });
+ },
+
+ _findActive: function( index ) {
+ return index === false ? $() : this.tabs.eq( index );
+ },
+
+ _getIndex: function( index ) {
+ // meta-function to give users option to provide a href string instead of a numerical index.
+ if ( typeof index === "string" ) {
+ index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
+ }
+
+ return index;
+ },
+
+ _destroy: function() {
+ if ( this.xhr ) {
+ this.xhr.abort();
+ }
+
+ this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
+
+ this.tablist
+ .removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
+ .removeAttr( "role" );
+
+ this.anchors
+ .removeClass( "ui-tabs-anchor" )
+ .removeAttr( "role" )
+ .removeAttr( "tabIndex" )
+ .removeUniqueId();
+
+ this.tabs.add( this.panels ).each(function() {
+ if ( $.data( this, "ui-tabs-destroy" ) ) {
+ $( this ).remove();
+ } else {
+ $( this )
+ .removeClass( "ui-state-default ui-state-active ui-state-disabled " +
+ "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
+ .removeAttr( "tabIndex" )
+ .removeAttr( "aria-live" )
+ .removeAttr( "aria-busy" )
+ .removeAttr( "aria-selected" )
+ .removeAttr( "aria-labelledby" )
+ .removeAttr( "aria-hidden" )
+ .removeAttr( "aria-expanded" )
+ .removeAttr( "role" );
+ }
+ });
+
+ this.tabs.each(function() {
+ var li = $( this ),
+ prev = li.data( "ui-tabs-aria-controls" );
+ if ( prev ) {
+ li
+ .attr( "aria-controls", prev )
+ .removeData( "ui-tabs-aria-controls" );
+ } else {
+ li.removeAttr( "aria-controls" );
+ }
+ });
+
+ this.panels.show();
+
+ if ( this.options.heightStyle !== "content" ) {
+ this.panels.css( "height", "" );
+ }
+ },
+
+ enable: function( index ) {
+ var disabled = this.options.disabled;
+ if ( disabled === false ) {
+ return;
+ }
+
+ if ( index === undefined ) {
+ disabled = false;
+ } else {
+ index = this._getIndex( index );
+ if ( $.isArray( disabled ) ) {
+ disabled = $.map( disabled, function( num ) {
+ return num !== index ? num : null;
+ });
+ } else {
+ disabled = $.map( this.tabs, function( li, num ) {
+ return num !== index ? num : null;
+ });
+ }
+ }
+ this._setupDisabled( disabled );
+ },
+
+ disable: function( index ) {
+ var disabled = this.options.disabled;
+ if ( disabled === true ) {
+ return;
+ }
+
+ if ( index === undefined ) {
+ disabled = true;
+ } else {
+ index = this._getIndex( index );
+ if ( $.inArray( index, disabled ) !== -1 ) {
+ return;
+ }
+ if ( $.isArray( disabled ) ) {
+ disabled = $.merge( [ index ], disabled ).sort();
+ } else {
+ disabled = [ index ];
+ }
+ }
+ this._setupDisabled( disabled );
+ },
+
+ load: function( index, event ) {
+ index = this._getIndex( index );
+ var that = this,
+ tab = this.tabs.eq( index ),
+ anchor = tab.find( ".ui-tabs-anchor" ),
+ panel = this._getPanelForTab( tab ),
+ eventData = {
+ tab: tab,
+ panel: panel
+ };
+
+ // not remote
+ if ( isLocal( anchor[ 0 ] ) ) {
+ return;
+ }
+
+ this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
+
+ // support: jQuery <1.8
+ // jQuery <1.8 returns false if the request is canceled in beforeSend,
+ // but as of 1.8, $.ajax() always returns a jqXHR object.
+ if ( this.xhr && this.xhr.statusText !== "canceled" ) {
+ tab.addClass( "ui-tabs-loading" );
+ panel.attr( "aria-busy", "true" );
+
+ this.xhr
+ .success(function( response ) {
+ // support: jQuery <1.8
+ // http://bugs.jquery.com/ticket/11778
+ setTimeout(function() {
+ panel.html( response );
+ that._trigger( "load", event, eventData );
+ }, 1 );
+ })
+ .complete(function( jqXHR, status ) {
+ // support: jQuery <1.8
+ // http://bugs.jquery.com/ticket/11778
+ setTimeout(function() {
+ if ( status === "abort" ) {
+ that.panels.stop( false, true );
+ }
+
+ tab.removeClass( "ui-tabs-loading" );
+ panel.removeAttr( "aria-busy" );
+
+ if ( jqXHR === that.xhr ) {
+ delete that.xhr;
+ }
+ }, 1 );
+ });
+ }
+ },
+
+ _ajaxSettings: function( anchor, event, eventData ) {
+ var that = this;
+ return {
+ url: anchor.attr( "href" ),
+ beforeSend: function( jqXHR, settings ) {
+ return that._trigger( "beforeLoad", event,
+ $.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) );
+ }
+ };
+ },
+
+ _getPanelForTab: function( tab ) {
+ var id = $( tab ).attr( "aria-controls" );
+ return this.element.find( this._sanitizeSelector( "#" + id ) );
+ }
+});
+
+})( jQuery );
+
+(function( $ ) {
+
+var increments = 0;
+
+function addDescribedBy( elem, id ) {
+ var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
+ describedby.push( id );
+ elem
+ .data( "ui-tooltip-id", id )
+ .attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
+}
+
+function removeDescribedBy( elem ) {
+ var id = elem.data( "ui-tooltip-id" ),
+ describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
+ index = $.inArray( id, describedby );
+ if ( index !== -1 ) {
+ describedby.splice( index, 1 );
+ }
+
+ elem.removeData( "ui-tooltip-id" );
+ describedby = $.trim( describedby.join( " " ) );
+ if ( describedby ) {
+ elem.attr( "aria-describedby", describedby );
+ } else {
+ elem.removeAttr( "aria-describedby" );
+ }
+}
+
+$.widget( "ui.tooltip", {
+ version: "1.10.3",
+ options: {
+ content: function() {
+ // support: IE<9, Opera in jQuery <1.7
+ // .text() can't accept undefined, so coerce to a string
+ var title = $( this ).attr( "title" ) || "";
+ // Escape title, since we're going from an attribute to raw HTML
+ return $( "<a>" ).text( title ).html();
+ },
+ hide: true,
+ // Disabled elements have inconsistent behavior across browsers (#8661)
+ items: "[title]:not([disabled])",
+ position: {
+ my: "left top+15",
+ at: "left bottom",
+ collision: "flipfit flip"
+ },
+ show: true,
+ tooltipClass: null,
+ track: false,
+
+ // callbacks
+ close: null,
+ open: null
+ },
+
+ _create: function() {
+ this._on({
+ mouseover: "open",
+ focusin: "open"
+ });
+
+ // IDs of generated tooltips, needed for destroy
+ this.tooltips = {};
+ // IDs of parent tooltips where we removed the title attribute
+ this.parents = {};
+
+ if ( this.options.disabled ) {
+ this._disable();
+ }
+ },
+
+ _setOption: function( key, value ) {
+ var that = this;
+
+ if ( key === "disabled" ) {
+ this[ value ? "_disable" : "_enable" ]();
+ this.options[ key ] = value;
+ // disable element style changes
+ return;
+ }
+
+ this._super( key, value );
+
+ if ( key === "content" ) {
+ $.each( this.tooltips, function( id, element ) {
+ that._updateContent( element );
+ });
+ }
+ },
+
+ _disable: function() {
+ var that = this;
+
+ // close open tooltips
+ $.each( this.tooltips, function( id, element ) {
+ var event = $.Event( "blur" );
+ event.target = event.currentTarget = element[0];
+ that.close( event, true );
+ });
+
+ // remove title attributes to prevent native tooltips
+ this.element.find( this.options.items ).addBack().each(function() {
+ var element = $( this );
+ if ( element.is( "[title]" ) ) {
+ element
+ .data( "ui-tooltip-title", element.attr( "title" ) )
+ .attr( "title", "" );
+ }
+ });
+ },
+
+ _enable: function() {
+ // restore title attributes
+ this.element.find( this.options.items ).addBack().each(function() {
+ var element = $( this );
+ if ( element.data( "ui-tooltip-title" ) ) {
+ element.attr( "title", element.data( "ui-tooltip-title" ) );
+ }
+ });
+ },
+
+ open: function( event ) {
+ var that = this,
+ target = $( event ? event.target : this.element )
+ // we need closest here due to mouseover bubbling,
+ // but always pointing at the same event target
+ .closest( this.options.items );
+
+ // No element to show a tooltip for or the tooltip is already open
+ if ( !target.length || target.data( "ui-tooltip-id" ) ) {
+ return;
+ }
+
+ if ( target.attr( "title" ) ) {
+ target.data( "ui-tooltip-title", target.attr( "title" ) );
+ }
+
+ target.data( "ui-tooltip-open", true );
+
+ // kill parent tooltips, custom or native, for hover
+ if ( event && event.type === "mouseover" ) {
+ target.parents().each(function() {
+ var parent = $( this ),
+ blurEvent;
+ if ( parent.data( "ui-tooltip-open" ) ) {
+ blurEvent = $.Event( "blur" );
+ blurEvent.target = blurEvent.currentTarget = this;
+ that.close( blurEvent, true );
+ }
+ if ( parent.attr( "title" ) ) {
+ parent.uniqueId();
+ that.parents[ this.id ] = {
+ element: this,
+ title: parent.attr( "title" )
+ };
+ parent.attr( "title", "" );
+ }
+ });
+ }
+
+ this._updateContent( target, event );
+ },
+
+ _updateContent: function( target, event ) {
+ var content,
+ contentOption = this.options.content,
+ that = this,
+ eventType = event ? event.type : null;
+
+ if ( typeof contentOption === "string" ) {
+ return this._open( event, target, contentOption );
+ }
+
+ content = contentOption.call( target[0], function( response ) {
+ // ignore async response if tooltip was closed already
+ if ( !target.data( "ui-tooltip-open" ) ) {
+ return;
+ }
+ // IE may instantly serve a cached response for ajax requests
+ // delay this call to _open so the other call to _open runs first
+ that._delay(function() {
+ // jQuery creates a special event for focusin when it doesn't
+ // exist natively. To improve performance, the native event
+ // object is reused and the type is changed. Therefore, we can't
+ // rely on the type being correct after the event finished
+ // bubbling, so we set it back to the previous value. (#8740)
+ if ( event ) {
+ event.type = eventType;
+ }
+ this._open( event, target, response );
+ });
+ });
+ if ( content ) {
+ this._open( event, target, content );
+ }
+ },
+
+ _open: function( event, target, content ) {
+ var tooltip, events, delayedShow,
+ positionOption = $.extend( {}, this.options.position );
+
+ if ( !content ) {
+ return;
+ }
+
+ // Content can be updated multiple times. If the tooltip already
+ // exists, then just update the content and bail.
+ tooltip = this._find( target );
+ if ( tooltip.length ) {
+ tooltip.find( ".ui-tooltip-content" ).html( content );
+ return;
+ }
+
+ // if we have a title, clear it to prevent the native tooltip
+ // we have to check first to avoid defining a title if none exists
+ // (we don't want to cause an element to start matching [title])
+ //
+ // We use removeAttr only for key events, to allow IE to export the correct
+ // accessible attributes. For mouse events, set to empty string to avoid
+ // native tooltip showing up (happens only when removing inside mouseover).
+ if ( target.is( "[title]" ) ) {
+ if ( event && event.type === "mouseover" ) {
+ target.attr( "title", "" );
+ } else {
+ target.removeAttr( "title" );
+ }
+ }
+
+ tooltip = this._tooltip( target );
+ addDescribedBy( target, tooltip.attr( "id" ) );
+ tooltip.find( ".ui-tooltip-content" ).html( content );
+
+ function position( event ) {
+ positionOption.of = event;
+ if ( tooltip.is( ":hidden" ) ) {
+ return;
+ }
+ tooltip.position( positionOption );
+ }
+ if ( this.options.track && event && /^mouse/.test( event.type ) ) {
+ this._on( this.document, {
+ mousemove: position
+ });
+ // trigger once to override element-relative positioning
+ position( event );
+ } else {
+ tooltip.position( $.extend({
+ of: target
+ }, this.options.position ) );
+ }
+
+ tooltip.hide();
+
+ this._show( tooltip, this.options.show );
+ // Handle tracking tooltips that are shown with a delay (#8644). As soon
+ // as the tooltip is visible, position the tooltip using the most recent
+ // event.
+ if ( this.options.show && this.options.show.delay ) {
+ delayedShow = this.delayedShow = setInterval(function() {
+ if ( tooltip.is( ":visible" ) ) {
+ position( positionOption.of );
+ clearInterval( delayedShow );
+ }
+ }, $.fx.interval );
+ }
+
+ this._trigger( "open", event, { tooltip: tooltip } );
+
+ events = {
+ keyup: function( event ) {
+ if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
+ var fakeEvent = $.Event(event);
+ fakeEvent.currentTarget = target[0];
+ this.close( fakeEvent, true );
+ }
+ },
+ remove: function() {
+ this._removeTooltip( tooltip );
+ }
+ };
+ if ( !event || event.type === "mouseover" ) {
+ events.mouseleave = "close";
+ }
+ if ( !event || event.type === "focusin" ) {
+ events.focusout = "close";
+ }
+ this._on( true, target, events );
+ },
+
+ close: function( event ) {
+ var that = this,
+ target = $( event ? event.currentTarget : this.element ),
+ tooltip = this._find( target );
+
+ // disabling closes the tooltip, so we need to track when we're closing
+ // to avoid an infinite loop in case the tooltip becomes disabled on close
+ if ( this.closing ) {
+ return;
+ }
+
+ // Clear the interval for delayed tracking tooltips
+ clearInterval( this.delayedShow );
+
+ // only set title if we had one before (see comment in _open())
+ if ( target.data( "ui-tooltip-title" ) ) {
+ target.attr( "title", target.data( "ui-tooltip-title" ) );
+ }
+
+ removeDescribedBy( target );
+
+ tooltip.stop( true );
+ this._hide( tooltip, this.options.hide, function() {
+ that._removeTooltip( $( this ) );
+ });
+
+ target.removeData( "ui-tooltip-open" );
+ this._off( target, "mouseleave focusout keyup" );
+ // Remove 'remove' binding only on delegated targets
+ if ( target[0] !== this.element[0] ) {
+ this._off( target, "remove" );
+ }
+ this._off( this.document, "mousemove" );
+
+ if ( event && event.type === "mouseleave" ) {
+ $.each( this.parents, function( id, parent ) {
+ $( parent.element ).attr( "title", parent.title );
+ delete that.parents[ id ];
+ });
+ }
+
+ this.closing = true;
+ this._trigger( "close", event, { tooltip: tooltip } );
+ this.closing = false;
+ },
+
+ _tooltip: function( element ) {
+ var id = "ui-tooltip-" + increments++,
+ tooltip = $( "<div>" )
+ .attr({
+ id: id,
+ role: "tooltip"
+ })
+ .addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
+ ( this.options.tooltipClass || "" ) );
+ $( "<div>" )
+ .addClass( "ui-tooltip-content" )
+ .appendTo( tooltip );
+ tooltip.appendTo( this.document[0].body );
+ this.tooltips[ id ] = element;
+ return tooltip;
+ },
+
+ _find: function( target ) {
+ var id = target.data( "ui-tooltip-id" );
+ return id ? $( "#" + id ) : $();
+ },
+
+ _removeTooltip: function( tooltip ) {
+ tooltip.remove();
+ delete this.tooltips[ tooltip.attr( "id" ) ];
+ },
+
+ _destroy: function() {
+ var that = this;
+
+ // close open tooltips
+ $.each( this.tooltips, function( id, element ) {
+ // Delegate to close method to handle common cleanup
+ var event = $.Event( "blur" );
+ event.target = event.currentTarget = element[0];
+ that.close( event, true );
+
+ // Remove immediately; destroying an open tooltip doesn't use the
+ // hide animation
+ $( "#" + id ).remove();
+
+ // Restore the title
+ if ( element.data( "ui-tooltip-title" ) ) {
+ element.attr( "title", element.data( "ui-tooltip-title" ) );
+ element.removeData( "ui-tooltip-title" );
+ }
+ });
+ }
+});
+
+}( jQuery ) );
\ No newline at end of file
--- /dev/null
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
--- /dev/null
+
+/**
+ * RuleConfigActionCustom.
+ *
+ * @namespace YourCompany
+ * @class YourCompany.RuleConfigActionCustom
+ */
+(function()
+ {
+ Alfresco.RuleConfigActionCustom = function(htmlId)
+ {
+ Alfresco.RuleConfigActionCustom.superclass.constructor.call(this, htmlId);
+
+ // Re-register with our own name
+ this.name = "asalae-elimination";
+ Alfresco.util.ComponentManager.reregister(this);
+
+ // Instance variables
+ this.customisations = YAHOO.lang.merge(this.customisations, Alfresco.RuleConfigActionCustom.superclass.customisations);
+ this.renderers = YAHOO.lang.merge(this.renderers, Alfresco.RuleConfigActionCustom.superclass.renderers);
+
+ return this;
+ };
+
+ YAHOO.extend(Alfresco.RuleConfigActionCustom, Alfresco.RuleConfigAction,
+ {
+
+ /**
+ * CUSTOMISATIONS
+ */
+
+ customisations:
+ {
+
+ LinkCategory:
+ {
+ text: function(configDef, ruleConfig, configEl)
+ {
+ // Setting _type to "category" will make the nodeRef get resolved to the category's name
+ this._getParamDef(configDef, "category-value")._type = "category";
+ return configDef;
+ },
+ edit: function(configDef, ruleConfig, configEl)
+ {
+ // Hide all parameters
+ this._hideParameters(configDef.parameterDefinitions);
+ // ...and add a new parameter who's type will match the category picker renderer defined below
+// configDef.parameterDefinitions.push(
+// {
+// type: "arca:category-picker"
+// });
+// return configDef;
+ }
+ }
+
+ },
+
+ /**
+ * RENDERERS
+ */
+
+ renderers:
+ {
+
+// "arca:category-picker":
+// {
+// /* Mark this renderer as "manual" in edit mode so no default ui handling is done */
+// manual:
+// {
+// edit: true
+// },
+// /* Object to save values in */
+// currentCtx: {},
+// edit: function (containerEl, configDef, paramDef, ruleConfig, value)
+// {
+// // Save variables from the last click in the currentCtx object
+// this.renderers["arca:category-picker"].currentCtx =
+// {
+// configDef: configDef,
+// ruleConfig: ruleConfig,
+// paramDef: paramDef
+// };
+//
+// // Create a category picker
+// var picker = new Alfresco.module.ControlWrapper(Alfresco.util.generateDomId());
+// picker.setOptions(
+// {
+// type: "category",
+// container: containerEl,
+// value: (ruleConfig.parameterValues ? ruleConfig.parameterValues["category-value"] : null),
+// controlParams:
+// {
+// multipleSelectMode: false
+// },
+// fnValueChanged:
+// {
+// fn: function(obj)
+// {
+// // When picker is closed make sure we save the values from the picker in the hidden form fields
+// var ctx = this.renderers["arca:category-picker"].currentCtx;
+// this._setHiddenParameter(ctx.configDef, ctx.ruleConfig, "category-aspect", "cm:generalclassifiable");
+// this._setHiddenParameter(ctx.configDef, ctx.ruleConfig, "category-value", obj.selectedItems[0]);
+// // Re run validations for the form connected to the config component
+// this._updateSubmitElements(ctx.configDef);
+// },
+// scope: this
+// }
+// });
+// picker.show();
+// }
+// }
+ }
+ });
+
+ })();
\ No newline at end of file
--- /dev/null
+## Make sure to also copy the alfresco.war to alfresco.war.bak,
+## the build script copies alfresco.war.bak to alfresco.war before each build.
+##
+
+# Environment specific application paths
+#
+alfresco.dir=M:/tomcat
+share.dir=M:/tomcat
+alfresco.sdk.dir=M:/alfresco-community-sdk-4.2.c/
+
+# Project name and version
+#
+org.name=akka
+project.name=saem
+project.version=1.0
+module.id.alfresco=eu_akka_alfresco
+module.id.share=eu_akka_share
+
+# Tomcat directories
+#
+tomcatAlfresco.dir=${alfresco.dir}
+tomcatAlfresco.webapps.dir=${tomcatAlfresco.dir}/webapps
+tomcatShare.dir=${share.dir}
+tomcatShare.webapps.dir=${tomcatShare.dir}/webapps
+
+# Build project top directories
+#
+project.dir=D:/Programmes/Eclipse/workspace/SAEM
+build.dir=${project.dir}/build
+alfresco.ext.dir=${project.dir}/_alfresco
+share.ext.dir=${project.dir}/_share
+axis.ext.dir=${project.dir}/_axis
+
+# Location of Alfresco web applications
+#
+alfresco.war.file.name=alfresco.war
+alfresco.war.file=${tomcatAlfresco.webapps.dir}/${alfresco.war.file.name}
+share.war.file=${tomcatShare.webapps.dir}/share.war
+
+# Location of mnt
+#
+alfresco.mnt.jar=D:/CG46/bin/alfresco-mmt.jar
+
+# Articfacts for distribution
+#
+alfresco.jar.name=${org.name}_${project.name}_Alfresco_Code_${project.version}.jar
+alfresco.jar.file=${build.dir}/lib/${alfresco.jar.name}
+alfresco.amp.file=${build.dir}/dist/${org.name}_${project.name}_Alfresco_Code_${project.version}.amp
+share.jar.name=${org.name}_${project.name}_Share_Code_${project.version}.jar
+share.jar.file=${build.dir}/lib/${share.jar.name}
+share.amp.file=${build.dir}/dist/${org.name}_${project.name}_Share_Code_${project.version}.amp
+
+# Axis 2 generation
+axis.home = C:/Users/benjamin.catinot/Downloads/axis2-1.6.2-bin/axis2-1.6.2
+axis.location.wsdl= http://192.168.56.101:81/webservices/wsdl
+axis.build.dir=${project.dir}/build/axis2
--- /dev/null
+<?xml version="1.0"?>
+
+<project name="SAEM" default="deploy" basedir=".">
+ <property file="build-${user.name}.properties" />
+ <property file="build.properties" />
+
+ <property name="config.alfresco.dir" value="${alfresco.ext.dir}/config" />
+ <property name="config.share.dir" value="${share.ext.dir}/config" />
+ <property name="source.alfresco.dir" value="${alfresco.ext.dir}/source/java" />
+ <property name="source.share.dir" value="${share.ext.dir}/source/java" />
+ <property name="source.axis.dir" value="${axis.ext.dir}/source/java" />
+ <property name="classes.axis.dir" value="${build.dir}/classes_axis" />
+ <property name="testsource.alfresco.dir" value="${alfresco.ext.dir}/test/java" />
+ <property name="classes.alfresco.dir" value="${build.dir}/classes" />
+ <property name="classes.share.dir" value="${build.dir}/classes_share" />
+ <property name="lib.share.dir" value="${share.ext.dir}/lib" />
+ <property name="build.min" value="${build.dir}/min" />
+ <property name="yuicompress.warn" value="false" />
+ <!-- Tomcat properties to reload web scripts or the manager webapp -->
+ <property name="tomcat.url" value="http://192.168.56.101:8080" />
+ <property name="tomcat.repo.url" value="${tomcat.url}" />
+ <property name="tomcat.share.url" value="http://192.168.56.101:8080" />
+ <!-- Tomcat properties to reload web scripts -->
+ <property name="webapp.alfresco.path" value="/alfresco" />
+ <property name="webapp.share.path" value="/share" />
+ <property name="post.verbose" value="false" />
+ <property name="repo.admin.username" value="admin" />
+ <property name="repo.admin.password" value="akka" />
+ <property name="repo.scripts.index" value="${tomcat.repo.url}${webapp.alfresco.path}/service/index" />
+ <property name="share.scripts.index" value="${tomcat.share.url}${webapp.share.path}/page/index" />
+
+ <path id="src.classpath">
+ <dirset dir="${build.dir}" />
+ <fileset dir="${alfresco.sdk.dir}/lib" includes="**/*.jar" />
+ <fileset dir="${alfresco.ext.dir}/lib" includes="**/*.jar" />
+ </path>
+
+ <path id="src.classpath.axis">
+ <dirset dir="${build.dir}" />
+ <fileset dir="${axis.ext.dir}/lib" includes="**/*.jar" />
+ <fileset dir="${build.dir}/lib" includes="**/*.jar" />
+ <fileset dir="${alfresco.sdk.dir}/lib" includes="**/*.jar" />
+ <fileset dir="${alfresco.ext.dir}/lib" includes="**/*.jar" />
+ </path>
+
+ <path id="src.classpath.axishome">
+ <dirset dir="${build.dir}" />
+ <fileset dir="${axis.home}/lib" includes="**/*.jar" />
+
+ </path>
+
+ <path id="test.classpath">
+ <path refid="src.classpath" />
+ <fileset dir="${alfresco.ext.dir}/test/lib" includes="**/*.jar" />
+ </path>
+
+ <path id="yuicompressor.classpath">
+ <fileset dir="lib">
+ <include name="yuicompressor-2.4.2.jar" />
+ <include name="yui-compressor-ant-task-0.5.jar" />
+ </fileset>
+ </path>
+
+ <taskdef name="yuicompress" classname="net.noha.tools.ant.yuicompressor.tasks.YuiCompressorTask">
+ <classpath>
+ <path refid="yuicompressor.classpath" />
+ </classpath>
+ </taskdef>
+
+ <path id="ml-ant-http.classpath">
+ <fileset dir="lib">
+ <include name="ml-ant-http-1.1.1.jar" />
+ </fileset>
+ </path>
+
+ <taskdef name="http" classname="org.missinglink.ant.task.http.HttpClientTask">
+ <classpath>
+ <path refid="ml-ant-http.classpath" />
+ </classpath>
+ </taskdef>
+
+ <target name="mkdirs">
+ <mkdir dir="${build.dir}/dist" />
+ <mkdir dir="${axis.build.dir}" />
+ <mkdir dir="${build.dir}/lib" />
+ <mkdir dir="${classes.alfresco.dir}" />
+ <mkdir dir="${classes.share.dir}" />
+ <mkdir dir="${classes.axis.dir}" />
+ <mkdir dir="${classes.axis.dir}/META-INF/" />
+ <mkdir dir="${build.min}" />
+ </target>
+
+ <target name="clean">
+ <delete quiet="yes" includeEmptyDirs="true" dir="${build.dir}" />
+ <delete>
+ <fileset dir="${share.ext.dir}">
+ <include name="**/*-min.css" />
+ </fileset>
+ </delete>
+
+ </target>
+
+ <target name="clean-reset-war">
+ <echo>Deleting ${tomcatAlfresco.webapps.dir}/alfresco dir and copying back original alfresco.war from alfresco.war.bak
+ </echo>
+ <available file="${alfresco.war.file}.bak" type="file" property="alfresco.war.bak.present" />
+ <fail unless="alfresco.war.bak.present" message="Could not find ${alfresco.war.file}.bak, please copy alfresco.war to alfresco.war.bak" />
+ <delete quiet="yes" file="${alfresco.war.file}" />
+ <delete quiet="yes" includeEmptyDirs="true" dir="${tomcatAlfresco.webapps.dir}/alfresco" />
+ <copy file="${alfresco.war.file}.bak" tofile="${alfresco.war.file}" />
+ </target>
+
+ <!-- ALFRESCO -->
+
+ <target name="compile-alfresco">
+ <javac classpathref="src.classpath" srcdir="${source.alfresco.dir}" destdir="${classes.alfresco.dir}" debug="true" debuglevel="lines,vars,source" />
+ <javac classpathref="src.classpath.axis" srcdir="${source.axis.dir}" destdir="${classes.axis.dir}" debug="true" debuglevel="lines,vars,source" />
+ </target>
+
+ <target name="generate-Axis2Code" depends="mkdirs">
+ <java classname="org.apache.axis2.wsdl.WSDL2Java" classpathref="src.classpath.axishome">
+ <arg value="-uri"/>
+ <arg value="${axis.location.wsdl}"/>
+ <arg value="-p"/>
+ <arg value="eu.akka.alfresco.axis2.asalae"/>
+ <arg value="-s"/>
+ <arg value="-d"/>
+ <arg value="adb"/>
+ <arg value="-wv"/>
+ <arg value="1.0"/>
+ <arg value="-ss"/>
+ <arg value="-sd"/>
+ <arg value="-o"/>
+ <arg value="${axis.build.dir}"/>
+ </java>
+ </target>
+
+ <target name="package-alfresco-java" depends="clean, mkdirs, compile-alfresco">
+ <jar destfile="${alfresco.jar.file}">
+ <zipfileset dir="${classes.alfresco.dir}" includes="**/*.class" />
+ </jar>
+ </target>
+
+ <target name="package-alfresco-jar" depends="clean, mkdirs, compile-alfresco">
+ <echo>Packaging extension JAR for AMP</echo>
+ <jar destfile="${alfresco.jar.file}">
+ <zipfileset dir="${classes.alfresco.dir}" includes="**/*.class" />
+ <zipfileset dir="${source.alfresco.dir}" includes="**/*.xml,**/*.properties,**/*.bpmn" />
+ </jar>
+ <copy toDir="${classes.axis.dir}/META-INF/" failonerror="false">
+ <fileset dir="_axis/resources">
+ <include name="*.xml" />
+ <include name="*.wsdl" />
+ <include name="*.xsd" />
+ </fileset>
+ </copy>
+ <copy todir="${build.dir}/axis/config/axis2-web/" overwrite="true">
+ <fileset dir="_axis/axis2-web/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${build.dir}/axis/config/WEB-INF/classes/" overwrite="true">
+ <fileset dir="_axis/classes/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${build.dir}/axis/config/WEB-INF/conf/" overwrite="true">
+ <fileset dir="_axis/conf/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${build.dir}/axis/config/WEB-INF/modules/" overwrite="true">
+ <fileset dir="_axis/modules/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${build.dir}/axis/config/WEB-INF/services/" overwrite="true">
+ <fileset dir="_axis/services/" casesensitive="yes" />
+ </copy>
+ <jar destfile="${build.dir}/axis/config/WEB-INF/services/service.aar">
+ <fileset excludes="**/Test.class" dir="${classes.axis.dir}" />
+ </jar>
+ </target>
+
+ <target name="package-alfresco-amp" depends="package-alfresco-jar">
+ <echo>Packaging extension AMP file for alfresco.war</echo>
+ <zip destfile="${alfresco.amp.file}">
+ <zipfileset dir="${project.dir}/build" includes="lib/*.jar" />
+ <zipfileset dir="${project.dir}" includes="lib/*.jar" />
+ <zipfileset dir="_axis" includes="lib/*.jar" />
+ <zipfileset dir="${alfresco.ext.dir}" includes="config/**/*.*" excludes="**/module.properties,**/file-mapping.properties" />
+ <zipfileset dir="${config.alfresco.dir}/alfresco/module/${module.id.alfresco}" includes="module.properties,file-mapping.properties" />
+ <zipfileset dir="${alfresco.ext.dir}" includes="web/**/*.*" />
+ <zipfileset dir="${build.dir}/axis" />
+ </zip>
+ </target>
+
+ <!-- A voir -->
+ <target name="deploy-alfresco-amp" depends="clean-reset-war, package-alfresco-amp">
+ <echo>Merges extension AMP file into build/webapps/alfresco.war</echo>
+ <echo>${alfresco.mnt.jar} install "${alfresco.amp.file}" "${alfresco.war.file}" -force -verbose -nobackup </echo>
+ <java fork="true" jar="${alfresco.mnt.jar}">
+ <arg value="install "${alfresco.amp.file}" "${alfresco.war.file}" -force -verbose -nobackup" />
+ </java>
+ </target>
+
+ <target name="deploy-alfresco" depends="clean, mkdirs, compile-alfresco, deploy-alfresco-java" description="Quick deployment of Alfresco avoiding amp">
+ <delete dir="${tomcatAlfresco.dir}/shared/classes/alfresco/extension/" />
+ <copy todir="${tomcatAlfresco.dir}/shared/classes/alfresco/extension/" overwrite="true">
+ <fileset dir="_alfresco/config/alfresco/extension/" casesensitive="yes" />
+ </copy>
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/classes/alfresco/module/" overwrite="true">
+ <fileset dir="_alfresco/config/alfresco/module/" casesensitive="yes" />
+ </copy>
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/" overwrite="true">
+ <fileset dir="_alfresco/config/WEB-INF/" casesensitive="yes" />
+ </copy>
+ <delete dir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" />
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/axis2-web/" overwrite="true">
+ <fileset dir="_axis/axis2-web/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/classes/" overwrite="true">
+ <fileset dir="_axis/classes/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/conf/" overwrite="true">
+ <fileset dir="_axis/conf/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/lib/" overwrite="true">
+ <fileset dir="_axis/lib/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/modules/" overwrite="true">
+ <fileset dir="_axis/modules/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" overwrite="true">
+ <fileset dir="_axis/services/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" overwrite="true">
+ <fileset dir="${build.dir}/dist/" casesensitive="yes" />
+ </copy>
+ </target>
+
+ <target name="deploy-alfresco-java" depends="package-alfresco-java">
+ <delete>
+ <!-- delete old versions of the project -->
+ <fileset file="${tomcatAlfresco.dir}/webapps/alfresco/WEB-INF/lib/${alfresco.jar.name}" />
+ </delete>
+ <copy todir="${tomcatAlfresco.dir}/webapps/alfresco/WEB-INF/lib/" overwrite="true">
+ <fileset dir="${build.dir}/lib" casesensitive="yes">
+ <include name="${alfresco.jar.name}" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="reload-webscripts-alfresco" depends="deploy-alfresco" description="Reload repository webscripts">
+ <http url="${repo.scripts.index}" method="POST" printrequest="false" printrequestheaders="false" printresponse="false" printresponseheaders="false" expected="200" failonunexpected="true">
+ <credentials username="${repo.admin.username}" password="${repo.admin.password}" />
+ <query>
+ <parameter name="reset" value="on" />
+ </query>
+ </http>
+ </target>
+
+
+ <target name="compile-axis" depends="compile-alfresco, compile-share">
+ <javac classpathref="src.classpath.axis" srcdir="${source.axis.dir}" destdir="${classes.axis.dir}" debug="true" debuglevel="lines,vars,source" />
+
+ <copy toDir="${classes.axis.dir}/META-INF/" failonerror="false">
+ <fileset dir="_axis/resources">
+ <include name="*.xml" />
+ <include name="*.wsdl" />
+ <include name="*.xsd" />
+
+ </fileset>
+ </copy>
+ <jar destfile="${build.dir}/dist/service.aar">
+ <fileset excludes="**/Test.class" dir="${classes.axis.dir}" />
+ </jar>
+ </target>
+
+
+ <!-- SHARE -->
+ <target name="compile-share">
+ <javac classpathref="src.classpath" srcdir="${source.share.dir}" destdir="${classes.share.dir}" debug="true" debuglevel="lines,vars,source" />
+ </target>
+
+ <target name="package-share-java" depends="clean, mkdirs, compile-share">
+ <jar destfile="${share.jar.file}">
+ <zipfileset dir="${classes.share.dir}" includes="**/*.class" />
+ </jar>
+ </target>
+
+ <target name="js.minify">
+ <yuicompress fromdir="${share.ext.dir}/source" todir="${build.min}" excludes="**/*-min.js" warn="${yuicompress.warn}">
+ <include name="**/*.js" />
+ </yuicompress>
+ </target>
+
+ <target name="css.minify">
+ <yuicompress fromdir="${share.ext.dir}/source" todir="${build.min}" excludes="**/*-min.css" warn="${yuicompress.warn}">
+ <include name="**/*.css" />
+ </yuicompress>
+ </target>
+
+ <target name="package-share-jar" depends="clean, mkdirs, compile-share">
+ <echo>Packaging extension JAR file for share.war</echo>
+ <delete file="${share.jar.file}" />
+ <jar destfile="${share.jar.file}">
+ <zipfileset dir="${classes.share.dir}" includes="**/*.class" />
+ </jar>
+ </target>
+
+ <target name="package-share-amp" depends="package-share-jar, js.minify, css.minify">
+ <echo>Packaging extension AMP file for alfresco.war</echo>
+ <zip destfile="${share.amp.file}">
+ <zipfileset dir="${project.dir}/build" includes="lib/*.jar" />
+ <zipfileset dir="${project.dir}" includes="lib/*.jar" />
+ <zipfileset dir="${share.ext.dir}" includes="config/**/*.*" excludes="**/module.properties,**/file-mapping.properties" />
+ <zipfileset dir="${config.share.dir}/alfresco/module/${module.id.share}" includes="module.properties,file-mapping.properties" />
+ <zipfileset dir="${share.ext.dir}/source" includes="web/**/*.*" />
+ <zipfileset dir="${build.min}" includes="web/**/*.*" />
+ </zip>
+ </target>
+
+ <!-- A voir -->
+ <target name="deploy-share-amp" depends="package-share-amp">
+ <echo>Merges extension AMP file into build/webapps/share.war</echo>
+ <echo>${alfresco.mnt.jar} install "${share.amp.file}" "${share.war.file}" -force -verbose -nobackup </echo>
+ <java fork="true" jar="${alfresco.mnt.jar}">
+ <arg value="install "${share.amp.file}" "${share.war.file}" -force -verbose -nobackup" />
+ </java>
+ </target>
+
+ <target name="deploy-share" depends="clean, mkdirs, compile-share, deploy-share-java" description="Quick deployment of Share avoiding amp">
+ <delete dir="${tomcatShare.dir}/shared/classes/alfresco/web-extension/" />
+ <copy todir="${tomcatShare.dir}/shared/classes/alfresco/web-extension/" overwrite="true">
+ <fileset dir="_share/config/alfresco/web-extension" casesensitive="yes" />
+ </copy>
+ <copy todir="${tomcatShare.dir}/webapps/share/" overwrite="true">
+ <fileset dir="_share/source/web" casesensitive="yes" />
+ </copy>
+ <!--copy todir="${tomcatShare.dir}/webapps/share/themes" overwrite="true">
+ <fileset dir="_share/source/web/themes" casesensitive="yes" />
+ </copy>
+ <copy todir="${tomcatShare.dir}/webapps/share/saem" overwrite="true">
+ <fileset dir="_share/source/web/saem/" casesensitive="yes" />
+ </copy-->
+ <copy todir="${tomcatShare.dir}/webapps/share/WEB-INF/" overwrite="true">
+ <fileset dir="_share/config/WEB-INF/" casesensitive="yes" />
+ </copy>
+ </target>
+
+ <target name="axis-service-hotdeploy" depends="clean, mkdirs, compile-axis" description="Quick deployment of Axis avoiding amp">
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" overwrite="true">
+ <fileset dir="${build.dir}/dist/" casesensitive="yes" />
+ </copy>
+ </target>
+
+ <target name="deploy-axis" depends="clean, mkdirs, compile-axis" description="Quick deployment of Axis avoiding amp">
+ <delete dir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" />
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/axis2-web/" overwrite="true">
+ <fileset dir="_axis/axis2-web/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/classes/" overwrite="true">
+ <fileset dir="_axis/classes/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/conf/" overwrite="true">
+ <fileset dir="_axis/conf/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/lib/" overwrite="true">
+ <fileset dir="_axis/lib/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/modules/" overwrite="true">
+ <fileset dir="_axis/modules/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" overwrite="true">
+ <fileset dir="_axis/services/" casesensitive="yes" />
+ </copy>
+
+ <copy todir="${tomcatAlfresco.webapps.dir}/alfresco/WEB-INF/services/" overwrite="true">
+ <fileset dir="${build.dir}/dist/" casesensitive="yes" />
+ </copy>
+ </target>
+
+ <target name="deploy-share-java" depends="package-share-java">
+ <delete>
+ <!-- delete old versions of the project -->
+ <fileset file="${tomcatShare.dir}/webapps/share/WEB-INF/lib/${share.jar.name}" />
+ </delete>
+ <copy todir="${tomcatShare.dir}/webapps/share/WEB-INF/lib/" overwrite="true">
+ <fileset dir="${build.dir}/lib" casesensitive="yes">
+ <include name="${share.jar.name}" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="deploy" depends="deploy-share, deploy-alfresco, deploy-axis" />
+
+ <target name="reload-webscripts-share" depends="deploy-share" description="Reload Share webscripts">
+ <http url="${share.scripts.index}" method="POST" printrequest="false" printrequestheaders="false" printresponse="false" printresponseheaders="false" expected="200" failonunexpected="true">
+ <credentials username="${repo.admin.username}" password="${repo.admin.password}" />
+ <query>
+ <parameter name="reset" value="on" />
+ </query>
+ </http>
+ </target>
+</project>
\ No newline at end of file
--- /dev/null
+service.versant.site.shortname=service-versant
+category.profil.seda.noderef=workspace://SpacesStore/indique-ici-la-valeur-du noeud
+profils.system.folder.name=Profils SEDA
+datadictionnary.system.folder.noderef=workspace://SpacesStore/indique-ici-la-valeur-du-noeud
+asalae.int.url=http://indique ici l'ip du asalae intermÃdiaire
+asalae.int.login=le login du connecteur
+asalae.int.password=le mot de passe du connecteur
+asalae.def.url=http://indique ici l'ip du asamae dÃfinitif (si besoin)
+asalae.def.login=le login du connecteur
+asalae.def.password=le mot de passe du connecteur
+deploy.custom.content=false
+transfert.big.file.host=localhost
+transfert.big.file.port=55000
+transfert.big.file.nbbytes=1048576
+size.big.file=10000000