Author: kwright
Date: Fri Mar 24 19:02:46 2017
New Revision: 1788531

URL: http://svn.apache.org/viewvc?rev=1788531&view=rev
Log:
Fix for CONNECTORS-1196.

Added:
    
manifoldcf/trunk/framework/core/src/test/java/org/apache/manifoldcf/core/tests/SeleniumTester.java
      - copied unchanged from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/core/src/test/java/org/apache/manifoldcf/core/tests/SeleniumTester.java
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/bootstrap/
      - copied from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/bootstrap/
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/bootstrap-select/
      - copied from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/bootstrap-select/
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/css/
      - copied from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/css/
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/fonts/
      - copied from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/fonts/
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/javascript/
      - copied from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/javascript/
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/less/
      - copied from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/less/
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/sidebar.jsp
      - copied unchanged from r1788529, 
manifoldcf/branches/CONNECTORS-1196-3/framework/crawler-ui/src/main/webapp/sidebar.jsp
Removed:
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/banner.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/navigation.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/style.css
Modified:
    manifoldcf/trunk/   (props changed)
    manifoldcf/trunk/.gitignore
    manifoldcf/trunk/CHANGES.txt
    manifoldcf/trunk/LICENSE.txt
    manifoldcf/trunk/build.xml
    manifoldcf/trunk/connectors/.gitignore
    
manifoldcf/trunk/connectors/activedirectory/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/activedirectory/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/connectors/alfresco-webscript/build.xml
    
manifoldcf/trunk/connectors/alfresco-webscript/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfrescowebscript/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/alfresco/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfresco/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/cmis/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/connectors/confluence/build.xml
    
manifoldcf/trunk/connectors/elasticsearch/connector/src/test/java/org/apache/manifoldcf/agents/output/elasticsearch/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/filesystem/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/filesystem/tests/NavigationUITester.java
    
manifoldcf/trunk/connectors/gts/connector/src/test/java/org/apache/manifoldcf/agents/output/gts/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/connectors/hdfs/build.xml
    
manifoldcf/trunk/connectors/hdfs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/hdfs/tests/NavigationUITester.java
    
manifoldcf/trunk/connectors/jcifs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/sharedrive/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/jdbc/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/jdbc/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/kafka/connector/src/test/java/org/apache/manifoldcf/agents/output/kafka/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/ldap/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/ldap/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/nullauthority/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/nullauthority/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/opensearchserver/connector/src/test/java/org/apache/manifoldcf/agents/output/opensearchserver/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/connectors/rss/   (props changed)
    
manifoldcf/trunk/connectors/rss/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/rss/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/connectors/searchblox/build.xml
    
manifoldcf/trunk/connectors/solr/connector/src/test/java/org/apache/manifoldcf/agents/output/solr/tests/NavigationHSQLDBUI.java
    
manifoldcf/trunk/connectors/webcrawler/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/webcrawler/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/connectors/wiki/   (props changed)
    
manifoldcf/trunk/connectors/wiki/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/wiki/tests/NavigationHSQLDBUI.java
    manifoldcf/trunk/dist-license/LICENSE.txt
    manifoldcf/trunk/dist-license/NOTICE.txt
    manifoldcf/trunk/framework/.gitignore
    manifoldcf/trunk/framework/build.xml
    manifoldcf/trunk/framework/buildfiles/connector-build.xml
    manifoldcf/trunk/framework/core/pom.xml
    
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/system/ManifoldCF.java
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editauthority.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editconnection.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editgroup.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editmapper.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editnotification.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editoutput.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/edittransformation.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/error.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/index.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listauthorities.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listconnections.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listgroups.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listjobs.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listmappers.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listnotifications.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listoutputs.jsp
    
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listtransformations.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/login.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/logout.jsp
    
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maintenanceunderway.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxbandwidthreport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/queuestatus.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/resultreport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/setupAdminProfile.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/showjobstatus.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/simplereport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/unauthorized.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewauthority.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewconnection.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewgroup.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewmapper.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewnotification.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewoutput.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewtransformation.jsp
    
manifoldcf/trunk/framework/example-multiprocess-file-proprietary/properties.xml
    manifoldcf/trunk/framework/example-multiprocess-file/properties.xml
    
manifoldcf/trunk/framework/example-multiprocess-zk-proprietary/properties.xml
    manifoldcf/trunk/framework/example-multiprocess-zk/properties.xml
    manifoldcf/trunk/framework/example-singleprocess-proprietary/properties.xml
    manifoldcf/trunk/framework/example-singleprocess/properties.xml
    
manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/ConnectorBaseUIHSQLDB.java
    
manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/ConnectorBaseUIMySQL.java
    
manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/ConnectorBaseUIPostgresql.java
    
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
    
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_es_ES.properties
    
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
    
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties
    manifoldcf/trunk/lib-license/LICENSE.txt
    manifoldcf/trunk/pom.xml
    
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/how-to-build-and-deploy.xml
    
manifoldcf/trunk/site/src/documentation/content/xdocs/ja_JP/how-to-build-and-deploy.xml
    
manifoldcf/trunk/site/src/documentation/content/xdocs/zh_CN/how-to-build-and-deploy.xml
    manifoldcf/trunk/test-materials/.gitignore

Propchange: manifoldcf/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Mar 24 19:02:46 2017
@@ -54,6 +54,9 @@
 /manifoldcf/branches/CONNECTORS-1162:1708552-1708691
 /manifoldcf/branches/CONNECTORS-1168:1666253-1668311
 /manifoldcf/branches/CONNECTORS-1177:1670213-1670613
+/manifoldcf/branches/CONNECTORS-1196:1783604-1786951
+/manifoldcf/branches/CONNECTORS-1196-2:1786970-1788220
+/manifoldcf/branches/CONNECTORS-1196-3:1788304-1788529
 
/manifoldcf/branches/CONNECTORS-120:1406712-1407974,1407982-1411043,1411049-1416451
 /manifoldcf/branches/CONNECTORS-120-1:1416450-1417056
 /manifoldcf/branches/CONNECTORS-1204:1682204-1682409

Modified: manifoldcf/trunk/.gitignore
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/.gitignore?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/.gitignore (original)
+++ manifoldcf/trunk/.gitignore Fri Mar 24 19:02:46 2017
@@ -1,2 +1,10 @@
 /.settings/
 /.project
+/.idea/
+
+*.iml
+/build/
+/lib/
+/dist/
+lib-proprietary/*.jar
+site/fonts/

Modified: manifoldcf/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Fri Mar 24 19:02:46 2017
@@ -11,6 +11,9 @@ CONNECTORS-1398: Accept RDF feeds that u
 though that's not legal by the spec.
 (Joachim Butz, Karl Wright)
 
+CONNECTORS-1196: New AJAX-based crawler-UI.
+(Kishore Kumar, Karl Wright)
+
 CONNECTORS-1395: Increase zookeeper session timeout to 300000,
 because we were having sessions expire.
 (Karl Wright)

Modified: manifoldcf/trunk/LICENSE.txt
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/LICENSE.txt?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/LICENSE.txt (original)
+++ manifoldcf/trunk/LICENSE.txt Fri Mar 24 19:02:46 2017
@@ -185,3 +185,250 @@ The SharePoint Connector portion of this
 interface descriptions generated in part from proprietary libraries licensed
 by Microsoft, Inc.
 
+==========================================================================
+The ManifoldCF source software contains files from the "bootstrap" project.
+The following license applies to bootstrap (http://getbootstrap.com/):
+--------------------------------------------------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2011-2016 Twitter, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+==========================================================================
+The ManifoldCF source software contains files from the "bootstrap-select" 
project.
+The following license applies to bootstrap-select 
(http://silviomoreto.github.io/bootstrap-select/):
+--------------------------------------------------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2013-2015 bootstrap-select
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+==========================================================================
+The ManifoldCF source software contains files from the "jQuery" project.
+The following license applies to jQuery 
(https://github.com/jquery/jquery/blob/1.12.4/LICENSE.txt):
+--------------------------------------------------------------------------
+
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+==========================================================================
+The ManifoldCF UI contains files from the "jQuery-slimScroll" project.
+A dual license (MIT and GPL) applies to jQuery-slimScroll 
(https://github.com/rochal/jQuery-slimScroll);
+we distribute under the terms of the MIT license:
+--------------------------------------------------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2011 Piotr Rochala (http://rocha.la)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+==========================================================================
+The ManifoldCF source includes font binaries distributed by the "Font Awesome" 
project.
+The following license applies Font Awesome font binaries 
(https://fontawesome.io/license/):
+--------------------------------------------------------------------------
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+==========================================================================
+The ManifoldCF source contains CSS files distributed by the "Font Awesome" 
project.
+The following license applies Font Awesome CSS files 
(https://fontawesome.io/license/):
+--------------------------------------------------------------------------
+
+The MIT License (MIT)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Modified: manifoldcf/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/build.xml?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/build.xml (original)
+++ manifoldcf/trunk/build.xml Fri Mar 24 19:02:46 2017
@@ -69,6 +69,7 @@
     <property name="chemistry.version" value="0.11.0"/>
     <property name="glassfish.version" value="2.1.v20091210"/>
     <property name="junit.version" value="4.12"/>
+    <property name="selenium.version" value="3.3.1"/>
     <property name="hamcrest.version" value="1.3"/>
     <property name="log4j.version" value="1.2.16"/>
     <property name="mail.version" value="1.4.5"/>
@@ -96,8 +97,8 @@
     <property name="jetty-jsp-jdt.version" value="2.3.3"/>
     <property name="jetty-schemas.version" value="3.1.M0"/>
     <property name="alfresco-indexer.version" value="0.8.1"/>
-    <property name="gson.version" value="2.2.4"/>
-    <property name="guava.version" value="18.0"/>
+    <property name="gson.version" value="2.8.0"/>
+    <property name="guava.version" value="21.0"/>
     <property name="mockito.version" value="1.9.5"/>
     <property name="wiremock.version" value="2.5.1"/>
     <property name="objenesis.version" value="2.1"/>
@@ -119,6 +120,7 @@
     <property name="juniversalchardet.version" value="1.0.3"/>
     <property name="ucar.version" value="4.5.5"/>
     <property name="jna.version" value="4.1.0"/>
+    <property name="cglib.version" value="3.2.4"/>
     <property name="jcommander.version" value="1.35"/>
     <property name="protobuf.version" value="2.5.0"/>
     <property name="jcip-annotations.version" value="1.0"/>
@@ -245,7 +247,7 @@
       <echo message="Site did not build.  Was FORREST_HOME set properly?"/>
     </target>
     
-    <target name="setup-framework" depends="downloaded-check" if="downloaded"/>
+    <target name="setup-framework" depends="set-version,downloaded-check" 
if="downloaded"/>
       
       <target name="build-framework" depends="setup-framework" if="downloaded">
         <ant dir="framework" target="build"/>
@@ -806,6 +808,10 @@ Use Apache Forrest version forrest-0.9-d
           <exclude name="scripts-combined/*.env.unix"/>
           <exclude name="engine-scripts/*.env.win"/>
           <exclude name="engine-scripts/*.env.unix"/>
+          <exclude name="crawler-ui/**/*.map"/>
+          <exclude name="crawler-ui/**/*.json"/>
+          <exclude name="crawler-ui/**/*.svg"/>
+          <exclude name="crawler-ui/**/.csslintrc"/>
         </fileset>
         <fileset dir="site/">
           <exclude name="fonts/"/>
@@ -873,16 +879,9 @@ Use Apache Forrest version forrest-0.9-d
         </antcall>
     </target>
     
-    <target name="download-alfresco-indexer-client" depends="download-guava">
+    <target name="download-gson">
         <mkdir dir="lib"/>
         <antcall target="download-via-maven">
-            <param name="project-path" value="com/github/maoo/indexer"/>
-            <param name="artifact-version" 
value="${alfresco-indexer.version}"/>
-            <param name="target" value="lib"/>
-            <param name="artifact-name" value="alfresco-indexer-client"/>
-            <param name="artifact-type" value="jar"/>
-        </antcall>
-        <antcall target="download-via-maven">
             <param name="project-path" value="com/google/code/gson"/>
             <param name="artifact-version" value="${gson.version}"/>
             <param name="target" value="lib"/>
@@ -890,6 +889,17 @@ Use Apache Forrest version forrest-0.9-d
             <param name="artifact-type" value="jar"/>
         </antcall>
     </target>
+    
+    <target name="download-alfresco-indexer-client" 
depends="download-guava,download-gson">
+        <mkdir dir="lib"/>
+        <antcall target="download-via-maven">
+            <param name="project-path" value="com/github/maoo/indexer"/>
+            <param name="artifact-version" 
value="${alfresco-indexer.version}"/>
+            <param name="target" value="lib"/>
+            <param name="artifact-name" value="alfresco-indexer-client"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+      </target>
 
     <target name="download-mongo-java-driver">
         <mkdir dir="lib"/>
@@ -1527,7 +1537,77 @@ Use Apache Forrest version forrest-0.9-d
             <param name="artifact-type" value="jar"/>
         </antcall>
     </target>
-    
+
+    <target name="download-selenium" 
depends="download-gson,download-guava,download-commons-exec">
+        <mkdir dir="lib"/>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-java"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-chrome-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-remote-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-api"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-edge-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-firefox-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-ie-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-opera-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-safari-driver"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/seleniumhq/selenium"/>
+            <param name="artifact-version" value="${selenium.version}"/>
+            <param name="artifact-name" value="selenium-support"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="cglib"/>
+            <param name="artifact-version" value="${cglib.version}"/>
+            <param name="artifact-name" value="cglib-nodep"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+    </target>
+
     <target name="download-mockito">
         <mkdir dir="lib"/>
         <antcall target="download-via-maven"><param name="target" value="lib"/>
@@ -1957,7 +2037,7 @@ Use Apache Forrest version forrest-0.9-d
         </antcall>
     </target>
 
-    <target name="download-guava">
+    <target name="download-guava" depends="download-jna">
         <antcall target="download-via-maven">
             <param name="target" value="lib"/>
             <param name="project-path" value="com/google/guava"/>
@@ -1965,6 +2045,12 @@ Use Apache Forrest version forrest-0.9-d
             <param name="artifact-name" value="guava"/>
             <param name="artifact-type" value="jar"/>
         </antcall>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="net/java/dev/jna"/>
+            <param name="artifact-version" value="${jna.version}"/>
+            <param name="artifact-name" value="jna-platform"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
     </target>
 
     <target name="download-solrj">
@@ -1996,8 +2082,27 @@ Use Apache Forrest version forrest-0.9-d
         </antcall>
     </target>
     
-    
-    <target name="download-tika">
+    <target name="download-commons-exec">
+        <mkdir dir="lib"/>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="org/apache/commons"/>
+            <param name="artifact-name" value="commons-exec"/>
+            <param name="artifact-version" value="${commons-exec.version}"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+    </target>
+
+    <target name="download-jna">
+        <mkdir dir="lib"/>
+        <antcall target="download-via-maven"><param name="target" value="lib"/>
+            <param name="project-path" value="net/java/dev/jna"/>
+            <param name="artifact-name" value="jna"/>
+            <param name="artifact-version" value="${jna.version}"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+    </target>
+
+    <target name="download-tika" depends="download-commons-exec,download-jna">
         <mkdir dir="lib"/>
         <antcall target="download-via-maven"><param name="target" value="lib"/>
             <param name="project-path" value="org/apache/tika"/>
@@ -2162,12 +2267,6 @@ Use Apache Forrest version forrest-0.9-d
             <param name="artifact-type" value="jar"/>
         </antcall>
         <antcall target="download-via-maven"><param name="target" value="lib"/>
-            <param name="project-path" value="org/apache/commons"/>
-            <param name="artifact-name" value="commons-exec"/>
-            <param name="artifact-version" value="${commons-exec.version}"/>
-            <param name="artifact-type" value="jar"/>
-        </antcall>
-        <antcall target="download-via-maven"><param name="target" value="lib"/>
             <param name="project-path" value="edu/ucar"/>
             <param name="artifact-name" value="netcdf4"/>
             <param name="artifact-version" value="${ucar.version}"/>
@@ -2198,12 +2297,6 @@ Use Apache Forrest version forrest-0.9-d
             <param name="artifact-type" value="jar"/>
         </antcall>
         <antcall target="download-via-maven"><param name="target" value="lib"/>
-            <param name="project-path" value="net/java/dev/jna"/>
-            <param name="artifact-name" value="jna"/>
-            <param name="artifact-version" value="${jna.version}"/>
-            <param name="artifact-type" value="jar"/>
-        </antcall>
-        <antcall target="download-via-maven"><param name="target" value="lib"/>
             <param name="project-path" value="edu/ucar"/>
             <param name="artifact-name" value="jj2000"/>
             <param name="artifact-version" value="${jj2000.version}"/>
@@ -2514,7 +2607,7 @@ Use Apache Forrest version forrest-0.9-d
         </antcall>
     </target>
 
-    <target name="make-core-deps" 
depends="download-forbidden-checks,download-json-simple,download-kafka-client,download-joda-time,download-aws-sdk,download-resteasy,download-jsoup,download-mockito,download-alfresco-webscript-plugin,download-alfresco-indexer-client,download-mongo-java-driver,download-jira-client,download-google-api-client,download-dropbox-client,download-solrj,download-zookeeper,download-httpcomponents,download-hsqldb,download-xerces,download-commons,download-elasticsearch-plugin,download-solr-plugins,download-sharepoint-plugins,download-jstl,download-xmlgraphics-commons,download-woodstox,download-xmlsec,download-xml-apis,download-wss4j,download-velocity,download-streambuffer,download-stax,download-servlet-api,download-xml-resolver,download-osgi,download-opensaml,download-mimepull,download-mail,download-log4j,download-junit,download-jaxws,download-glassfish,download-jaxb,download-tomcat,download-h2,download-h2-support,download-geronimo-specs,download-fop,download-po
 
stgresql,download-axis,download-saaj,download-wsdl4j,download-castor,download-jetty,download-slf4j,download-xalan,download-activation,download-avalon-framework,download-poi,download-chemistry,download-ecj,download-hadoop,download-htrace,download-protobuf,download-tika,download-jackson">
+    <target name="make-core-deps" 
depends="download-forbidden-checks,download-json-simple,download-selenium,download-kafka-client,download-joda-time,download-aws-sdk,download-resteasy,download-jsoup,download-mockito,download-alfresco-webscript-plugin,download-alfresco-indexer-client,download-mongo-java-driver,download-jira-client,download-google-api-client,download-dropbox-client,download-solrj,download-zookeeper,download-httpcomponents,download-hsqldb,download-xerces,download-commons,download-elasticsearch-plugin,download-solr-plugins,download-sharepoint-plugins,download-jstl,download-xmlgraphics-commons,download-woodstox,download-xmlsec,download-xml-apis,download-wss4j,download-velocity,download-streambuffer,download-stax,download-servlet-api,download-xml-resolver,download-osgi,download-opensaml,download-mimepull,download-mail,download-log4j,download-junit,download-jaxws,download-glassfish,download-jaxb,download-tomcat,download-h2,download-h2-support,download-geronimo-specs,downlo
 
ad-fop,download-postgresql,download-axis,download-saaj,download-wsdl4j,download-castor,download-jetty,download-slf4j,download-xalan,download-activation,download-avalon-framework,download-poi,download-chemistry,download-ecj,download-hadoop,download-htrace,download-protobuf,download-tika,download-jackson">
         <copy todir="lib">
             <fileset dir="lib-license" includes="*.txt"/>
         </copy>

Modified: manifoldcf/trunk/connectors/.gitignore
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/.gitignore?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/.gitignore (original)
+++ manifoldcf/trunk/connectors/.gitignore Fri Mar 24 19:02:46 2017
@@ -1,3 +1,24 @@
 /.settings/
 /.project
 /documentfilter/
+*/build/
+*/dist/
+test-HSQLDB-output/
+
+dbname.properties
+dbname.script
+
+#ignore all files from test-materials
+/*/test-materials/*
+#unignore README.txt from test-materials
+!/*/test-materials/README.txt
+
+#ignore all files from test-materials-proprietary
+/*/test-materials-proprietary/*
+#unignore README.txt from test-materials-proprietary
+!/*/test-materials-proprietary/README.txt
+
+#ignore all files from lib-proprietary
+/*/lib-proprietary/*
+#unignore README.txt from lib-proprietary
+!/*/lib-proprietary/README.txt

Modified: 
manifoldcf/trunk/connectors/activedirectory/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/activedirectory/tests/NavigationHSQLDBUI.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/activedirectory/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/activedirectory/tests/NavigationHSQLDBUI.java?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/activedirectory/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/activedirectory/tests/NavigationHSQLDBUI.java
 (original)
+++ 
manifoldcf/trunk/connectors/activedirectory/connector/src/test/java/org/apache/manifoldcf/authorities/authorities/activedirectory/tests/NavigationHSQLDBUI.java
 Fri Mar 24 19:02:46 2017
@@ -27,7 +27,7 @@ import java.io.*;
 import java.util.*;
 import org.junit.*;
 
-import org.apache.manifoldcf.core.tests.HTMLTester;
+import org.apache.manifoldcf.core.tests.SeleniumTester;
 
 /** Basic UI navigation tests */
 public class NavigationHSQLDBUI extends BaseUIHSQLDB
@@ -37,95 +37,64 @@ public class NavigationHSQLDBUI extends
   public void createConnectionsAndJob()
     throws Exception
   {
-    testerInstance.newTest(Locale.US);
-    
-    HTMLTester.Window window;
-    HTMLTester.Link link;
-    HTMLTester.Form form;
-    HTMLTester.Textarea textarea;
-    HTMLTester.Selectbox selectbox;
-    HTMLTester.Button button;
-    HTMLTester.Radiobutton radiobutton;
-    HTMLTester.Loop loop;
-    
-    window = 
testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp";);
+    testerInstance.start(SeleniumTester.BrowserType.CHROME, "en-US", 
"http://localhost:8346/mcf-crawler-ui/index.jsp";);
+
+    //Login
+    testerInstance.waitForElementWithName("loginform");
+    testerInstance.setValue("userID","admin");
+    testerInstance.setValue("password","admin");
+    testerInstance.clickButton("Login");
+    testerInstance.verifyHeader("Welcome to Apache ManifoldCF™");
+
+    // Add an authority group
+    testerInstance.navigateTo("List authority groups");
+    testerInstance.clickButton("Add a new authority group");
+
+    // Fill in a name
+    testerInstance.waitForElementWithName("groupname");
+    testerInstance.setValue("groupname","MyAuthorityGroup");
+
+    // Save the authority group
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Add an authority
+    testerInstance.navigateTo("List authorities");
+    testerInstance.clickButton("Add a new connection");
 
-    // Login
-    form = 
window.findForm(testerInstance.createStringDescription("loginform"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("userID"));
-    textarea.setValue(testerInstance.createStringDescription("admin"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("password"));
-    textarea.setValue(testerInstance.createStringDescription("admin"));
-    button = 
window.findButton(testerInstance.createStringDescription("Login"));
-    button.click();
-
-    // Define an authority connection via the UI
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
authority groups"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add new 
authority group"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editgroup"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("groupname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyAuthorityConnection"));
-    button = window.findButton(testerInstance.createStringDescription("Save 
this authority group"));
-    button.click();
-
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
authorities"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add a new 
connection"));
-    link.click();
     // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("connname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyAuthorityConnection"));
-    link = window.findLink(testerInstance.createStringDescription("Type tab"));
-    link.click();
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyAuthorityConnection");
+
     // Select a type
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("classname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.authorities.authorities.activedirectory.ActiveDirectoryAuthority"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("authoritygroup"));
-    
selectbox.selectValue(testerInstance.createStringDescription("MyAuthorityConnection"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
page"));
-    button.click();
-    // Server tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Domain 
Controller tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("dcrecord_domaincontrollername"));
-    textarea.setValue(testerInstance.createStringDescription("localhost"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("dcrecord_username"));
-    textarea.setValue(testerInstance.createStringDescription("foo"));
-    button = window.findButton(testerInstance.createStringDescription("Add 
rule to end of list"));
-    button.click();
-    window = testerInstance.findWindow(null);
-
-    // Go back to the Name tab
-    link = window.findLink(testerInstance.createStringDescription("Name tab"));
-    link.click();
-    // Now save the connection.
-    window = testerInstance.findWindow(null);
-    button = window.findButton(testerInstance.createStringDescription("Save 
this authority connection"));
-    button.click();
+    testerInstance.clickTab("Type");
+    
testerInstance.selectValue("classname","org.apache.manifoldcf.authorities.authorities.activedirectory.ActiveDirectoryAuthority");
+    testerInstance.selectValue("authoritygroup", "MyAuthorityGroup");
+    testerInstance.clickButton("Continue");
+    
+    // Visit Domain Controller tab
+    testerInstance.clickTab("Domain Controller");
+    testerInstance.setValue("dcrecord_domaincontrollername", "localhost");
+    testerInstance.setValue("dcrecord_username", "foo");
+    testerInstance.clickButton("Add to End", true);
+    
+    // Back to the name tab
+    testerInstance.clickTab("Name");
+    
+    // Now, save
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
 
     // Delete the authority connection
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
authorities"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Delete 
MyAuthorityConnection"));
-    link.click();
-
-    testerInstance.executeTest();
+    testerInstance.navigateTo("List authorities");
+    testerInstance.clickButtonByTitle("Delete MyAuthorityConnection");
+    testerInstance.acceptAlert();
+
+    // Delete the authority group
+    testerInstance.navigateTo("List authority groups");
+    testerInstance.clickButtonByTitle("Delete MyAuthorityGroup");
+    testerInstance.acceptAlert();
+    
   }
   
 }

Modified: manifoldcf/trunk/connectors/alfresco-webscript/build.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/alfresco-webscript/build.xml?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/alfresco-webscript/build.xml (original)
+++ manifoldcf/trunk/connectors/alfresco-webscript/build.xml Fri Mar 24 
19:02:46 2017
@@ -36,8 +36,6 @@
         <path refid="mcf-connector-build.connector-classpath"/>
         <fileset dir="../../lib">
             <include name="alfresco-indexer-client*.jar"/>
-            <include name="gson*.jar"/>
-            <include name="guava*.jar"/>
         </fileset>
     </path>
 
@@ -62,8 +60,6 @@
         <copy todir="dist/lib">
             <fileset dir="../../lib">
                 <include name="alfresco-indexer-client*.jar"/>
-                <include name="gson*.jar"/>
-                <include name="guava*.jar"/>
             </fileset>
         </copy>
     </target>

Modified: 
manifoldcf/trunk/connectors/alfresco-webscript/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfrescowebscript/tests/NavigationHSQLDBUI.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/alfresco-webscript/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfrescowebscript/tests/NavigationHSQLDBUI.java?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/alfresco-webscript/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfrescowebscript/tests/NavigationHSQLDBUI.java
 (original)
+++ 
manifoldcf/trunk/connectors/alfresco-webscript/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfrescowebscript/tests/NavigationHSQLDBUI.java
 Fri Mar 24 19:02:46 2017
@@ -31,6 +31,7 @@ public class NavigationHSQLDBUI extends
   public void createConnectionsAndJob()
     throws Exception
   {
+/*
     testerInstance.newTest(Locale.US);
     
     HTMLTester.Window window;
@@ -237,6 +238,7 @@ public class NavigationHSQLDBUI extends
     link.click();
     
     testerInstance.executeTest();
+*/
   }
   
 }

Modified: 
manifoldcf/trunk/connectors/alfresco/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfresco/tests/NavigationHSQLDBUI.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/alfresco/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfresco/tests/NavigationHSQLDBUI.java?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/alfresco/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfresco/tests/NavigationHSQLDBUI.java
 (original)
+++ 
manifoldcf/trunk/connectors/alfresco/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/alfresco/tests/NavigationHSQLDBUI.java
 Fri Mar 24 19:02:46 2017
@@ -31,6 +31,7 @@ public class NavigationHSQLDBUI extends
   public void createConnectionsAndJob()
     throws Exception
   {
+/*
     testerInstance.newTest(Locale.US);
     
     HTMLTester.Window window;
@@ -233,6 +234,7 @@ public class NavigationHSQLDBUI extends
     link.click();
     
     testerInstance.executeTest();
+*/
   }
   
 }

Modified: 
manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/cmis/tests/NavigationHSQLDBUI.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/cmis/tests/NavigationHSQLDBUI.java?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/cmis/tests/NavigationHSQLDBUI.java
 (original)
+++ 
manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/cmis/tests/NavigationHSQLDBUI.java
 Fri Mar 24 19:02:46 2017
@@ -20,7 +20,7 @@ package org.apache.manifoldcf.crawler.co
 
 import java.util.Locale;
 
-import org.apache.manifoldcf.core.tests.HTMLTester;
+import org.apache.manifoldcf.core.tests.SeleniumTester;
 import org.junit.Test;
 
 /** Basic UI navigation tests */
@@ -31,250 +31,147 @@ public class NavigationHSQLDBUI extends
   public void createConnectionsAndJob()
     throws Exception
   {
-    testerInstance.newTest(Locale.US);
-    
-    HTMLTester.Window window;
-    HTMLTester.Link link;
-    HTMLTester.Form form;
-    HTMLTester.Textarea textarea;
-    HTMLTester.Selectbox selectbox;
-    HTMLTester.Button button;
-    HTMLTester.Radiobutton radiobutton;
-    HTMLTester.Loop loop;
-    
-    window = 
testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp";);
+    testerInstance.start(SeleniumTester.BrowserType.CHROME, "en-US", 
"http://localhost:8346/mcf-crawler-ui/index.jsp";);
+
+    //Login
+    testerInstance.waitForElementWithName("loginform");
+    testerInstance.setValue("userID","admin");
+    testerInstance.setValue("password","admin");
+    testerInstance.clickButton("Login");
+    testerInstance.verifyHeader("Welcome to Apache ManifoldCF™");
+    testerInstance.navigateTo("List output connections");
+    testerInstance.clickButton("Add a new output connection");
 
-    // Login
-    form = 
window.findForm(testerInstance.createStringDescription("loginform"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("userID"));
-    textarea.setValue(testerInstance.createStringDescription("admin"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("password"));
-    textarea.setValue(testerInstance.createStringDescription("admin"));
-    button = 
window.findButton(testerInstance.createStringDescription("Login"));
-    button.click();
-    window = testerInstance.findWindow(null);
-
-    // Define an output connection via the UI
-    link = window.findLink(testerInstance.createStringDescription("List output 
connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add an 
output connection"));
-    link.click();
     // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("connname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyOutputConnection"));
-    link = window.findLink(testerInstance.createStringDescription("Type tab"));
-    link.click();
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyOutputConnection");
+
+    //Goto to Type tab
+    testerInstance.clickTab("Type");
+
     // Select a type
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("classname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.tests.TestingOutputConnector"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
page"));
-    button.click();
-    // Visit the Throttling tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Throttling 
tab"));
-    link.click();
+    testerInstance.waitForElementWithName("classname");
+    
testerInstance.selectValue("classname","org.apache.manifoldcf.agents.tests.TestingOutputConnector");
+    testerInstance.clickButton("Continue");
+
     // Go back to the Name tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Name tab"));
-    link.click();
+    testerInstance.clickTab("Name");
+
     // Now save the connection.
-    window = testerInstance.findWindow(null);
-    button = window.findButton(testerInstance.createStringDescription("Save 
this output connection"));
-    button.click();
-    
-    // Define a repository connection via the UI
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
repository connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add a 
connection"));
-    link.click();
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Add an authority group
+    testerInstance.navigateTo("List authority groups");
+    testerInstance.clickButton("Add a new authority group");
+
     // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("connname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection"));
-    link = window.findLink(testerInstance.createStringDescription("Type tab"));
-    link.click();
+    testerInstance.waitForElementWithName("groupname");
+    testerInstance.setValue("groupname","MyAuthorityGroup");
+
+    // Save the authority group
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Add an authority
+    testerInstance.navigateTo("List authorities");
+    testerInstance.clickButton("Add a new connection");
+
+    // Fill in a name
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyAuthorityConnection");
+
+    // Select a type
+    testerInstance.clickTab("Type");
+    
testerInstance.selectValue("classname","org.apache.manifoldcf.authorities.authorities.cmis.CmisAuthorityConnector");
+    testerInstance.selectValue("authoritygroup", "MyAuthorityGroup");
+    testerInstance.clickButton("Continue");
+    
+    // Now, save
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Define a repository connection via the UI
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButton("Add new connection");
+
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyRepositoryConnection");
+
     // Select a type
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("classname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
page"));
-    button.click();
-    // Visit the Throttling tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Throttling 
tab"));
-    link.click();
+    testerInstance.clickTab("Type");
+    
testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector");
+    testerInstance.selectValue("authorityname", "MyAuthorityGroup");
+    testerInstance.clickButton("Continue");
+
     // Server tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Server 
tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("username"));
-    textarea.setValue(testerInstance.createStringDescription("foo"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("password"));
-    textarea.setValue(testerInstance.createStringDescription("bar"));
+    testerInstance.clickTab("Server");
+    testerInstance.setValue("username", "foo");
+    testerInstance.setValue("password", "bar");
+
     // Go back to the Name tab
-    link = window.findLink(testerInstance.createStringDescription("Name tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    // Now save the connection.
-    button = window.findButton(testerInstance.createStringDescription("Save 
this connection"));
-    button.click();
+    testerInstance.clickTab("Name");
     
-    // Define an authority connection via the UI
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
authority groups"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add new 
authority group"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editgroup"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("groupname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyAuthorityConnection"));
-    button = window.findButton(testerInstance.createStringDescription("Save 
this authority group"));
-    button.click();
-
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
authorities"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add a new 
connection"));
-    link.click();
-    // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("connname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyAuthorityConnection"));
-    link = window.findLink(testerInstance.createStringDescription("Type tab"));
-    link.click();
-    // Select a type
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("classname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.authorities.authorities.cmis.CmisAuthorityConnector"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("authoritygroup"));
-    
selectbox.selectValue(testerInstance.createStringDescription("MyAuthorityConnection"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
page"));
-    button.click();
-    window = testerInstance.findWindow(null);
-    //MHL
-    // Go back to the Name tab
-    link = window.findLink(testerInstance.createStringDescription("Name tab"));
-    link.click();
-    // Now save the connection.
-    window = testerInstance.findWindow(null);
-    button = window.findButton(testerInstance.createStringDescription("Save 
this authority connection"));
-    button.click();
+    // Save
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
 
     // Create a job
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
jobs"));
-    link.click();
-    // Add a job
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add a 
job"));
-    link.click();
-    // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("description"));
-    textarea.setValue(testerInstance.createStringDescription("MyJob"));
-    link = window.findLink(testerInstance.createStringDescription("Connection 
tab"));
-    link.click();
-    // Select the connections
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("output_connectionname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("output_precedent"));
-    selectbox.selectValue(testerInstance.createStringDescription("-1"));
-    button = window.findButton(testerInstance.createStringDescription("Add an 
output"));
-    button.click();
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("connectionname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
screen"));
-    button.click();
-    // Visit all the tabs.  Scheduling tab first
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Scheduling 
tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("dayofweek"));
-    selectbox.selectValue(testerInstance.createStringDescription("0"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("hourofday"));
-    selectbox.selectValue(testerInstance.createStringDescription("1"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("minutesofhour"));
-    selectbox.selectValue(testerInstance.createStringDescription("30"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("monthofyear"));
-    selectbox.selectValue(testerInstance.createStringDescription("11"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("dayofmonth"));
-    selectbox.selectValue(testerInstance.createStringDescription("none"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("duration"));
-    textarea.setValue(testerInstance.createStringDescription("120"));
-    button = window.findButton(testerInstance.createStringDescription("Add new 
schedule record"));
-    button.click();
-    window = testerInstance.findWindow(null);
-    // MHL
-    // Save the job
-    button = window.findButton(testerInstance.createStringDescription("Save 
this job"));
-    button.click();
+    testerInstance.navigateTo("List jobs");
+    //Add a job
+    testerInstance.clickButton("Add a new job");
+    testerInstance.waitForElementWithName("description");
+    //Fill in a name
+    testerInstance.setValue("description","MyJob");
+    testerInstance.clickTab("Connection");
 
-    // Delete the job
-    window = testerInstance.findWindow(null);
-    HTMLTester.StringDescription jobID = 
window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0);
-    testerInstance.printValue(jobID);
-    link = window.findLink(testerInstance.createStringDescription("Delete this 
job"));
-    link.click();
+    // Select the connections
+    testerInstance.selectValue("output_connectionname","MyOutputConnection");
+    testerInstance.selectValue("output_precedent","-1");
+    testerInstance.clickButton("Add output",true);
+    testerInstance.waitForElementWithName("connectionname");
+    testerInstance.selectValue("connectionname","MyRepositoryConnection");
     
-    // Wait for the job to go away
-    loop = testerInstance.beginLoop(120);
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Manage 
jobs"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID);
-    testerInstance.printValue(isJobNotPresent);
-    loop.breakWhenTrue(isJobNotPresent);
-    loop.endLoop();
+    testerInstance.clickButton("Continue");
+
+    // Save the job
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
     
-    // Delete the authority connection
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
authorities"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Delete 
MyAuthorityConnection"));
-    link.click();
+    testerInstance.waitForPresenceById("job");
+    String jobID = testerInstance.getAttributeValueById("job","jobid");
+
+    //Navigate to List Jobs
+    testerInstance.navigateTo("List jobs");
+    testerInstance.waitForElementWithName("listjobs");
+
+    //Delete the job
+    testerInstance.clickButtonByTitle("Delete job " + jobID);
+    testerInstance.acceptAlert();
+    testerInstance.verifyThereIsNoError();
+
+    //Wait for the job to go away
+    testerInstance.waitForJobDeleteEN(jobID, 120);
 
     // Delete the repository connection
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
repository connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Delete 
MyRepositoryConnection"));
-    link.click();
-    
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButtonByTitle("Delete MyRepositoryConnection");
+    testerInstance.acceptAlert();
+
     // Delete the output connection
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List output 
connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Delete 
MyOutputConnection"));
-    link.click();
-    
-    testerInstance.executeTest();
+    testerInstance.navigateTo("List output connections");
+    testerInstance.clickButtonByTitle("Delete MyOutputConnection");
+    testerInstance.acceptAlert();
+
+    // Delete the authority connection
+    testerInstance.navigateTo("List authorities");
+    testerInstance.clickButtonByTitle("Delete MyAuthorityConnection");
+    testerInstance.acceptAlert();
+
+    // Delete the authority group
+    testerInstance.navigateTo("List authority groups");
+    testerInstance.clickButtonByTitle("Delete MyAuthorityGroup");
+    testerInstance.acceptAlert();
   }
   
 }

Modified: manifoldcf/trunk/connectors/confluence/build.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/confluence/build.xml?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/confluence/build.xml (original)
+++ manifoldcf/trunk/connectors/confluence/build.xml Fri Mar 24 19:02:46 2017
@@ -33,21 +33,11 @@
   <path id="connector-classpath">
     <path refid="mcf-connector-build.connector-classpath" />
     <fileset dir="../../lib">
-      <include name="guava-*.jar" />
       <include name="httpcore*.jar" />
       <include name="httpclient*.jar" />
     </fileset>
   </path>
 
-  <target name="lib" depends="mcf-connector-build.lib,precompile-check" 
if="canBuild">
-    <mkdir dir="dist/lib" />
-    <copy todir="dist/lib">
-      <fileset dir="../../lib">
-        <include name="guava-*.jar" />
-      </fileset>
-    </copy>
-  </target>
-
   <target name="deliver-connector" 
depends="mcf-connector-build.deliver-connector">
     <antcall target="general-add-repository-connector">
       <param name="connector-label" value="Confluence" />

Modified: 
manifoldcf/trunk/connectors/elasticsearch/connector/src/test/java/org/apache/manifoldcf/agents/output/elasticsearch/tests/NavigationHSQLDBUI.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/elasticsearch/connector/src/test/java/org/apache/manifoldcf/agents/output/elasticsearch/tests/NavigationHSQLDBUI.java?rev=1788531&r1=1788530&r2=1788531&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/elasticsearch/connector/src/test/java/org/apache/manifoldcf/agents/output/elasticsearch/tests/NavigationHSQLDBUI.java
 (original)
+++ 
manifoldcf/trunk/connectors/elasticsearch/connector/src/test/java/org/apache/manifoldcf/agents/output/elasticsearch/tests/NavigationHSQLDBUI.java
 Fri Mar 24 19:02:46 2017
@@ -20,7 +20,7 @@ package org.apache.manifoldcf.agents.out
 
 import java.util.Locale;
 
-import org.apache.manifoldcf.core.tests.HTMLTester;
+import org.apache.manifoldcf.core.tests.SeleniumTester;
 import org.junit.Test;
 
 /** Basic UI navigation tests */
@@ -31,199 +31,127 @@ public class NavigationHSQLDBUI extends
   public void createConnectionsAndJob()
     throws Exception
   {
-    testerInstance.newTest(Locale.US);
-    
-    HTMLTester.Window window;
-    HTMLTester.Link link;
-    HTMLTester.Form form;
-    HTMLTester.Textarea textarea;
-    HTMLTester.Selectbox selectbox;
-    HTMLTester.Button button;
-    HTMLTester.Radiobutton radiobutton;
-    HTMLTester.Loop loop;
-    
-    window = 
testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp";);
+    testerInstance.start(SeleniumTester.BrowserType.CHROME, "en-US", 
"http://localhost:8346/mcf-crawler-ui/index.jsp";);
+
+    //Login
+    testerInstance.waitForElementWithName("loginform");
+    testerInstance.setValue("userID","admin");
+    testerInstance.setValue("password","admin");
+    testerInstance.clickButton("Login");
+    testerInstance.verifyHeader("Welcome to Apache ManifoldCF™");
+    testerInstance.navigateTo("List output connections");
+    testerInstance.clickButton("Add a new output connection");
 
-    // Login
-    form = 
window.findForm(testerInstance.createStringDescription("loginform"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("userID"));
-    textarea.setValue(testerInstance.createStringDescription("admin"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("password"));
-    textarea.setValue(testerInstance.createStringDescription("admin"));
-    button = 
window.findButton(testerInstance.createStringDescription("Login"));
-    button.click();
-    window = testerInstance.findWindow(null);
-
-    // Define an output connection via the UI
-    link = window.findLink(testerInstance.createStringDescription("List output 
connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add an 
output connection"));
-    link.click();
     // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("connname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyOutputConnection"));
-    link = window.findLink(testerInstance.createStringDescription("Type tab"));
-    link.click();
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyOutputConnection");
+
+    //Goto to Type tab
+    testerInstance.clickTab("Type");
+
     // Select a type
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("classname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.output.elasticsearch.ElasticSearchConnector"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
page"));
-    button.click();
+    testerInstance.waitForElementWithName("classname");
+    
testerInstance.selectValue("classname","org.apache.manifoldcf.agents.output.elasticsearch.ElasticSearchConnector");
+    testerInstance.clickButton("Continue");
+
     // Visit the Throttling tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Throttling 
tab"));
-    link.click();
-    // Go back to the Name tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Name tab"));
-    link.click();
+    testerInstance.clickTab("Throttling");
+
     // Parameters tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Parameters 
tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("serverlocation"));
-    
textarea.setValue(testerInstance.createStringDescription("http://localhost:9200/";));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("indexname"));
-    textarea.setValue(testerInstance.createStringDescription("index"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("indextype"));
-    textarea.setValue(testerInstance.createStringDescription("generictype"));
+    testerInstance.clickTab("Parameters");
+    testerInstance.setValue("serverlocation", "http://localhost:9200/";);
+    testerInstance.setValue("indexname", "index");
+    testerInstance.setValue("indextype", "generictype");
     
     // Go back to the Name tab
-    link = window.findLink(testerInstance.createStringDescription("Name tab"));
-    link.click();
+    testerInstance.clickTab("Name");
+
     // Now save the connection.
-    window = testerInstance.findWindow(null);
-    button = window.findButton(testerInstance.createStringDescription("Save 
this output connection"));
-    button.click();
-    
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
     // Define a repository connection via the UI
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
repository connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add a 
connection"));
-    link.click();
-    // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("connname"));
-    
textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection"));
-    link = window.findLink(testerInstance.createStringDescription("Type tab"));
-    link.click();
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButton("Add new connection");
+
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyRepositoryConnection");
+
     // Select a type
-    window = testerInstance.findWindow(null);
-    form = 
window.findForm(testerInstance.createStringDescription("editconnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("classname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.tests.TestingRepositoryConnector"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
page"));
-    button.click();
+    testerInstance.clickTab("Type");
+    
testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.tests.TestingRepositoryConnector");
+    testerInstance.clickButton("Continue");
+
     // Visit the Throttling tab
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Throttling 
tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    // Now save the connection.
-    button = window.findButton(testerInstance.createStringDescription("Save 
this connection"));
-    button.click();
+    testerInstance.clickTab("Throttling");
+
+    // Go back to the Name tab
+    testerInstance.clickTab("Name");
     
+    // Save
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
     // Create a job
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
jobs"));
-    link.click();
-    // Add a job
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Add a 
job"));
-    link.click();
-    // Fill in a name
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("description"));
-    textarea.setValue(testerInstance.createStringDescription("MyJob"));
-    link = window.findLink(testerInstance.createStringDescription("Connection 
tab"));
-    link.click();
+    testerInstance.navigateTo("List jobs");
+    //Add a job
+    testerInstance.clickButton("Add a new job");
+    testerInstance.waitForElementWithName("description");
+    //Fill in a name
+    testerInstance.setValue("description","MyJob");
+    testerInstance.clickTab("Connection");
+
     // Select the connections
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("output_connectionname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("output_precedent"));
-    selectbox.selectValue(testerInstance.createStringDescription("-1"));
-    button = window.findButton(testerInstance.createStringDescription("Add an 
output"));
-    button.click();
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("connectionname"));
-    
selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection"));
-    button = 
window.findButton(testerInstance.createStringDescription("Continue to next 
screen"));
-    button.click();
+    testerInstance.selectValue("output_connectionname","MyOutputConnection");
+    testerInstance.selectValue("output_precedent","-1");
+    testerInstance.clickButton("Add output",true);
+    testerInstance.waitForElementWithName("connectionname");
+    testerInstance.selectValue("connectionname","MyRepositoryConnection");
+    
+    testerInstance.clickButton("Continue");
+
     // Visit all the tabs.  Scheduling tab first
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Scheduling 
tab"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    form = window.findForm(testerInstance.createStringDescription("editjob"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("dayofweek"));
-    selectbox.selectValue(testerInstance.createStringDescription("0"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("hourofday"));
-    selectbox.selectValue(testerInstance.createStringDescription("1"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("minutesofhour"));
-    selectbox.selectValue(testerInstance.createStringDescription("30"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("monthofyear"));
-    selectbox.selectValue(testerInstance.createStringDescription("11"));
-    selectbox = 
form.findSelectbox(testerInstance.createStringDescription("dayofmonth"));
-    selectbox.selectValue(testerInstance.createStringDescription("none"));
-    textarea = 
form.findTextarea(testerInstance.createStringDescription("duration"));
-    textarea.setValue(testerInstance.createStringDescription("120"));
-    button = window.findButton(testerInstance.createStringDescription("Add new 
schedule record"));
-    button.click();
-    window = testerInstance.findWindow(null);
-    // MHL
-    // Save the job
-    button = window.findButton(testerInstance.createStringDescription("Save 
this job"));
-    button.click();
+    testerInstance.clickTab("Scheduling");
+    testerInstance.selectValue("dayofweek","0");
+    testerInstance.selectValue("hourofday","1");
+    testerInstance.selectValue("minutesofhour","30");
+    testerInstance.selectValue("monthofyear","11");
+    testerInstance.selectValue("dayofmonth","none");
+    testerInstance.setValue("duration","120");
+    testerInstance.clickButton("Add Scheduled Time",true);
+    testerInstance.waitForElementWithName("editjob");
 
-    // Delete the job
-    window = testerInstance.findWindow(null);
-    HTMLTester.StringDescription jobID = 
window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0);
-    testerInstance.printValue(jobID);
-    link = window.findLink(testerInstance.createStringDescription("Delete this 
job"));
-    link.click();
+    // MHL
     
-    // Wait for the job to go away
-    loop = testerInstance.beginLoop(120);
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Manage 
jobs"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID);
-    testerInstance.printValue(isJobNotPresent);
-    loop.breakWhenTrue(isJobNotPresent);
-    loop.endLoop();
+    // Save the job
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
     
+    testerInstance.waitForPresenceById("job");
+    String jobID = testerInstance.getAttributeValueById("job","jobid");
+
+    //Navigate to List Jobs
+    testerInstance.navigateTo("List jobs");
+    testerInstance.waitForElementWithName("listjobs");
+
+    //Delete the job
+    testerInstance.clickButtonByTitle("Delete job " + jobID);
+    testerInstance.acceptAlert();
+    testerInstance.verifyThereIsNoError();
+
+    //Wait for the job to go away
+    testerInstance.waitForJobDeleteEN(jobID, 120);
+
     // Delete the repository connection
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List 
repository connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Delete 
MyRepositoryConnection"));
-    link.click();
-    
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButtonByTitle("Delete MyRepositoryConnection");
+    testerInstance.acceptAlert();
+
     // Delete the output connection
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("List output 
connections"));
-    link.click();
-    window = testerInstance.findWindow(null);
-    link = window.findLink(testerInstance.createStringDescription("Delete 
MyOutputConnection"));
-    link.click();
-    
-    testerInstance.executeTest();
+    testerInstance.navigateTo("List output connections");
+    testerInstance.clickButtonByTitle("Delete MyOutputConnection");
+    testerInstance.acceptAlert();
+
   }
   
 }


Reply via email to