Author: kwright
Date: Wed Oct 30 21:49:10 2013
New Revision: 1537317
URL: http://svn.apache.org/r1537317
Log:
Finish CONNECTORS-796
Modified:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/fuzzyml/TagParseState.java
manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/fuzzyml/TestFuzzyML.java
(contents, props changed)
Modified:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/fuzzyml/TagParseState.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/fuzzyml/TagParseState.java?rev=1537317&r1=1537316&r2=1537317&view=diff
==============================================================================
---
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/fuzzyml/TagParseState.java
(original)
+++
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/fuzzyml/TagParseState.java
Wed Oct 30 21:49:10 2013
@@ -238,6 +238,7 @@ public class TagParseState extends Singl
currentState = TAGPARSESTATE_SAWSECONDRIGHTBRACKET;
else
{
+ currentState = TAGPARSESTATE_IN_CDATA_BODY;
if (noteEscapedCharacter(']'))
return true;
if (noteEscapedCharacter(thisChar))
@@ -248,8 +249,15 @@ public class TagParseState extends Singl
case TAGPARSESTATE_SAWSECONDRIGHTBRACKET:
if (thisChar == '>')
currentState = TAGPARSESTATE_NORMAL;
+ else if (thisChar == ']')
+ {
+ // currentstate unchanged; emit the first bracket
+ if (noteEscapedCharacter(']'))
+ return true;
+ }
else
{
+ currentState = TAGPARSESTATE_IN_CDATA_BODY;
if (noteEscapedCharacter(']'))
return true;
if (noteEscapedCharacter(']'))
Modified:
manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/fuzzyml/TestFuzzyML.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/fuzzyml/TestFuzzyML.java?rev=1537317&r1=1537316&r2=1537317&view=diff
==============================================================================
---
manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/fuzzyml/TestFuzzyML.java
[iso-8859-1] (original)
+++
manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/fuzzyml/TestFuzzyML.java
[UTF-8] Wed Oct 30 21:49:10 2013
@@ -30,8 +30,17 @@ public class TestFuzzyML
{
protected final static String fuzzyTestString =
+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
+"<rss version=\"2.0\"\n"+
+" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n"+
+" xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n"+
+" xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n"+
+" xmlns:atom=\"http://www.w3.org/2005/Atom\"\n"+
+" xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n"+
+" xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\n"+
+" >\n"+
" <item>\n"+
-" <title>fme File Exchange Plattform â Austausch mit Externen
leichtgemacht</title>\n"+
+" <title>fme File Exchange Plattform – Austausch mit Externen
leichtgemacht</title>\n"+
"
<link>http://blog.fme.de/allgemein/2013-07/fme-file-exchange-plattform-austausch-mit-externen-leichtgemacht</link>\n"+
"
<comments>http://blog.fme.de/allgemein/2013-07/fme-file-exchange-plattform-austausch-mit-externen-leichtgemacht#comments</comments>\n"+
" <pubDate>Thu, 18 Jul 2013 07:39:03 +0000</pubDate>\n"+
@@ -45,63 +54,63 @@ public class TestFuzzyML
" <category><![CDATA[Webtechnologien]]></category>\n"+
"\n"+
" <guid
isPermaLink=\"false\">http://blog.fme.de/?p=1806</guid>\n"+
-" <description><![CDATA[Der Austausch von Dokumenten mit
Partnern, Agenturen oder auch Kunden ist aus Sicht der Unternehmens-IT immer
noch ein oft problematisches Feld. Der Austausch von groÃen Dateimengen per
Mail “bläht” die Postfächer unnötig auf und führt zu
ineffizienten Prozessen (“welche Version ist noch aktuell?”). Die
von den Endanwendern in Eigenverantwortung oft gewählte Cloud-Alternative â
die Nutzung [...]]]></description>\n"+
-" <content:encoded><![CDATA[<p><strong>Der Austausch von
Dokumenten mit Partnern, Agenturen oder auch Kunden ist aus Sicht der
Unternehmens-IT immer noch ein oft problematisches Feld. Der Austausch von
groÃen Dateimengen per Mail “bläht” die Postfächer unnötig auf
und führt zu ineffizienten Prozessen (“welche Version ist noch
aktuell?”). Die von den Endanwendern in Eigenverantwortung oft gewählte
Cloud-Alternative â die Nutzung von Cloud-basierten File-Sharing-Diensten wie
Dropbox, Google Drive & Co â ist und bleibt nicht erst seit #Prism ein
“Schreckgespenst” für viele CIOs. Die fme file Exchange Plattform
bietet eine compliance- und integrationsfähige Alternative.</strong></p>\n"+
+" <description><![CDATA[Der Austausch von Dokumenten mit
Partnern, Agenturen oder auch Kunden ist aus Sicht der Unternehmens-IT immer
noch ein oft problematisches Feld. Der Austausch von großen Dateimengen per
Mail “bläht” die Postfächer unnötig auf und führt zu ineffizienten
Prozessen (“welche Version ist noch aktuell?”). Die von den
Endanwendern in Eigenverantwortung oft gewählte Cloud-Alternative – die Nutzung
[...]]]></description>\n"+
+" <content:encoded><![CDATA[<p><strong>Der Austausch von
Dokumenten mit Partnern, Agenturen oder auch Kunden ist aus Sicht der
Unternehmens-IT immer noch ein oft problematisches Feld. Der Austausch von
großen Dateimengen per Mail “bläht” die Postfächer unnötig auf und
führt zu ineffizienten Prozessen (“welche Version ist noch
aktuell?”). Die von den Endanwendern in Eigenverantwortung oft gewählte
Cloud-Alternative – die Nutzung von Cloud-basierten File-Sharing-Diensten wie
Dropbox, Google Drive & Co – ist und bleibt nicht erst seit #Prism ein
“Schreckgespenst” für viele CIOs. Die fme file Exchange Plattform
bietet eine compliance- und integrationsfähige Alternative.</strong></p>\n"+
"<p>Die typischen Anforderungen an eine Dateiaustauschplattform lassen sich in
der folgenden Form zusammenfassen:</p>\n"+
-"<p><strong>Als Mitarbeiter des Unternehmens möchte ichâ¦</strong></p>\n"+
+"<p><strong>Als Mitarbeiter des Unternehmens möchte ich…</strong></p>\n"+
"<ul>\n"+
-"<li>mich mit meinem Standard-Unternehmens-Account anmelden können, am besten
per SSO,</li>\n"+
+"<li>mich mit meinem Standard-Unternehmens-Account anmelden können, am besten
per SSO,</li>\n"+
"<li>Sammlungen von Dateien mit externen Benutzern austauschen,</li>\n"+
-"<li>angeben können, welche Benutzer lesend oder schreibend auf die Dateien
zugreifen können,</li>\n"+
-"<li>Dokumente vom lokalen PC oder dem internen Dokumenten-Management-System
hochladen/auswählen können,</li>\n"+
-"<li>weitere Dateien zu einer Dateisammlung hinzufügen und vorhandene
aktualisieren oder löschen können und</li>\n"+
-"<li>die Benutzer automatisch benachrichtigen, wenn neue oder geänderte
Dateien vorhanden sind.</li>\n"+
+"<li>angeben können, welche Benutzer lesend oder schreibend auf die Dateien
zugreifen können,</li>\n"+
+"<li>Dokumente vom lokalen PC oder dem internen Dokumenten-Management-System
hochladen/auswählen können,</li>\n"+
+"<li>weitere Dateien zu einer Dateisammlung hinzufügen und vorhandene
aktualisieren oder löschen können und</li>\n"+
+"<li>die Benutzer automatisch benachrichtigen, wenn neue oder geänderte
Dateien vorhanden sind.</li>\n"+
"</ul>\n"+
"<p><span id=\"more-1806\"></span></p>\n"+
-"<p><strong>Als externer Benutzer möchte ichâ¦</strong></p>\n"+
+"<p><strong>Als externer Benutzer möchte ich…</strong></p>\n"+
"<ul>\n"+
-"<li>mich einfach im System registrieren können,</li>\n"+
-"<li>vom System benachrichtigt werden, wenn ein anderer Benutzer neue Dateien
für mich bereitgestellt hat und</li>\n"+
-"<li>auf die für mich freigegeben Dateisammlungen einfach zugreifen
können.</li>\n"+
+"<li>mich einfach im System registrieren können,</li>\n"+
+"<li>vom System benachrichtigt werden, wenn ein anderer Benutzer neue Dateien
für mich bereitgestellt hat und</li>\n"+
+"<li>auf die für mich freigegeben Dateisammlungen einfach zugreifen
können.</li>\n"+
"</ul>\n"+
-"<p><strong>Als IT-Verantwortlicher möchte ich â¦</strong></p>\n"+
+"<p><strong>Als IT-Verantwortlicher möchte ich …</strong></p>\n"+
"<ul>\n"+
"<li>dass das System in der eigenen DMZ betrieben werden kann,</li>\n"+
-"<li>dass jede Registrierung von einem Mitarbeiter meines Unternehmens â der
Kontaktperson des Externen â freigeschaltet werden muss,</li>\n"+
-"<li>eine Ãbersicht über alle registrierten Benutzer und deren
Dateisammlungen haben und dort jederzeit einzelne Dateien oder ganze Sammlungen
löschen können,</li>\n"+
-"<li>dass freigebende Dateisammlungen nach einer konfigurierbaren Zeitspanne
gelöscht werden und</li>\n"+
+"<li>dass jede Registrierung von einem Mitarbeiter meines Unternehmens – der
Kontaktperson des Externen – freigeschaltet werden muss,</li>\n"+
+"<li>eine Übersicht über alle registrierten Benutzer und deren Dateisammlungen
haben und dort jederzeit einzelne Dateien oder ganze Sammlungen löschen
können,</li>\n"+
+"<li>dass freigebende Dateisammlungen nach einer konfigurierbaren Zeitspanne
gelöscht werden und</li>\n"+
"<li>verhindern, dass registrierte externe Benutzer das System missbrauchen,
indem sie Dateien ohne Beteiligung eines Mitarbeiters austauschen.</li>\n"+
"</ul>\n"+
-"<p>Anhand dieser primären Anforderungen eines unserer Kunden haben wir auf
Basis von Alfresco und einiger modernen Webtechnologien wie Bootstrap &
AngularJS die fme File Exchange Plattform entwickelt:</p>\n"+
+"<p>Anhand dieser primären Anforderungen eines unserer Kunden haben wir auf
Basis von Alfresco und einiger modernen Webtechnologien wie Bootstrap &
AngularJS die fme File Exchange Plattform entwickelt:</p>\n"+
"<p style=\"text-align: center;\"><a
href=\"http://blog.fme.de/wp-content/uploads/2013/07/File-Exchange-Plattform.png\"
rel=\"lightbox[1806]\"><img class=\"aligncenter wp-image-1819\" title=\"File
Exchange Plattform\"
src=\"http://blog.fme.de/wp-content/uploads/2013/07/File-Exchange-Plattform.png\"
alt=\"\" width=\"405\" height=\"240\" /></a></p>\n"+
"<p> </p>\n"+
-"<p>Alfresco dient in dieser Lösung vor allem als Content Repository inkl.
der benötigten Basis -Funktionen wie Berechtigungen, Versionierung,
Mailbenachrichtigungen, Dokumentenvorschau sowie Gruppen- &
Benutzerverwaltung. AuÃerdem wird der Registrierungsmechanismus für die
externen Benutzer über die in Alfresco integrierte Workflow-Engine Activiti
umgesetzt.</p>\n"+
-"<p>Die Benutzungsoberfläche der Applikation ist in Form einer Single Page
Webapplikation auf Basis der beiden Frameworks AngularJS (<a
href=\"http://angularjs.org/\">http://angularjs.org/</a>) & Bootstrap (<a
href=\"http://twitter.github.io/bootstrap/\">http://twitter.github.io/bootstrap/</a>)
implementiert.</p>\n"+
-"<p>Die Kommunikation zwischen diesem JavaScript-Frontend und dem
Alfresco-Backend ist mittels sog. Alfresco WebScripts umgesetzt. Das Alfresco
WebScript-Framework ist eines der gröÃten Vorteile von Alfresco und
ermöglicht die Implementierung einer eigenen auf Anwendungsfall angepassten
REST API.</p>\n"+
+"<p>Alfresco dient in dieser Lösung vor allem als Content Repository inkl. der
benötigten Basis -Funktionen wie Berechtigungen, Versionierung,
Mailbenachrichtigungen, Dokumentenvorschau sowie Gruppen- &
Benutzerverwaltung. Außerdem wird der Registrierungsmechanismus für die
externen Benutzer über die in Alfresco integrierte Workflow-Engine Activiti
umgesetzt.</p>\n"+
+"<p>Die Benutzungsoberfläche der Applikation ist in Form einer Single Page
Webapplikation auf Basis der beiden Frameworks AngularJS (<a
href=\"http://angularjs.org/\">http://angularjs.org/</a>) & Bootstrap (<a
href=\"http://twitter.github.io/bootstrap/\">http://twitter.github.io/bootstrap/</a>)
implementiert.</p>\n"+
+"<p>Die Kommunikation zwischen diesem JavaScript-Frontend und dem
Alfresco-Backend ist mittels sog. Alfresco WebScripts umgesetzt. Das Alfresco
WebScript-Framework ist eines der größten Vorteile von Alfresco und ermöglicht
die Implementierung einer eigenen auf Anwendungsfall angepassten REST
API.</p>\n"+
"<p>Aus der Sicht des Anwenders teilt sich die Applikation in die folgenden,
beiden Komponenten:</p>\n"+
"<p><strong>New File Collection</strong></p>\n"+
-"<p>Hier haben die Mitarbeiter des Unternehmens die Möglichkeit, eine neue
Dateisammlung zum Austausch zu erstellen. Zur Erstellung einer neuen
Dateisammlung sind lediglich die folgenden Informationen notwendig:</p>\n"+
+"<p>Hier haben die Mitarbeiter des Unternehmens die Möglichkeit, eine neue
Dateisammlung zum Austausch zu erstellen. Zur Erstellung einer neuen
Dateisammlung sind lediglich die folgenden Informationen notwendig:</p>\n"+
"<ol>\n"+
"<li>Name der Dateisammlung.</li>\n"+
-"<li>Berechtigte Benutzer â lesend oder schreibend</li>\n"+
+"<li>Berechtigte Benutzer – lesend oder schreibend</li>\n"+
"<li>Die Dateien, die hochgeladen werden sollen</li>\n"+
"</ol>\n"+
-"<p>Um diesen Erstellungsprozess so intuitiv & komfortabel wie möglich zu
halten, wurde zur Benutzerauswahl ein Eingabefeld inkl. einer
Autovervollständigung anhand der vorhandenen Benutzerkonten eingesetzt.</p>\n"+
-"<p>Zum einfachen Hinzufügen von Dateien vom PC des Benutzers wird neben der
üblichen Dateiauswahl auch ein direktes Drag&Drop unterstützt.</p>\n"+
-"<p>Während des Hochladevorgangs der Dateien ist der Benutzer durch den
Einsatz von Fortschrittsbalken jederzeit über den aktuellen Fortschritt des
Uploads informiert.</p>\n"+
-"<p>Mit Abschluss des Hochladevorgangs werden die berechtigten Benutzer vom
System per Mail über die neue Dateisammlung informiert.</p>\n"+
+"<p>Um diesen Erstellungsprozess so intuitiv & komfortabel wie möglich zu
halten, wurde zur Benutzerauswahl ein Eingabefeld inkl. einer
Autovervollständigung anhand der vorhandenen Benutzerkonten eingesetzt.</p>\n"+
+"<p>Zum einfachen Hinzufügen von Dateien vom PC des Benutzers wird neben der
üblichen Dateiauswahl auch ein direktes Drag&Drop unterstützt.</p>\n"+
+"<p>Während des Hochladevorgangs der Dateien ist der Benutzer durch den
Einsatz von Fortschrittsbalken jederzeit über den aktuellen Fortschritt des
Uploads informiert.</p>\n"+
+"<p>Mit Abschluss des Hochladevorgangs werden die berechtigten Benutzer vom
System per Mail über die neue Dateisammlung informiert.</p>\n"+
"<p style=\"text-align: center;\"><a
href=\"http://blog.fme.de/wp-content/uploads/2013/07/New-File-Collection1.png\"
rel=\"lightbox[1806]\"><img class=\"aligncenter wp-image-1827\" title=\"New
File Collection\"
src=\"http://blog.fme.de/wp-content/uploads/2013/07/New-File-Collection1.png\"
alt=\"\" width=\"456\" height=\"377\" /></a></p>\n"+
"<p> </p>\n"+
"<p><strong>My File Collections</strong></p>\n"+
-"<p>Im Bereich âMy File Collectionâ hat der angemeldete Benutzer einen
direkten und einfachen Zugriff auf die Dateisammlungen, für die er berechtigt
ist. Je nach vergebener Berechtigung kann der Benutzer die enthaltenen Dateien
herunterladen, aktualisieren & löschen oder aber auch neue Dokumente
hochladen und Ordner erstellen.</p>\n"+
-"<p>Zudem kann der Ersteller einer Dateisammlung oder ein Administrator die
Sammlung für weitere Benutzer freigeben bzw. Freigaben zurücknehmen und die
automatische Ablauffrist einer Dateisammlung aktivieren bzw.
deaktivieren.</p>\n"+
+"<p>Im Bereich „My File Collection” hat der angemeldete Benutzer einen
direkten und einfachen Zugriff auf die Dateisammlungen, für die er berechtigt
ist. Je nach vergebener Berechtigung kann der Benutzer die enthaltenen Dateien
herunterladen, aktualisieren & löschen oder aber auch neue Dokumente
hochladen und Ordner erstellen.</p>\n"+
+"<p>Zudem kann der Ersteller einer Dateisammlung oder ein Administrator die
Sammlung für weitere Benutzer freigeben bzw. Freigaben zurücknehmen und die
automatische Ablauffrist einer Dateisammlung aktivieren bzw.
deaktivieren.</p>\n"+
"<p> </p>\n"+
"<p style=\"text-align: center;\"><a
href=\"http://blog.fme.de/wp-content/uploads/2013/07/My-File-Collections.png\"
rel=\"lightbox[1806]\"><img class=\"aligncenter wp-image-1828\" title=\"My
File Collections\"
src=\"http://blog.fme.de/wp-content/uploads/2013/07/My-File-Collections.png\"
alt=\"\" width=\"492\" height=\"377\" /></a></p>\n"+
"<p> </p>\n"+
"<p><strong>Fazit</strong></p>\n"+
-"<p>Die Kombination von Alfresco, AngularJS & Bootstrap hat sich während
der Lösungsentwicklung als wunderbar harmonierende und sehr produktive
Kombination zur Entwicklung von eigenen dokumentenorientieren Webapplikationen
erwiesen.</p>\n"+
-"<p>Die Nutzung dieser erprobten Werkzeuge bringt zudem die Unterstützung von
Webbrowsers mobiler Geräte nahezu zum Nulltarif mit. So ist die Bedienung der
Anwendung mit einem iPad oder iPhone problemlos möglich und bspw. das
einfache Bereitstellen der Fotografien vom Flipchart aus dem gerade beendeten
Workshop schnell & einfach erledigt.</p>\n"+
-"<p>Die Lösung zeigt einmal mehr, dass es neben der Konfiguration &
Anpassung eines Standard-Clients immer auch eine zweite zu betrachtende
Variante gibt:</p>\n"+
+"<p>Die Kombination von Alfresco, AngularJS & Bootstrap hat sich während
der Lösungsentwicklung als wunderbar harmonierende und sehr produktive
Kombination zur Entwicklung von eigenen dokumentenorientieren Webapplikationen
erwiesen.</p>\n"+
+"<p>Die Nutzung dieser erprobten Werkzeuge bringt zudem die Unterstützung von
Webbrowsers mobiler Geräte nahezu zum Nulltarif mit. So ist die Bedienung der
Anwendung mit einem iPad oder iPhone problemlos möglich und bspw. das einfache
Bereitstellen der Fotografien vom Flipchart aus dem gerade beendeten Workshop
schnell & einfach erledigt.</p>\n"+
+"<p>Die Lösung zeigt einmal mehr, dass es neben der Konfiguration &
Anpassung eines Standard-Clients immer auch eine zweite zu betrachtende
Variante gibt:</p>\n"+
"<p>Die Implementierung eines eigenen Clients anhand von best-of-breed
Technologien, wie in diesem Beispiel zur vollsten Kundenzufriedenheit
gezeigt.</p>\n"+
"<p> </p>\n"+
"]]></content:encoded>\n"+
@@ -141,24 +150,24 @@ public class TestFuzzyML
"<p>migration-center’s abilities will make a positive difference in your
business if you are challenged with migrating enterprise content. Convince
yourself and let us demonstrate your data working within migration-center in
just a couple of days before you lease or buy the whole product.</p>\n"+
"<p> </p>\n"+
"<p><strong>Benefits of using migration-center instead of EMA</strong></p>\n"+
-"<p>⢠No service engagement with EMC IIG Services required</p>\n"+
-"<p>⢠migration-center is a proven product since 2005 and was used in more
than 130 projects around the world</p>\n"+
-"<p>⢠It is a full function, out-of-the-box software, fully documented,
easy to deploy, with an excellent graphical user interface</p>\n"+
-"<p>⢠Product and migration project support available</p>\n"+
-"<p>⢠NO DOWNTIME – It works without interrupting any of your normal
business operations because of the delta migration capability</p>\n"+
-"<p>⢠The software is designed to efficiently move and classify large
volumes of documents into the chosen target repository (up to 1 million
documents per day with just a single process)</p>\n"+
-"<p>⢠A large variety of algorithms and commands are available to create a
very specific mapping and transformation logic, covering every migration
requirement possible and all this without additional programming or scripting
effort</p>\n"+
-"<p>⢠migration-center is able to apply the business logic of highly
customized applications (e.g. D2, TBOs, server methods etc.)</p>\n"+
-"<p>⢠Complete rule simulation and error handling are provided, allowing in
depth testing of transformation rules before committing content to the actual
repository import</p>\n"+
-"<p>⢠The migration-center grants more than 55 out-of-the-box connections
from various source to various target systems</p>\n"+
-"<p>⢠migration-center supports Documentum versions from 4i to D7</p>\n"+
-"<p>⢠migration-center reflects proven migration methodology in its
step-by-step processes</p>\n"+
-"<p>⢠migration-center has been validated and approved by many companies in
regulated environments, e.g. international pharmaceutical players</p>\n"+
-"<p>⢠The migration-center pricing model is simple and very flexible</p>\n"+
-"<p>⢠Through its enormous flexibility the migration-center may be deployed
for a variety of migration scenarios</p>\n"+
-"<p>⢠With our international partners we offer customer product training as
well as complete implementation by highly competent professionals</p>\n"+
-"<p>⢠migration-center is much more them a simple ETL tool</p>\n"+
-"<p>⢠migration-center offers a variety of proven pre-confugure
services</p>\n"+
+"<p>• No service engagement with EMC IIG Services required</p>\n"+
+"<p>• migration-center is a proven product since 2005 and was used in more
than 130 projects around the world</p>\n"+
+"<p>• It is a full function, out-of-the-box software, fully documented, easy
to deploy, with an excellent graphical user interface</p>\n"+
+"<p>• Product and migration project support available</p>\n"+
+"<p>• NO DOWNTIME – It works without interrupting any of your normal
business operations because of the delta migration capability</p>\n"+
+"<p>• The software is designed to efficiently move and classify large volumes
of documents into the chosen target repository (up to 1 million documents per
day with just a single process)</p>\n"+
+"<p>• A large variety of algorithms and commands are available to create a
very specific mapping and transformation logic, covering every migration
requirement possible and all this without additional programming or scripting
effort</p>\n"+
+"<p>• migration-center is able to apply the business logic of highly
customized applications (e.g. D2, TBOs, server methods etc.)</p>\n"+
+"<p>• Complete rule simulation and error handling are provided, allowing in
depth testing of transformation rules before committing content to the actual
repository import</p>\n"+
+"<p>• The migration-center grants more than 55 out-of-the-box connections
from various source to various target systems</p>\n"+
+"<p>• migration-center supports Documentum versions from 4i to D7</p>\n"+
+"<p>• migration-center reflects proven migration methodology in its
step-by-step processes</p>\n"+
+"<p>• migration-center has been validated and approved by many companies in
regulated environments, e.g. international pharmaceutical players</p>\n"+
+"<p>• The migration-center pricing model is simple and very flexible</p>\n"+
+"<p>• Through its enormous flexibility the migration-center may be deployed
for a variety of migration scenarios</p>\n"+
+"<p>• With our international partners we offer customer product training as
well as complete implementation by highly competent professionals</p>\n"+
+"<p>• migration-center is much more them a simple ETL tool</p>\n"+
+"<p>• migration-center offers a variety of proven pre-confugure
services</p>\n"+
"<p> </p>\n"+
"<p> </p>\n"+
"<p> </p>\n"+
@@ -174,12 +183,12 @@ public class TestFuzzyML
public void testFailure()
throws IOException, ManifoldCFException
{
+ org.apache.manifoldcf.core.system.Logging.misc =
org.apache.log4j.Logger.getLogger("test");
InputStream is = new
ByteArrayInputStream(fuzzyTestString.getBytes("utf-8"));
Parser p = new Parser();
// Parse the document. This will cause various things to occur, within
the instantiated XMLParsingContext class.
XMLFuzzyHierarchicalParseState x = new XMLFuzzyHierarchicalParseState();
- //OuterContextClass c = new
OuterContextClass(x,documentIdentifier,activities,filter);
- //x.setContext(c);
+ x.setContext(new TestParsingContext(x));
try
{
// Believe it or not, there are no parsing errors we can get back now.
@@ -191,4 +200,35 @@ public class TestFuzzyML
}
}
+ protected static class TestParsingContext extends XMLParsingContext
+ {
+ protected String thisTag = null;
+
+ public TestParsingContext(XMLFuzzyHierarchicalParseState theStream)
+ {
+ super(theStream);
+ }
+
+ public TestParsingContext(XMLFuzzyHierarchicalParseState theStream, String
namespace, String localname, String qname, Map<String,String> theseAttributes)
+ {
+ super(theStream,namespace,localname,qname,theseAttributes);
+ }
+
+ @Override
+ protected XMLParsingContext beginTag(String namespace, String localName,
String qName, Map<String,String> atts)
+ throws ManifoldCFException
+ {
+ thisTag = qName;
+ return new TestParsingContext(theStream,namespace,localName,qName,atts);
+ }
+
+ @Override
+ protected void endTag()
+ throws ManifoldCFException
+ {
+ super.endTag();
+ }
+
+ }
+
}
Propchange:
manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/fuzzyml/TestFuzzyML.java
------------------------------------------------------------------------------
svn:mime-type = text/plain; charset=UTF-8