com.smartgwt.client.docs

## Interface JavaModuleDependencies

-     public interface JavaModuleDependencies

  ### Java Module Dependencies

  `Maven` users should generally refer to the POMs bundled with the SDK, and installed for them by the official Isomorphic plugin for Maven. For others, the following is a short description of the functionality contained in each Smart GWT server JAR, and a link to the documentation listing its dependencies. Please refer to that documentation for more detail on the dependency graph, including version numbers, transitive dependencies, and licensing.

  Note that if you are using GWT, GWT itself also has an Apache 2.0 license, however tools and test environments that you may use during development have different license (such as Eclipse - Eclipse Public License). Also, specific GWT widgets, not required by Smart GWT, have licenses different from core GWT (such as JFreeChart's LGPL license). See Google's summary of terms for details.

  isomorphic_core_rpc | This is the core Smart GWT module. It provides the RPC, DMI, and DataSource support. Please note that both commons-collections-3.x and commons-collections4-4.x are required and safe to include side by side in the CLASSPATH (different third party libs rely on one or the other). Optional Dependencies isomorphic_js_parser - if you're using the built-in support for REST via the RESTHandler servlet with JSON payloads xercesImpl - if you're using JDK < 1.5 mail - if you plan to use the Mail messaging feature javax.persistence - if you plan to use the metadata-from-annotations feature. Note that if you are using JPA, or a recent version of Hibernate, then you are probably already using this library. poi -if you plan to export datasets in Microsoft Excel 97 (xls) or 2007 (xlsx) formats. poi-ooxml - also needed if you plan to export data in Excel 2007 (xlsx) format isomorphic_contentexport - if you plan to export to PDF format isomorphic_jpa - if you plan to use BatchDS Generator (even if you are not using JPA, although the generated DataSources will not require JPA at runtime if you are not using JPA). log4j - if you plan to use log4j logging (used by default) slf4j-log4j12 - if you plan to use slf4j with log4j (for example), or any other slf4j bridge library depending on which logging framework will be used. See `ServerLogging` for information on server-side logging and how to configure it. groovy -if you plan to use Groovy with the `ServerScript` feature. Note, we also recommend that you use Groovy as the evaluation engine if you intend to use Java as an inline scripting language. See the "Server Scripting" documentation. commons-digester and commons-beanutils - if you plan to use Velocity Tools.
  isomorphic_contentexport | Provides support for PDF Export. Optional Dependencies batik-anim, batik-awt-util, batik-bridge, batik-css, batik-dom, batik-ext, batik-gvt, batik-parser, batik-script, batik-svg-dom, batik-util, batik-xml - These are all required to use `RPCManager.exportImage()`, or when using `RPCManager.exportContent()` to export a DrawPane or FacetChart only in IE8 or earlier, or if a DrawPane has a DrawImage which loads a cross-domain image. NOTE: Between iText 2.0.x and iText 2.1.x there is a binary (but not source) incompatibility that causes a server-side `NoSuchMethodError` when exporting, e.g., charts in Internet Explorer. This is a known issue with the Flying Saucer product that is fixed by using core-renderer-R8-isomorphic.jar and iText-2.1.7.jar in the lib-iTextAlternate/ directory instead of core-renderer.jar and iText-2.0.8.jar in the lib/ directory. To use iText 2.1.7 with the Server Framework, exclude lib/core-renderer.jar and lib/iText-2.0.x.jar from the application's classpath and instead add lib-iTextAlternate/core-renderer-R8-isomorphic.jar and lib-iTextAlternate/iText-2.1.7.jar.
  isomorphic_tools | Contains back-end logic for the "Admin Console" tool visible in the Developer Console, and also standalone from the SDK home page. Also contains the various data importers and exporters, and the server-side components of the BatchUploader.
  isomorphic_cdi | Support for `DMI` dispatches to Spring beans (via `ServerObject.lookupStyle` : "cdi").
  isomorphic_spring | Support for `DMI` dispatches to Spring beans (via `ServerObject.lookupStyle` : "spring").
  isomorphic_realtime_messaging | Server support required for the Smart GWT Realtime Messaging Module. Install this if you're using this 'push' technology. For more information, see `Messaging`.
  isomorphic_hibernate | Contains support for Hibernate DataSources as described here: `HibernateIntegration`.
  isomorphic_jpa | Contains support for JPA DataSources as described `here`
  isomorphic_sql | The Smart GWT SQLDataSource.
  isomorphic_autotest | Support for `automated testing and Continuous Integration` Optional Dependencies jna - if testing with IE on Windows environments servlet-api - needed only if you intend to run Selenium RC from a standalone process (ie, from a normal Java program, not a webapp). However, it should not be deployed to a servlet container such as Tomcat or Jetty. The best case is that the file will be unused and a source of confusion for anybody looking at the webapp's library usage; the worst case is that it will conflict with the container's own implementation of the Servlets API.
  isomorphic_js_parser | A parser capable of reading a JSON byte stream and creating an in-memory Java object structure to match. Used by any mechanism that relies on JSON-style configuration. Examples include FileAssembly definitions in JSON format, any use of the rulesFile with a URIRegexFilter (Java Servlet) or subclass.
  isomorphic_compression | This is a part of the Network Performance Module. The isomorphic_compression module is required for dynamic and static compression of various assets delivered to the browser. For more information, see: `Compression`.
  isomorphic_assembly | This is part of the Network Performance Module. The isomorphic_assembly module is required for file assembly and stripping. For more information, see: `FileAssembly`.
  isomorphic_struts | Contains the ValidationAction and ValidationFailureAction classes that implement RPC-based validation of DynamicForms using the Struts ValidatorPlugIn. If you're not using Struts or if you don't need this particular feature of Smart GWT, you do not need this module or its dependencies (also see the important note below). An example of this style of validation is available here: /examples/struts/forms/welcome.do - read the info on this page, and follow the "Dynamic Form (With RPC-based Validation)" Link for the actual example. NOTE: This support is for Struts 1.0 only, and is only intended to be used in certain edge cases of incremental migration to Smart GWT. You should only use it if directed to do so by Isomorphic Support.