Gate-extraction/2.2

From WebLab Wiki
Jump to navigationJump to search
Gate extraction service
Details
Service Interfaces Analyser, Configurable
Exchange model: WebLab 1.2.2
Versions: <ListSubPages />
Licence LGPL 2.1
Supported OS Windows/Linux/MacOs
Integrated COTS Gate
Binary gate-extraction-2.2.war
Sources gate-extraction-2.2-sources.jar
Javadoc gate-extraction-2.2-javadoc.jar
SVN gate-extraction
Maven Artifact

<groupId>org.ow2.weblab.webservices</groupId>

<artifactId>gate-extraction</artifactId>

<version>2.2</version>
Release Note


This service is an integration of the well-known text processing framework GATE.

It is able to load a Gate application of type CorpusAnalyser or ConditionalCorpusAnalyser from a GAPP.xml file.

Each text section received in the process method is converted to a GATE Document and processed through the GATE application loaded.

At the end, GATE Annotation wearied by each Document is written on the WebLab Document and Text units by an extendible class GateConverter.

Configuration

This service is highly configurable with various (too many?) ways to change its behavior.

  • First of all, you can use the constructor of the class (using the CXF/Spring bean definition) to change four settings:
    • gateHomePath: The path to Gate home folder
    • defaultGappFile: The default Gapp file to be used
    • pluginsPath: The path to the plugin repository
    • converter: An instance of the GateConverter in charge of reading Gate documents and annotate WebLab texts
  • The for each property that has not been defined through the constructor, the service relies on a configuration file: gateservice.properties which is searched within the classpath. This file enable to set up default value for:
    • defaultgappfile: The default Gapp file to be used
    • gatepluginsdir: The path to the plugin repository
    • converter: The GateConverter class to be instantiated to read Gate documents and annotate WebLab texts
    • serviceuri: If defined in the file and if the converter is loaded from this configuration file, then the URI of the service (to be used for produced by statements) is passed to the converter
    • gatehome: The path to Gate home folder
  • When a property is neither defined in the constructor, nor in the gateservice.properties file, then the following default value are used. For other, null is used.
    • defaultgappfile is default.gapp
    • gatepluginsdir: plugins
    • gatehome: gate
  • Finally, the use of the configuration interface can be used to set up specific values for the given usageContext. Values that are defined through constructor and gateservice.properties are only default value. They are used when an unknown and none configured usage context is used. The configuration only let change the gapp to be used for a specific context.


<configuration xmlns:model="http://weblab.ow2.org/core/1.2/model#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uri="weblab:///configuration/t" xsi:type="model:pieceOfKnowledge">
	<data>
		<rdf:RDF xmlns:gateConf="http://weblab.ow2.org/core/1.2/ontology/processing#gate/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="http://weblab.ow2.org/webservices/gateservice">
				<gateConf:gappFilePath>src/main/resources/eng_fre.gapp</gateConf:gappFilePath>
			</rdf:Description>
		</rdf:RDF>
	</data>
</configuration>


  • On top of that, Gapp files are highly configurable application that can be defined though the GATE UI and exported as XML gapp files.

UsageContext effects

The usageContext is the key used to select the Gate Pipeline that should process the input document.

If the usageContext is unknown, then a default application is loaded. If the usageContext has not been used by the process method but has already been used by the configure method, then the configured application is loaded. If the usageContext has been used, then the application is reused.

Examples of SOAP Input/Output

Analyser:process

Input

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:anal="http://weblab.ow2.org/core/1.2/services/analyser">
   <soapenv:Header/>
   <soapenv:Body>
      <anal:processArgs>
         <resource xsi:type="model:Document" uri="weblab://SmallEnglishTest/1" xmlns:model="http://weblab.ow2.org/core/1.2/model#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <annotation uri="weblab://SmallEnglishTest/1#0-a2">
               <data>
                  <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
                     <rdf:Description rdf:about="weblab://SmallEnglishTest/1">
                        <dc:language>en</dc:language>
                     </rdf:Description>
                  </rdf:RDF>
               </data>
            </annotation>
            <mediaUnit xsi:type="model:Text" uri="weblab://SmallEnglishTest/1#0">
               <content>WebLab: An integration infrastructure to ease the development of multimedia processing applications
Patrick GIROUX, Stephan BRUNESSAUX, Sylvie BRUNESSAUX, Jérémie DOUCY, Gérard DUPONT, Bruno GRILHERES, Yann MOMBRUN, Arnaud SAVAL
Information Processing Control and Cognition (IPCC)
EADS Defence and Security Systems
Parc d'Affaire des Portes
27106 Val de Reuil
http://weblab-project.org
ipcc@weblab-project.org
{patrick.giroux, stephan.brunessaux, sylvie.brunessaux, jeremie.doucy, gerard.dupont, bruno.grilheres, yann.mombrun, arnaud.saval}@eads.com
Abstract:
In this paper, we introduce the EADS' WebLab platform (http://weblab-project.org) that aims at providing an integration infrastructure for multimedia information processing components. In the following, we explain the motivations that have led to the realisation of this project within EADS and the requirements that have led our choices. After a quick review of existing information processing platforms, we present the chosen service oriented architecture, and the three layers of the WebLab project (infrastructure, services and applications).
Then, we detail the chosen exchange model and normalised services interfaces that enable semantic interoperability between information processing components. We present the technical choices made to guarantee technical interoperability between the components by the use of an Enterprise Service Bus (ESB).
Moreover, we present the orchestration and portal mechanisms that we have added to the WebLab to enable architects to quickly build multimedia processing applications. In the following, we illustrate the integration process by describing three applications that have been developed on top of this architecture on three R&amp;D projects (Vitalas, WebContent and eWok-Hub). Finally, we propose some perspectives such as the realisation of an information processing services directory, or a toolkit following MDA (Model Driven Architecture) approach to ease the integration process.
Keywords:
Integration infrastructure, Service Oriented Architecture, Semantics, Multimedia Information Processing Platform.</content>
            </mediaUnit>
         </resource>
      </anal:processArgs>
   </soapenv:Body>
</soapenv:Envelope>

Output

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns3:processReturn xmlns:ns2="http://weblab.ow2.org/core/1.2/model#" xmlns:ns3="http://weblab.ow2.org/core/1.2/services/analyser" xmlns:ns4="http://weblab.ow2.org/core/1.2/services/reportprovider" xmlns:ns5="http://weblab.ow2.org/core/1.2/services/sourcereader" xmlns:ns6="http://weblab.ow2.org/core/1.2/services/trainable" xmlns:ns7="http://weblab.ow2.org/core/1.2/services/queuemanager" xmlns:ns8="http://weblab.ow2.org/core/1.2/services/resourcecontainer" xmlns:ns9="http://weblab.ow2.org/core/1.2/services/configurable" xmlns:ns10="http://weblab.ow2.org/core/1.2/services/exception" xmlns:ns11="http://weblab.ow2.org/core/1.2/services/searcher" xmlns:ns12="http://weblab.ow2.org/core/1.2/services/indexer">
         <resource xsi:type="ns2:Document" uri="weblab://SmallEnglishTest/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <annotation uri="weblab://SmallEnglishTest/1#0-a2">
               <data xmlns:model="http://weblab.ow2.org/core/1.2/model#">
                  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
                     <rdf:Description rdf:about="weblab://SmallEnglishTest/1">
                        <dc:language>en</dc:language>
                     </rdf:Description>
                  </rdf:RDF>
               </data>
            </annotation>
            <mediaUnit xsi:type="ns2:Text" uri="weblab://SmallEnglishTest/1#0">
               <annotation uri="weblab://SmallEnglishTest/1#0-a0">
                  <data>
                     <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dct="http://purl.org/dc/terms/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:wlp="http://weblab.ow2.org/core/1.2/ontology/processing#" xmlns:wlr="http://weblab.ow2.org/core/1.2/ontology/retrieval#" xmlns:wookie="http://weblab.ow2.org/wookie#">
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Unit#enterprise_service">
                           <rdfs:label>Enterprise Service</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Unit"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Person#patrick_giroux">
                           <rdfs:label>Patrick GIROUX</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Person"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-2">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Person#stephan_brunessaux"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-1">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Unit#enterprise_service"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Person#stephan_brunessaux">
                           <rdfs:label>Stephan BRUNESSAUX</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Person"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Unit#dupont">
                           <rdfs:label>DUPONT</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Unit"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Person#bruno_grilheres">
                           <rdfs:label>Bruno GRILHERES</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Person"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-3">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Person#patrick_giroux"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-7">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Person#yann_mombrun"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Unit#eads_defence_and_security_systems">
                           <rdfs:label>EADS Defence and Security Systems</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Unit"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-a0">
                           <wlp:isProducedBy rdf:resource="http://weblab.ow2.org/webservices/gateservice"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-5">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Unit#dupont"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-4">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Person#bruno_grilheres"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="http://weblab.ow2.org/wookie/instances/Person#yann_mombrun">
                           <rdfs:label>Yann MOMBRUN</rdfs:label>
                           <rdf:type rdf:resource="http://weblab.ow2.org/wookie#Person"/>
                        </rdf:Description>
                        <rdf:Description rdf:about="weblab://SmallEnglishTest/1#0-6">
                           <wlp:refersTo rdf:resource="http://weblab.ow2.org/wookie/instances/Unit#eads_defence_and_security_systems"/>
                        </rdf:Description>
                     </rdf:RDF>
                  </data>
               </annotation>
               <segment xsi:type="ns2:LinearSegment" start="100" end="114" uri="weblab://SmallEnglishTest/1#0-3"/>
               <segment xsi:type="ns2:LinearSegment" start="116" end="134" uri="weblab://SmallEnglishTest/1#0-2"/>
               <segment xsi:type="ns2:LinearSegment" start="177" end="183" uri="weblab://SmallEnglishTest/1#0-5"/>
               <segment xsi:type="ns2:LinearSegment" start="185" end="200" uri="weblab://SmallEnglishTest/1#0-4"/>
               <segment xsi:type="ns2:LinearSegment" start="202" end="214" uri="weblab://SmallEnglishTest/1#0-7"/>
               <segment xsi:type="ns2:LinearSegment" start="281" end="314" uri="weblab://SmallEnglishTest/1#0-6"/>
               <segment xsi:type="ns2:LinearSegment" start="1383" end="1401" uri="weblab://SmallEnglishTest/1#0-1"/>
               <content>WebLab: An integration infrastructure to ease the development of multimedia processing applications
Patrick GIROUX, Stephan BRUNESSAUX, Sylvie BRUNESSAUX, Jérémie DOUCY, Gérard DUPONT, Bruno GRILHERES, Yann MOMBRUN, Arnaud SAVAL
Information Processing Control and Cognition (IPCC)
EADS Defence and Security Systems
Parc d'Affaire des Portes
27106 Val de Reuil
http://weblab-project.org
ipcc@weblab-project.org
{patrick.giroux, stephan.brunessaux, sylvie.brunessaux, jeremie.doucy, gerard.dupont, bruno.grilheres, yann.mombrun, arnaud.saval}@eads.com
Abstract:
In this paper, we introduce the EADS' WebLab platform (http://weblab-project.org) that aims at providing an integration infrastructure for multimedia information processing components. In the following, we explain the motivations that have led to the realisation of this project within EADS and the requirements that have led our choices. After a quick review of existing information processing platforms, we present the chosen service oriented architecture, and the three layers of the WebLab project (infrastructure, services and applications).
Then, we detail the chosen exchange model and normalised services interfaces that enable semantic interoperability between information processing components. We present the technical choices made to guarantee technical interoperability between the components by the use of an Enterprise Service Bus (ESB).
Moreover, we present the orchestration and portal mechanisms that we have added to the WebLab to enable architects to quickly build multimedia processing applications. In the following, we illustrate the integration process by describing three applications that have been developed on top of this architecture on three R&amp;D projects (Vitalas, WebContent and eWok-Hub). Finally, we propose some perspectives such as the realisation of an information processing services directory, or a toolkit following MDA (Model Driven Architecture) approach to ease the integration process.
Keywords:
Integration infrastructure, Service Oriented Architecture, Semantics, Multimedia Information Processing Platform.</content>
            </mediaUnit>
         </resource>
      </ns3:processReturn>
   </soap:Body>
</soap:Envelope>

Configurable:configure

Input

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://weblab.ow2.org/core/1.2/services/configurable">
   <soapenv:Header/>
   <soapenv:Body>
      <con:configureArgs>
         <usageContext>default.gapp-configuration</usageContext>
         <configuration uri="weblab:///configuration/t" xsi:type="ns111:PieceOfKnowledge" xmlns:ns111="http://weblab.ow2.org/core/1.2/model#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <data>
               <rdf:RDF xmlns:j.0="http://weblab.ow2.org/core/1.2/ontology/processing#gate/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
                  <rdf:Description rdf:about="http://weblab.ow2.org/webservices/gateservice">
                     <j.0:gappFilePath>../webapps/gate-extraction/WEB-INF/classes/default.gapp</j.0:gappFilePath>
                  </rdf:Description>
               </rdf:RDF>
            </data>
         </configuration>
      </con:configureArgs>
   </soapenv:Body>
</soapenv:Envelope>

Output

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns9:configureReturn xmlns:ns2="http://weblab.ow2.org/core/1.2/model#" xmlns:ns3="http://weblab.ow2.org/core/1.2/services/analyser" xmlns:ns4="http://weblab.ow2.org/core/1.2/services/reportprovider" xmlns:ns5="http://weblab.ow2.org/core/1.2/services/sourcereader" xmlns:ns6="http://weblab.ow2.org/core/1.2/services/trainable" xmlns:ns7="http://weblab.ow2.org/core/1.2/services/queuemanager" xmlns:ns8="http://weblab.ow2.org/core/1.2/services/resourcecontainer" xmlns:ns9="http://weblab.ow2.org/core/1.2/services/configurable" xmlns:ns10="http://weblab.ow2.org/core/1.2/services/exception" xmlns:ns11="http://weblab.ow2.org/core/1.2/services/searcher" xmlns:ns12="http://weblab.ow2.org/core/1.2/services/indexer"/>
   </soap:Body>
</soap:Envelope>

Configurable:resetConfiguration

Input

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://weblab.ow2.org/core/1.2/services/configurable">
   <soapenv:Header/>
   <soapenv:Body>
      <con:resetConfigurationArgs>
         <usageContext>default.gapp-configuration</usageContext>
      </con:resetConfigurationArgs>
   </soapenv:Body>
</soapenv:Envelope>

Output

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns9:resetConfigurationReturn xmlns:ns2="http://weblab.ow2.org/core/1.2/model#" xmlns:ns3="http://weblab.ow2.org/core/1.2/services/analyser" xmlns:ns4="http://weblab.ow2.org/core/1.2/services/reportprovider" xmlns:ns5="http://weblab.ow2.org/core/1.2/services/sourcereader" xmlns:ns6="http://weblab.ow2.org/core/1.2/services/trainable" xmlns:ns7="http://weblab.ow2.org/core/1.2/services/queuemanager" xmlns:ns8="http://weblab.ow2.org/core/1.2/services/resourcecontainer" xmlns:ns9="http://weblab.ow2.org/core/1.2/services/configurable" xmlns:ns10="http://weblab.ow2.org/core/1.2/services/exception" xmlns:ns11="http://weblab.ow2.org/core/1.2/services/searcher" xmlns:ns12="http://weblab.ow2.org/core/1.2/services/indexer"/>
   </soap:Body>
</soap:Envelope>

Known Limitations

Dependencies

List off all dependencies of this service:

org.ow2.weblab.webservices:gate-extraction:war:2.2
+- org.ow2.weblab.core.helpers:rdf-helper-jena:jar:1.3.2:compile
|  \- com.hp.hpl.jena:jena:jar:2.6.4:compile
|     +- com.hp.hpl.jena:iri:jar:0.8:compile
|     +- com.ibm.icu:icu4j:jar:3.4.4:compile
|     +- org.slf4j:slf4j-api:jar:1.5.8:compile
|     \- org.slf4j:slf4j-log4j12:jar:1.5.8:runtime
+- uk.ac.gate:gate-core:jar:6.1:compile
|  +- commons-io:commons-io:jar:2.0.1:compile (version managed from 1.4)
|  +- log4j:log4j:jar:1.2.16:compile
|  +- commons-lang:commons-lang:jar:2.5:compile
|  +- jdom:jdom:jar:1.0:compile
|  +- uk.ac.gate:gate-asm:jar:3.1:compile
|  +- net.sourceforge.nekohtml:nekohtml:jar:1.9.14:compile
|  +- xerces:xercesImpl:jar:2.9.1:compile
|  +- org.apache.tika:tika-parsers:jar:0.7:compile
|  |  +- org.apache.tika:tika-core:jar:0.7:compile
|  |  +- org.apache.commons:commons-compress:jar:1.2:compile (version managed from 1.0)
|  |  +- org.apache.pdfbox:pdfbox:jar:1.1.0:compile
|  |  |  +- org.apache.pdfbox:fontbox:jar:1.1.0:compile
|  |  |  \- org.apache.pdfbox:jempbox:jar:1.1.0:compile
|  |  +- org.bouncycastle:bcmail-jdk15:jar:1.45:compile
|  |  +- org.bouncycastle:bcprov-jdk15:jar:1.45:compile
|  |  +- org.apache.poi:poi:jar:3.6:compile
|  |  +- org.apache.poi:poi-scratchpad:jar:3.6:compile
|  |  +- org.apache.poi:poi-ooxml:jar:3.6:compile
|  |  |  +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile
|  |  |  |  \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
|  |  |  \- dom4j:dom4j:jar:1.6.1:compile
|  |  +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
|  |  +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2:compile
|  |  \- com.drewnoakes:metadata-extractor:jar:2.4.0-beta-1:compile
|  \- org.codehaus.woodstox:wstx-lgpl:jar:3.2.3:compile
+- com.thoughtworks.xstream:xstream:jar:1.3.1:runtime
|  \- xpp3:xpp3_min:jar:1.1.4c:runtime
+- uk.ac.gate:gate-compiler-jdt:jar:1:runtime
+- org.ow2.weblab.core:model:jar:1.2.2:compile
+- org.ow2.weblab.core:extended:jar:1.2.2:compile
+- org.ow2.weblab.core:annotator:jar:1.2.4:compile
|  \- joda-time:joda-time:jar:1.6.2:compile
+- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.4.0:compile
|  +- xml-resolver:xml-resolver:jar:1.2:compile
|  +- asm:asm:jar:3.3:compile
|  +- org.apache.cxf:cxf-api:jar:2.4.0:compile
|  |  +- org.apache.cxf:cxf-common-utilities:jar:2.4.0:compile
|  |  +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0:compile
|  |  \- org.apache.neethi:neethi:jar:3.0.0:compile
|  |     +- wsdl4j:wsdl4j:jar:1.6.2:compile
|  |     \- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.1:compile
|  |        \- org.codehaus.woodstox:stax2-api:jar:3.0.2:compile
|  +- org.apache.cxf:cxf-rt-core:jar:2.4.0:compile
|  |  +- com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile
|  |  \- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile
|  +- org.apache.cxf:cxf-rt-bindings-soap:jar:2.4.0:compile
|  |  +- org.apache.cxf:cxf-tools-common:jar:2.4.0:compile
|  |  \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.4.0:compile
|  +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.4.0:compile
|  +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.4.0:compile
|  \- org.apache.cxf:cxf-rt-ws-addr:jar:2.4.0:compile
+- org.apache.cxf:cxf-rt-transports-http:jar:2.4.0:compile
|  +- org.apache.cxf:cxf-rt-transports-common:jar:2.4.0:compile
|  \- org.springframework:spring-web:jar:3.0.5.RELEASE:compile
|     +- aopalliance:aopalliance:jar:1.0:compile
|     +- org.springframework:spring-beans:jar:3.0.5.RELEASE:compile
|     +- org.springframework:spring-context:jar:3.0.5.RELEASE:compile
|     |  +- org.springframework:spring-aop:jar:3.0.5.RELEASE:compile
|     |  +- org.springframework:spring-expression:jar:3.0.5.RELEASE:compile
|     |  \- org.springframework:spring-asm:jar:3.0.5.RELEASE:compile
|     \- org.springframework:spring-core:jar:3.0.5.RELEASE:compile
+- xalan:xalan:jar:2.7.1:compile
|  \- xalan:serializer:jar:2.7.1:compile
|     \- xml-apis:xml-apis:jar:1.3.04:compile
+- commons-logging:commons-logging:jar:1.1.1:compile
+- junit:junit:jar:4.8.2:test
\- javax.servlet:servlet-api:jar:2.4:provided