Revision: 19832
http://sourceforge.net/p/gate/code/19832
Author: markagreenwood
Date: 2016-11-28 10:48:52 +0000 (Mon, 28 Nov 2016)
Log Message:
-----------
converted this plugin to maven as well
Modified Paths:
--------------
gate/branches/sawdust2/plugins/Annotation_Merging/.classpath
gate/branches/sawdust2/plugins/Annotation_Merging/.project
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/gate/merger/test/TestAnnotationMergingPlugin.java
Added Paths:
-----------
gate/branches/sawdust2/plugins/Annotation_Merging/pom.xml
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/java/
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/java/gate/
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/resources/
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/resources/creole.xml
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/gate/
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/gate/merger/
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/gate/merger/test/
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/beijing-opera.xml
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/creole.properties
Removed Paths:
-------------
gate/branches/sawdust2/plugins/Annotation_Merging/build.xml
gate/branches/sawdust2/plugins/Annotation_Merging/creole.xml
gate/branches/sawdust2/plugins/Annotation_Merging/doc/
gate/branches/sawdust2/plugins/Annotation_Merging/lib/
gate/branches/sawdust2/plugins/Annotation_Merging/src/gate/
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/java/gate/merger/test/
gate/branches/sawdust2/plugins/Annotation_Merging/testdata/
Property Changed:
----------------
gate/branches/sawdust2/plugins/Annotation_Merging/
Index: gate/branches/sawdust2/plugins/Annotation_Merging
===================================================================
--- gate/branches/sawdust2/plugins/Annotation_Merging 2016-11-28 09:53:58 UTC
(rev 19831)
+++ gate/branches/sawdust2/plugins/Annotation_Merging 2016-11-28 10:48:52 UTC
(rev 19832)
Property changes on: gate/branches/sawdust2/plugins/Annotation_Merging
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1,2 ##
-annotationMerging.jar
-build
-TEST-*
+target
.settings
Modified: gate/branches/sawdust2/plugins/Annotation_Merging/.classpath
===================================================================
--- gate/branches/sawdust2/plugins/Annotation_Merging/.classpath
2016-11-28 09:53:58 UTC (rev 19831)
+++ gate/branches/sawdust2/plugins/Annotation_Merging/.classpath
2016-11-28 10:48:52 UTC (rev 19832)
@@ -1,7 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry combineaccessrules="false" exported="true" kind="src"
path="/GATE"/>
- <classpathentry kind="output" path="build"/>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes"
path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes"
path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
</classpath>
Modified: gate/branches/sawdust2/plugins/Annotation_Merging/.project
===================================================================
--- gate/branches/sawdust2/plugins/Annotation_Merging/.project 2016-11-28
09:53:58 UTC (rev 19831)
+++ gate/branches/sawdust2/plugins/Annotation_Merging/.project 2016-11-28
10:48:52 UTC (rev 19832)
@@ -10,8 +10,14 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
Deleted: gate/branches/sawdust2/plugins/Annotation_Merging/build.xml
===================================================================
--- gate/branches/sawdust2/plugins/Annotation_Merging/build.xml 2016-11-28
09:53:58 UTC (rev 19831)
+++ gate/branches/sawdust2/plugins/Annotation_Merging/build.xml 2016-11-28
10:48:52 UTC (rev 19832)
@@ -1,160 +0,0 @@
-<?xml version="1.0"?>
-<!-- $Id: build.xml 3600 2007-03-21 16:37:18Z yaoyong $ -->
-<project name="annotationMerging" default="all" basedir=".">
- <description>
- Annotation merging plugin
- see http://gate.ac.uk
- </description>
-
- <!-- Prevent Ant from warning about includeantruntime not being set -->
- <property name="build.sysclasspath" value="ignore" />
-
- <!--
*******************************************************************
- **************** USER OPTIONS ************************************
- *******************************************************************
-
- Make changes to this section of the build file to customise your
- GATE start-up and build script -->
- <!-- Allow overriding of properties via build.properties -->
- <property file="build.properties" />
-
- <!-- Location of GATE - by default assume it's checked out at the same
- level as sins -->
- <property name="gate.home" location="../../" />
-
- <!-- TOOLS.JAR -->
- <!-- GATE will normally try to guess which tools.jar library to use
based on
- your Java installation.
- If you want to set this manually uncomment the line below & edit it -->
- <!-- <property name="tools.jar.location"
value="w:/jdk/jdk1.5.0/lib/tools.jar"/> -->
-
- <!-- RUNTIME MEMORY -->
- <property name="run.memory" value="700M" />
-
- <!--
*******************************************************************
- **************** USER OPTIONS END HERE! **************************
- ******************************************************************* -->
-
- <!-- set global properties for this build -->
-
- <!-- Directories -->
-
- <!-- Sources -->
- <property name="srcDir" location="src" />
-
- <!-- Output directory for the build process -->
- <property name="buildDir" location="build" />
-
- <!-- Libraries directory for the build process -->
- <property name="libDir" location="lib" />
-
- <!-- Directory for the documentation -->
- <property name="doc.dir" location="doc" />
- <property name="javadoc.dir" location="${doc.dir}/javadoc" />
-
- <!-- Use the new 1.3+ compiler -->
- <property name="build.compiler" value="modern" />
-
- <property name="gate.jar" location="${gate.home}/bin/gate.jar" />
- <property name="gate.lib.dir" location="${gate.home}/lib" />
- <property name="gate.compile.maxwarnings" value="10000" />
-
- <fileset id="gate.libs" dir="${gate.lib.dir}">
- <include name="*.jar" />
- <include name="*.zip" />
- </fileset>
-
- <!-- The libraries -->
- <fileset id="libs" dir="${libDir}">
- <include name="*.jar" />
- <include name="*.zip" />
- </fileset>
-
- <!-- The build CLASSPATH - includes learning libs, gate.jar and GATE
libs -->
- <path id="build.class.path">
- <fileset refid="libs" />
- <pathelement location="${gate.jar}" />
- <fileset refid="gate.libs" />
- </path>
-
- <!-- create build directory structure -->
- <target name="prepare">
- <mkdir dir="${buildDir}" />
- </target>
-
- <!-- This target compiles all the classes -->
- <target name="compile" description="compile the source "
depends="prepare">
- <!-- Compile the java code from ${srcDir} into ${buildDir} -->
- <javac srcdir="${srcDir}" destdir="${buildDir}" source="1.6"
target="1.6" encoding="UTF-8" debug="true" debuglevel="lines,source"
classpathref="build.class.path">
- <compilerarg value="-Xmaxwarns" />
- <compilerarg value="${gate.compile.maxwarnings}" />
- <compilerarg value="-Xlint:all" />
- </javac>
- </target>
-
- <target name="jar" depends="compile">
- <jar destfile="annotationMerging.jar" update="false"
index="true">
- <fileset dir="${buildDir}/" />
- </jar>
- </target>
-
- <!-- Build JavaDoc documentation -->
- <target name="doc.prepare">
- <mkdir dir="${javadoc.dir}" />
- </target>
-
- <target name="javadoc" depends="doc.prepare">
- <javadoc destdir="${javadoc.dir}" packagenames="*"
- classpathref="build.class.path"
- encoding="UTF-8"
- windowtitle="${plugin.name} JavaDoc"
- source="1.6">
- <sourcepath>
- <pathelement location="${srcDir}" />
- </sourcepath>
- <link href="http://docs.oracle.com/javase/6/docs/api/" />
- <link href="http://gate.ac.uk/gate/doc/javadoc/" />
- </javadoc>
- </target>
-
-
-
-
- <!-- Everything! -->
- <target name="all" depends="jar">
- </target>
-
- <!-- Clear all build output -->
- <target name="clean.classes">
- <delete dir="${buildDir}" />
- </target>
-
- <target name="clean" depends="clean.classes">
- <delete file="annotationMerging.jar" />
- </target>
-
- <!-- Run (some) of the junit tests -->
- <target name="test" depends="jar">
- <junit fork="true" showoutput="yes" printsummary="yes"
maxmemory="${run.memory}">
- <classpath>
- <pathelement location="annotationMerging.jar" />
- <path refid="build.class.path" />
- </classpath>
- <formatter type="xml" />
-
- <test
name="gate.merger.test.TestAnnotationMergingPlugin" />
- </junit>
- </target>
-
- <!-- Targets used by the main GATE build file -->
- <target name="build" depends="jar" />
- <target name="distro.prepare" depends="clean.classes">
- <!-- remove JUnit test reports -->
- <delete>
- <fileset dir="." includes="TEST*.xml" />
- </delete>
- </target>
-
-
-</project>
-
Deleted: gate/branches/sawdust2/plugins/Annotation_Merging/creole.xml
===================================================================
--- gate/branches/sawdust2/plugins/Annotation_Merging/creole.xml
2016-11-28 09:53:58 UTC (rev 19831)
+++ gate/branches/sawdust2/plugins/Annotation_Merging/creole.xml
2016-11-28 10:48:52 UTC (rev 19832)
@@ -1,55 +0,0 @@
-<?xml version="1.0"?>
-<!-- $Id$ -->
-<CREOLE-DIRECTORY>
- <!-- Processing Resources -->
- <CREOLE>
- <!-- creole.xml for the Learning PR -->
- <RESOURCE>
- <NAME>Annotation Merging PR</NAME>
- <COMMENT>Merge Annotations from different annotators.</COMMENT>
-
<HELPURL>http://gate.ac.uk/userguide/sec:misc-creole:merging</HELPURL>
- <CLASS>gate.merger.AnnotationMergingMain</CLASS>
- <JAR>annotationMerging.jar</JAR>
-
- <PARAMETER NAME="annSetsForMerging"
- COMMENT="Annotation sets names used for merging. Example:
'as1;as2;as3'.
-If not defined, use all the annotation sets but the default annotation set."
- RUNTIME="true"
- OPTIONAL="true">java.lang.String</PARAMETER>
-
- <PARAMETER NAME="annTypesAndFeats"
- COMMENT="Annotation types names and optionally features used for
-merging. Example: 'Location;Organisation->type'."
- RUNTIME="true" OPTIONAL="true">java.lang.String</PARAMETER>
-
- <PARAMETER NAME="annSetOutput"
- COMMENT="Annotation set name used for storing the merged annotations"
- RUNTIME="true" OPTIONAL="false">java.lang.String</PARAMETER>
-
- <PARAMETER NAME="document" COMMENT="Document to be processed"
- RUNTIME="true" OPTIONAL="false">gate.Document</PARAMETER>
-
- <PARAMETER NAME="mergingMethod"
- COMMENT="MergingByAnnotatorNum selects the annotation on which at least
-minimalAnnNum annotators agree and MajorityVoting selects the
-annotation that the majority of annotators support."
- RUNTIME="true" DEFAULT="MajorityVoting"
- OPTIONAL="false">gate.merger.MergingMethodsEnum</PARAMETER>
-
- <PARAMETER NAME="minimalAnnNum"
- COMMENT="Minimal number of annotators who must agree to merge
-the annotation with MergingByAnnotatorNum mergingMethod"
- RUNTIME="true" DEFAULT="1"
OPTIONAL="true">java.lang.String</PARAMETER>
-
- <PARAMETER NAME="keepSourceForMergedAnnotations" DEFAULT="true"
- COMMENT="Should source annotations be kept when merged?"
- RUNTIME="true" OPTIONAL="false">
- java.lang.Boolean
- </PARAMETER>
- </RESOURCE>
-
- </CREOLE>
-
-
-</CREOLE-DIRECTORY>
-
Added: gate/branches/sawdust2/plugins/Annotation_Merging/pom.xml
===================================================================
--- gate/branches/sawdust2/plugins/Annotation_Merging/pom.xml
(rev 0)
+++ gate/branches/sawdust2/plugins/Annotation_Merging/pom.xml 2016-11-28
10:48:52 UTC (rev 19832)
@@ -0,0 +1,38 @@
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>uk.ac.gate.plugins</groupId>
+ <artifactId>base-plugin</artifactId>
+ <!-- this should be the version of GATE you wish to build
against -->
+ <version>9.0-SNAPSHOT</version>
+ <relativePath>../../Plugin_Base/pom.xml</relativePath>
+ </parent>
+
+ <!-- this is the description of this plugin -->
+ <groupId>uk.ac.gate.plugins</groupId>
+ <artifactId>annotation-merging</artifactId>
+ <version>9.0-SNAPSHOT</version>
+
+ <licenses>
+ <license>
+ <name>GNU Lesser General Public License (LGPL), Version
3</name>
+ <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <organization>
+ <name>GATE</name>
+ <url>http://gate.ac.uk</url>
+ </organization>
+
+ <dependencies>
+ <!-- add any other libraries your plugin depends on. Any other
GATE plugins
+ you depend on at compile time should use the provided
scope -->
+ </dependencies>
+
+</project>
Copied:
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/resources/creole.xml
(from rev 19831, gate/branches/sawdust2/plugins/Annotation_Merging/creole.xml)
===================================================================
---
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/resources/creole.xml
(rev 0)
+++
gate/branches/sawdust2/plugins/Annotation_Merging/src/main/resources/creole.xml
2016-11-28 10:48:52 UTC (rev 19832)
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<!-- $Id$ -->
+<CREOLE-DIRECTORY>
+ <!-- Processing Resources -->
+ <CREOLE>
+ <!-- creole.xml for the Learning PR -->
+ <RESOURCE>
+ <NAME>Annotation Merging PR</NAME>
+ <COMMENT>Merge Annotations from different annotators.</COMMENT>
+
<HELPURL>http://gate.ac.uk/userguide/sec:misc-creole:merging</HELPURL>
+ <CLASS>gate.merger.AnnotationMergingMain</CLASS>
+
+ <PARAMETER NAME="annSetsForMerging"
+ COMMENT="Annotation sets names used for merging. Example:
'as1;as2;as3'.
+If not defined, use all the annotation sets but the default annotation set."
+ RUNTIME="true"
+ OPTIONAL="true">java.lang.String</PARAMETER>
+
+ <PARAMETER NAME="annTypesAndFeats"
+ COMMENT="Annotation types names and optionally features used for
+merging. Example: 'Location;Organisation->type'."
+ RUNTIME="true" OPTIONAL="true">java.lang.String</PARAMETER>
+
+ <PARAMETER NAME="annSetOutput"
+ COMMENT="Annotation set name used for storing the merged annotations"
+ RUNTIME="true" OPTIONAL="false">java.lang.String</PARAMETER>
+
+ <PARAMETER NAME="document" COMMENT="Document to be processed"
+ RUNTIME="true" OPTIONAL="false">gate.Document</PARAMETER>
+
+ <PARAMETER NAME="mergingMethod"
+ COMMENT="MergingByAnnotatorNum selects the annotation on which at least
+minimalAnnNum annotators agree and MajorityVoting selects the
+annotation that the majority of annotators support."
+ RUNTIME="true" DEFAULT="MajorityVoting"
+ OPTIONAL="false">gate.merger.MergingMethodsEnum</PARAMETER>
+
+ <PARAMETER NAME="minimalAnnNum"
+ COMMENT="Minimal number of annotators who must agree to merge
+the annotation with MergingByAnnotatorNum mergingMethod"
+ RUNTIME="true" DEFAULT="1"
OPTIONAL="true">java.lang.String</PARAMETER>
+
+ <PARAMETER NAME="keepSourceForMergedAnnotations" DEFAULT="true"
+ COMMENT="Should source annotations be kept when merged?"
+ RUNTIME="true" OPTIONAL="false">
+ java.lang.Boolean
+ </PARAMETER>
+ </RESOURCE>
+
+ </CREOLE>
+
+
+</CREOLE-DIRECTORY>
+
Modified:
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/gate/merger/test/TestAnnotationMergingPlugin.java
===================================================================
---
gate/branches/sawdust2/plugins/Annotation_Merging/src/gate/merger/test/TestAnnotationMergingPlugin.java
2016-11-28 07:13:12 UTC (rev 19816)
+++
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/java/gate/merger/test/TestAnnotationMergingPlugin.java
2016-11-28 10:48:52 UTC (rev 19832)
@@ -16,50 +16,10 @@
import gate.GateConstants;
import gate.merger.AnnotationMergingMain;
import gate.merger.MergingMethodsEnum;
-import gate.util.ExtensionFileFilter;
-import gate.util.GateException;
+import gate.test.GATEPluginTestCase;
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.Arrays;
-import java.util.Comparator;
-
-import junit.framework.TestCase;
-
-public class TestAnnotationMergingPlugin extends TestCase {
- private static File learningHome;
- /** Use it to do initialisation only once. */
- private static boolean initialized = false;
-
- /**
- * Construction
- *
- * @throws GateException
- * @throws MalformedURLException
- */
- public TestAnnotationMergingPlugin(String name) throws GateException,
- MalformedURLException {
- super(name);
- if(!initialized) {
- Gate.init();
- learningHome = new File(new File(Gate.getGateHome(), "plugins"),
- "Annotation_Merging");
-
Gate.getCreoleRegister().registerDirectories(learningHome.toURI().toURL());
- initialized = true;
- }
- }
-
- /** Fixture set up */
- public void setUp() {
- } // setUp
-
- /**
- * Put things back as they should be after running tests.
- */
- public void tearDown() throws Exception {
- super.tearDown();
- } // tearDown
-
+public class TestAnnotationMergingPlugin extends GATEPluginTestCase {
+
/** The test for AnnotationMerging. */
public void testAnnotationMergingPlugin() throws Exception {
@@ -70,24 +30,12 @@
//Create a object for merging
AnnotationMergingMain mergerOne = (AnnotationMergingMain)Factory
.createResource("gate.merger.AnnotationMergingMain");
- //A corpus
+ //A corpus
Corpus corpus = Factory.newCorpus("DataSet");
- ExtensionFileFilter fileFilter = new ExtensionFileFilter();
- fileFilter.addExtension("xml");
- String corpusDirName = new File(learningHome,
"testdata").getAbsolutePath();
- File[] xmlFiles = new File(corpusDirName).listFiles(fileFilter);
- Arrays.sort(xmlFiles, new Comparator<File>() {
- public int compare(File a, File b) {
- return a.getName().compareTo(b.getName());
- }
- });
- for(File f : xmlFiles) {
- if(!f.isDirectory()) {
- Document doc = Factory.newDocument(f.toURI().toURL(), "UTF-8");
- doc.setName(f.getName());
- corpus.add(doc);
- }
- }
+ Document doc =
Factory.newDocument(this.getClass().getResource("/beijing-opera.xml"), "UTF-8");
+ System.out.println(this.getClass().getResource("beijing-opera.xml"));
+ corpus.add(doc);
+
gate.creole.SerialAnalyserController controller;
controller = (gate.creole.SerialAnalyserController)Factory
@@ -100,7 +48,7 @@
MergingMethodsEnum methodMerger = MergingMethodsEnum.MajorityVoting;
mergerOne.setMergingMethod(methodMerger);
controller.execute();
- Document doc = corpus.get(0);
+
AnnotationSet anns = doc.getAnnotations("mergerAnns").get("sent");
int num = obtainAnns(anns, "Op", "true");
assertEquals(num, 5);
Copied:
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/beijing-opera.xml
(from rev 19831,
gate/branches/sawdust2/plugins/Annotation_Merging/testdata/beijing-opera.xml)
===================================================================
---
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/beijing-opera.xml
(rev 0)
+++
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/beijing-opera.xml
2016-11-28 10:48:52 UTC (rev 19832)
@@ -0,0 +1,322 @@
+<?xml version='1.0' encoding='utf-8'?>
+<GateDocument>
+<!-- The document's features-->
+
+<GateDocumentFeatures>
+<Feature>
+ <Name className="java.lang.String">gate.SourceURL</Name>
+ <Value
className="java.lang.String">file:/C:/yaoyong_h/iaa/wikidoc/beijing-opera.xml</Value>
+</Feature>
+<Feature>
+ <Name className="java.lang.String">MimeType</Name>
+ <Value className="java.lang.String">text/xml</Value>
+</Feature>
+</GateDocumentFeatures>
+<!-- The document content area with serialized nodes -->
+
+<TextWithNodes><Node id="0" />
+<Node id="1" />Beijing<Node id="8" /> opera or <Node id="18" />Peking<Node
id="24" /> opera is a form of traditional Chinese theatre which combines music,
vocal performance, mime, dance and acrobatics.<Node id="140" /> <Node id="141"
/>It arose in the late 18th century and became fully developed and recognized
by the mid-19th century.<Node id="241" />[1] <Node id="245" />The form<Node
id="253" /> was extremely popular in the Qing Dynasty court and has come to be
regarded as one of the cultural treasures of <Node id="366" />China<Node
id="371" />.<Node id="372" />[2] <Node id="376" />Major performance troupes are
based in <Node id="415" />Beijing<Node id="422" /> and <Node id="427"
/>Tianjin<Node id="434" /> in the north, and <Node id="453" />Shanghai<Node
id="461" /> in the south.<Node id="475" />[3] <Node id="479" />The art form is
also enjoyed in <Node id="511" />Taiwan<Node id="517" />, and has spread to
other countries such as the <Node id="565" />United States<Node id="578" />
and <Node id="583" />Japan<Node id="588" />.<Node id="589" />[4]
+
+<Node id="594" />Beijing<Node id="601" /> opera features four main types of
performers.<Node id="647" /> <Node id="648" />Performing troupes often have
several of each variety, as well as numerous secondary and tertiary
performers.<Node id="757" /> <Node id="758" />With their elaborate and colorful
costumes, performers are the only focal points on Beijing opera's
characteristically sparse stage.<Node id="890" /> <Node id="891" />They utilize
the skills of speech, song, dance, and combat in movements that are symbolic
and suggestive, rather than realistic.<Node id="1019" /> <Node id="1020"
/>Above all else, <Node id="1036" />the <Node id="1040" />skill of
performers<Node id="1059" /> is evaluated according to the beauty of their
movements.<Node id="1116" /> <Node id="1117" />Performers<Node id="1127" />
also adhere to a variety of stylistic conventions that help audiences navigate
the plot of the production.<Node id="1234" />[5] <Node id="1238" />The layers
of meaning within each mov
ement must be expressed in time with music.<Node id="1318" /> <Node id="1319"
/>The music of <Node id="1332" />Beijing<Node id="1339" /> opera can be divided
into the Xipi and Erhuang styles.<Node id="1394" /> <Node id="1395" />Melodies
include arias, fixed-tune melodies, and percussion patterns.<Node id="1464"
/>[6]<Node id="1467" /> The repertoire of <Node id="1486" />Beijing<Node
id="1493" /> opera includes over 1,400 works, which are based on Chinese
history, folklore, and, increasingly, contemporary life.<Node id="1610" />[7]
+
+<Node id="1615" />In recent years, <Node id="1632" />Beijing<Node id="1639" />
opera<Node id="1645" /> has attempted numerous reforms in response to sagging
audience numbers.<Node id="1717" /> <Node id="1718" />These reforms, which
include improving performance quality, adapting new performance elements, and
performing new and original plays, have met with mixed success.<Node id="1880"
/> <Node id="1881" />Some Western works have been adopted as new plays,<Node
id="1931" /> <Node id="1932" />but a lack of funding and an adverse political
climate have left <Node id="1997" />Beijing<Node id="2004" /> opera<Node
id="2010" />'s <Node id="2013" />fate<Node id="2017" /> uncertain as the form
enters the 21st century.<Node id="2064" />[8]
+<Node id="2068" /></TextWithNodes>
+<!-- The default annotation set -->
+
+<AnnotationSet>
+</AnnotationSet>
+<!-- Named annotation set -->
+
+<AnnotationSet Name="Original markups">
+<Annotation Id="1" Type="TEXT" StartNode="0" EndNode="2068">
+</Annotation>
+<Annotation Id="0" Type="DOC" StartNode="0" EndNode="2068">
+</Annotation>
+</AnnotationSet>
+<!-- Named annotation set -->
+
+<AnnotationSet Name="ann2">
+<Annotation Id="62" Type="sent" StartNode="1932" EndNode="2064">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="47" Type="sent" StartNode="479" EndNode="589">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="51" Type="sent" StartNode="891" EndNode="1019">
+</Annotation>
+<Annotation Id="58" Type="sent" StartNode="1467" EndNode="1610">
+</Annotation>
+<Annotation Id="55" Type="sent" StartNode="1238" EndNode="1318">
+</Annotation>
+<Annotation Id="43" Type="sent" StartNode="141" EndNode="241">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="50" Type="sent" StartNode="758" EndNode="890">
+</Annotation>
+<Annotation Id="48" Type="sent" StartNode="594" EndNode="647">
+</Annotation>
+<Annotation Id="86" Type="Os" StartNode="1997" EndNode="2010">
+</Annotation>
+<Annotation Id="49" Type="sent" StartNode="648" EndNode="757">
+</Annotation>
+<Annotation Id="54" Type="Os" StartNode="1117" EndNode="1127">
+</Annotation>
+<Annotation Id="59" Type="sent" StartNode="1615" EndNode="1717">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="44" Type="sent" StartNode="245" EndNode="372">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="45" Type="Os" StartNode="245" EndNode="253">
+</Annotation>
+<Annotation Id="53" Type="sent" StartNode="1117" EndNode="1234">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="60" Type="sent" StartNode="1718" EndNode="1880">
+</Annotation>
+<Annotation Id="61" Type="sent" StartNode="1881" EndNode="1931">
+</Annotation>
+<Annotation Id="46" Type="sent" StartNode="376" EndNode="475">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="57" Type="sent" StartNode="1395" EndNode="1464">
+</Annotation>
+<Annotation Id="52" Type="sent" StartNode="1020" EndNode="1116">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="42" Type="sent" StartNode="1" EndNode="140">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="56" Type="sent" StartNode="1319" EndNode="1394">
+</Annotation>
+</AnnotationSet>
+<!-- Named annotation set -->
+
+<AnnotationSet Name="ann3">
+<Annotation Id="83" Type="sent" StartNode="1932" EndNode="2064">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="68" Type="sent" StartNode="479" EndNode="589">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="79" Type="sent" StartNode="1467" EndNode="1610">
+</Annotation>
+<Annotation Id="82" Type="sent" StartNode="1881" EndNode="1931">
+</Annotation>
+<Annotation Id="75" Type="Os" StartNode="1117" EndNode="1127">
+</Annotation>
+<Annotation Id="87" Type="Os" StartNode="1040" EndNode="1059">
+</Annotation>
+<Annotation Id="72" Type="sent" StartNode="891" EndNode="1019">
+</Annotation>
+<Annotation Id="67" Type="sent" StartNode="376" EndNode="475">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="63" Type="sent" StartNode="1" EndNode="140">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="80" Type="sent" StartNode="1615" EndNode="1717">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="66" Type="Os" StartNode="245" EndNode="253">
+</Annotation>
+<Annotation Id="81" Type="sent" StartNode="1718" EndNode="1880">
+</Annotation>
+<Annotation Id="76" Type="sent" StartNode="1238" EndNode="1318">
+</Annotation>
+<Annotation Id="71" Type="sent" StartNode="758" EndNode="890">
+</Annotation>
+<Annotation Id="64" Type="sent" StartNode="141" EndNode="241">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="73" Type="sent" StartNode="1020" EndNode="1116">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="77" Type="sent" StartNode="1319" EndNode="1394">
+</Annotation>
+<Annotation Id="65" Type="sent" StartNode="245" EndNode="372">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="70" Type="sent" StartNode="648" EndNode="757">
+</Annotation>
+<Annotation Id="74" Type="sent" StartNode="1117" EndNode="1234">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="89" Type="Os" StartNode="2013" EndNode="2017">
+</Annotation>
+<Annotation Id="78" Type="sent" StartNode="1395" EndNode="1464">
+</Annotation>
+<Annotation Id="69" Type="sent" StartNode="594" EndNode="647">
+</Annotation>
+</AnnotationSet>
+<!-- Named annotation set -->
+
+<AnnotationSet Name="ann1">
+<Annotation Id="15" Type="Location" StartNode="1632" EndNode="1639">
+</Annotation>
+<Annotation Id="30" Type="sent" StartNode="1319" EndNode="1394">
+</Annotation>
+<Annotation Id="8" Type="Location" StartNode="453" EndNode="461">
+</Annotation>
+<Annotation Id="23" Type="sent" StartNode="594" EndNode="647">
+</Annotation>
+<Annotation Id="40" Type="Os" StartNode="1632" EndNode="1645">
+</Annotation>
+<Annotation Id="16" Type="Location" StartNode="1997" EndNode="2004">
+</Annotation>
+<Annotation Id="31" Type="sent" StartNode="1395" EndNode="1464">
+</Annotation>
+<Annotation Id="35" Type="sent" StartNode="1881" EndNode="1931">
+</Annotation>
+<Annotation Id="7" Type="Location" StartNode="427" EndNode="434">
+</Annotation>
+<Annotation Id="22" Type="sent" StartNode="479" EndNode="589">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="32" Type="sent" StartNode="1467" EndNode="1610">
+</Annotation>
+<Annotation Id="34" Type="sent" StartNode="1718" EndNode="1880">
+</Annotation>
+<Annotation Id="41" Type="Os" StartNode="1997" EndNode="2017">
+</Annotation>
+<Annotation Id="9" Type="Location" StartNode="511" EndNode="517">
+</Annotation>
+<Annotation Id="33" Type="sent" StartNode="1615" EndNode="1717">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="21" Type="sent" StartNode="376" EndNode="475">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="6" Type="Location" StartNode="415" EndNode="422">
+</Annotation>
+<Annotation Id="29" Type="sent" StartNode="1238" EndNode="1318">
+</Annotation>
+<Annotation Id="14" Type="Location" StartNode="1486" EndNode="1493">
+</Annotation>
+<Annotation Id="24" Type="sent" StartNode="648" EndNode="757">
+</Annotation>
+<Annotation Id="4" Type="Location" StartNode="18" EndNode="24">
+</Annotation>
+<Annotation Id="36" Type="sent" StartNode="1932" EndNode="2064">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="19" Type="sent" StartNode="141" EndNode="241">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String"></Value>
+</Feature>
+</Annotation>
+<Annotation Id="26" Type="sent" StartNode="891" EndNode="1019">
+</Annotation>
+<Annotation Id="11" Type="Location" StartNode="583" EndNode="588">
+</Annotation>
+<Annotation Id="18" Type="sent" StartNode="1" EndNode="140">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">false</Value>
+</Feature>
+</Annotation>
+<Annotation Id="39" Type="Os" StartNode="1117" EndNode="1127">
+</Annotation>
+<Annotation Id="12" Type="Location" StartNode="594" EndNode="601">
+</Annotation>
+<Annotation Id="27" Type="sent" StartNode="1020" EndNode="1116">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="2" Type="Location" StartNode="1" EndNode="8">
+</Annotation>
+<Annotation Id="13" Type="Location" StartNode="1332" EndNode="1339">
+</Annotation>
+<Annotation Id="28" Type="sent" StartNode="1117" EndNode="1234">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="38" Type="Os" StartNode="1036" EndNode="1059">
+</Annotation>
+<Annotation Id="20" Type="sent" StartNode="245" EndNode="372">
+<Feature>
+ <Name className="java.lang.String">Op</Name>
+ <Value className="java.lang.String">true</Value>
+</Feature>
+</Annotation>
+<Annotation Id="25" Type="sent" StartNode="758" EndNode="890">
+</Annotation>
+<Annotation Id="37" Type="Os" StartNode="245" EndNode="253">
+</Annotation>
+<Annotation Id="10" Type="Location" StartNode="565" EndNode="578">
+</Annotation>
+<Annotation Id="5" Type="Location" StartNode="366" EndNode="371">
+</Annotation>
+</AnnotationSet>
+</GateDocument>
Added:
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/creole.properties
===================================================================
---
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/creole.properties
(rev 0)
+++
gate/branches/sawdust2/plugins/Annotation_Merging/src/test/resources/creole.properties
2016-11-28 10:48:52 UTC (rev 19832)
@@ -0,0 +1,3 @@
+groupId=${project.groupId}
+artifactId=${project.artifactId}
+version=${project.version}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs