You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by pi...@apache.org on 2017/06/27 19:55:22 UTC

svn commit: r1800083 [2/2] - in /manifoldcf/branches/CONNECTORS-1356-2.7.1: ./ connectors/cmis/ connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/ connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/ connector...

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_ja_JP.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_ja_JP.properties?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_ja_JP.properties (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_ja_JP.properties Tue Jun 27 19:55:21 2017
@@ -0,0 +1,58 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+CmisAuthorityConnector.Endpoint=エンドポイント:
+CmisAuthorityConnector.RepositoryID=リポジトリID:
+CmisAuthorityConnector.UserMapping=ユーザマッピング:
+CmisAuthorityConnector.TheEndpointMustBeNotNull=エンドポイントがnullです
+CmisAuthorityConnector.Parameters=引数:
+
+CmisRepositoryConnector.Server=サーバ
+
+CmisRepositoryConnector.BindingColon=バインディング:
+CmisRepositoryConnector.UsernameColon=ユーザ名:
+CmisRepositoryConnector.PasswordColon=パスワード:
+CmisRepositoryConnector.ProtocolColon=プロトコル:
+CmisRepositoryConnector.ServerColon=サーバ:
+CmisRepositoryConnector.PortColon=ポート:
+CmisRepositoryConnector.PathColon=パス:
+CmisRepositoryConnector.RepositoryIDColon=リポジトリID:
+CmisRepositoryConnector.Optional=(任意)
+
+CmisRepositoryConnector.TheUsernameMustNotBeNull=ユーザ名を入力してください
+CmisRepositoryConnector.ThePasswordMustNotBeNull=パスワードを入力してください
+CmisRepositoryConnector.TheBindingMustNotBeNull=バインディングを入力してください
+CmisRepositoryConnector.ServerNameMustNotBeNull=サーバ名を入力してください
+CmisRepositoryConnector.ServerNameCantContainSlash=サーバ名には文字「/」を含めないでください
+CmisRepositoryConnector.ThePortMustNotBeNull=ポート番号を入力してください
+CmisRepositoryConnector.TheServerPortMustBeValidInteger=サーバポートには整数を入力してください
+CmisRepositoryConnector.PathMustNotBeNull=パスを入力してください
+
+CmisRepositoryConnector.CMISQuery=CMISクエリー
+
+CmisRepositoryConnector.CMISQueryColon=CMISクエリー:
+
+CmisRepositoryConnector.ParametersColon=引数:
+CmisRepositoryConnector.UsernameEquals=ユーザ名=
+CmisRepositoryConnector.PasswordEquals=パスワード=
+CmisRepositoryConnector.BindingEquals=バインディング=
+CmisRepositoryConnector.ProtocolEquals=プロトコル=
+CmisRepositoryConnector.ServerEquals=サーバ=
+CmisRepositoryConnector.PortEquals=ポート=
+CmisRepositoryConnector.PathEquals=パス=
+CmisRepositoryConnector.RepositoryIdEquals=リポジトリId=
+
+CmisAuthorityConnector.Repository=リポジトリ
+CmisAuthorityConnector.UserMapping=ユーザマップ

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_ja_JP.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_ja_JP.properties
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_zh_CN.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_zh_CN.properties?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_zh_CN.properties (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_zh_CN.properties Tue Jun 27 19:55:21 2017
@@ -0,0 +1,58 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+CmisAuthorityConnector.Endpoint=端点: 
+CmisAuthorityConnector.RepositoryID=存储库ID: 
+CmisAuthorityConnector.UserMapping=用户映射: 
+CmisAuthorityConnector.TheEndpointMustBeNotNull=端点不能为Null
+CmisAuthorityConnector.Parameters=参数: 
+
+CmisRepositoryConnector.Server=服务器
+
+CmisRepositoryConnector.BindingColon=绑定: 
+CmisRepositoryConnector.UsernameColon=用户名: 
+CmisRepositoryConnector.PasswordColon=密码: 
+CmisRepositoryConnector.ProtocolColon=协议: 
+CmisRepositoryConnector.ServerColon=服务器: 
+CmisRepositoryConnector.PortColon=端口: 
+CmisRepositoryConnector.PathColon=路径: 
+CmisRepositoryConnector.RepositoryIDColon=存储库ID: 
+CmisRepositoryConnector.Optional=(可选)
+
+CmisRepositoryConnector.TheUsernameMustNotBeNull=请输入用户名
+CmisRepositoryConnector.ThePasswordMustNotBeNull=请输入密码
+CmisRepositoryConnector.TheBindingMustNotBeNull=请输入绑定
+CmisRepositoryConnector.ServerNameMustNotBeNull=请输入服务器名
+CmisRepositoryConnector.ServerNameCantContainSlash=服务器名不能包含‘/’字符
+CmisRepositoryConnector.ThePortMustNotBeNull=请输入端口号
+CmisRepositoryConnector.TheServerPortMustBeValidInteger=服务器端口必须为有效的整数
+CmisRepositoryConnector.PathMustNotBeNull=请输入路径
+
+CmisRepositoryConnector.CMISQuery=CMIS查询
+
+CmisRepositoryConnector.CMISQueryColon=CMIS查询: 
+
+CmisRepositoryConnector.ParametersColon=参数: 
+CmisRepositoryConnector.UsernameEquals=用户名=
+CmisRepositoryConnector.PasswordEquals=密码=
+CmisRepositoryConnector.BindingEquals=绑定=
+CmisRepositoryConnector.ProtocolEquals=协议=
+CmisRepositoryConnector.ServerEquals=服务器=
+CmisRepositoryConnector.PortEquals=端口=
+CmisRepositoryConnector.PathEquals=路径=
+CmisRepositoryConnector.RepositoryIdEquals=存储库ID=
+
+CmisAuthorityConnector.Repository=存储库
+CmisAuthorityConnector.UserMapping=用户映射

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_zh_CN.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_zh_CN.properties
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js Tue Jun 27 19:55:21 2017
@@ -0,0 +1,88 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<script type="text/javascript">
+<!--
+function checkConfig()
+{
+  return true;
+}
+ 
+function checkConfigForSave()
+{
+  if (editconnection.username.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.TheUsernameMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.username.focus();
+    return false;
+  }
+  if (editconnection.password.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.ThePasswordMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.password.focus();
+    return false;
+  }
+  if (editconnection.binding.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.TheBindingMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.binding.focus();
+    return false;
+  }
+  if (editconnection.server.value ==""){
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.ServerNameMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.server.focus();
+    return false;
+  }
+  if(editconnection.server.value.indexOf('/')!=-1) {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.ServerNameCantContainSlash'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.server.focus();
+    return false;
+  }
+  if (editconnection.port.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.ThePortMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.port.focus();
+    return false;
+  }
+  if (!isInteger(editconnection.port.value)){
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.TheServerPortMustBeValidInteger'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.port.focus();
+    return false;
+  }
+  if(editconnection.path.value == ""){
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.PathMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.path.focus();
+    return false;
+  }
+  if(editconnection.cmisQuery.value == ""){
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.CMISQueryMustNotBeNull'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('CmisOutputConnector.Server'))");
+    editconnection.cmisQuery.focus();
+    return false;
+  }
+  return true;
+}
+//-->
+</script>
\ No newline at end of file

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html Tue Jun 27 19:55:21 2017
@@ -0,0 +1,171 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+#if($TABNAME == $ResourceBundle.getString('CmisOutputConnector.Server'))
+
+<table class="displaytable">
+  <tr>
+    <td class="separator" colspan="2">
+      <hr />
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.BindingColon'))
+      </nobr>
+    </td>
+    <td class="value">
+      <select id="binding" name="binding">
+#if($BINDING == "atom")
+        <option value="atom" selected="selected">AtomPub</option>
+        <option value="ws">Web Services</option>
+#else
+        <option value="atom">AtomPub</option>
+        <option value="ws" selected="selected">Web Services</option>
+#end
+      </select>
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.UsernameColon'))
+      </nobr>
+    </td>
+    <td class="value">
+      <input type="text" id="username" name="username" value="$Encoder.attributeEscape($USERNAME)" />
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.PasswordColon'))
+      </nobr>
+    </td>
+    <td class="value">
+      <input type="password" id="password" name="password" value="$Encoder.attributeEscape($PASSWORD)" />
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.ProtocolColon'))
+      </nobr>
+    </td>
+    <td class="value">
+      <select id="protocol" name="protocol">
+#if($PROTOCOL == "https")
+        <option value="http">http</option>
+        <option value="https" selected="selected">https</option>
+#else
+        <option value="http" selected="selected">http</option>
+        <option value="https">https</option>
+#end
+      </select>
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.ServerColon'))
+      </nobr>
+    </td>
+    <td class="value">
+        <input id="server" name="server" type="text" size="32" value="$Encoder.attributeEscape($SERVER)"/>
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.PortColon'))
+      </nobr>
+    </td>
+    <td class="value">
+        <input id="port" name="port" type="text" size="5" value="$Encoder.attributeEscape($PORT)" />
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.PathColon'))
+      </nobr>
+    </td>
+    <td class="value">
+        <input id="path" name="path" type="text" size="32" value="$Encoder.attributeEscape($PATH)" />
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.CMISQueryColon'))
+      </nobr>
+    </td>
+    <td class="value">
+        <input id="cmisQuery" name="cmisQuery" type="text" size="120" value="$Encoder.attributeEscape($CMISQUERY)" />
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.CreateTimestampTreeColon'))
+      </nobr>
+    </td> 
+    <td class="value">
+        <!-- 
+        <input type="text" id="createTimestampTree" name="createTimestampTree" size="5" value="$Encoder.attributeEscape($CREATETIMESTAMPTREE)" />
+         -->
+         <select id="createTimestampTree" name="createTimestampTree">
+#if($CREATETIMESTAMPTREE == "true")
+        <option value="false">Disabled</option>
+        <option value="true" selected="selected">Enabled</option>
+#else
+        <option value="false" selected="selected">Disabled</option>
+        <option value="true">Enabled</option>
+#end
+      </select>
+    </td>
+  </tr>
+  <tr>
+    <td class="description">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.RepositoryIDColon'))
+      </nobr>
+    </td>
+    <td class="value">
+      <input type="text" id="repositoryId" name="repositoryId" value="$Encoder.attributeEscape($REPOSITORYID)" />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.Optional'))
+      </nobr>
+    </td>
+  </tr>
+</table>
+
+#else
+
+<input type="hidden" name="username" value="$Encoder.attributeEscape($USERNAME)" />
+<input type="hidden" name="password" value="$Encoder.attributeEscape($PASSWORD)" />
+<input type="hidden" name="protocol" value="$Encoder.attributeEscape($PROTOCOL)" />
+<input type="hidden" name="server" value="$Encoder.attributeEscape($SERVER)" />
+<input type="hidden" name="port" value="$Encoder.attributeEscape($PORT)" />
+<input type="hidden" name="path" value="$Encoder.attributeEscape($PATH)" />
+<input type="hidden" name="binding" value="$Encoder.attributeEscape($BINDING)" />
+<input type="hidden" name="cmisQuery" value="$Encoder.attributeEscape($CMISQUERY)" />
+<input type="hidden" name="createTimestampTree" value="$Encoder.attributeEscape($CREATETIMESTAMPTREE)"/>
+<input type="hidden" name="repositoryId" value="$Encoder.attributeEscape($REPOSITORYID)" />
+
+#end

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html Tue Jun 27 19:55:21 2017
@@ -0,0 +1,69 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<table class="displaytable">
+  <tr>
+    <td class="description" colspan="1">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.ParametersColon'))
+      </nobr>
+    </td>
+    <td class="value" colspan="3">
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.UsernameEquals'))$Encoder.bodyEscape($USERNAME)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.PasswordEquals'))********
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.BindingEquals'))$Encoder.bodyEscape($BINDING)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.ProtocolEquals'))$Encoder.bodyEscape($PROTOCOL)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.ServerEquals'))$Encoder.bodyEscape($SERVER)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.PortEquals'))$Encoder.bodyEscape($PORT)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.PathEquals'))$Encoder.bodyEscape($PATH)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.CMISQueryEquals'))$Encoder.bodyEscape($CMISQUERY)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.CreateTimestampTreeEquals'))$Encoder.bodyEscape($CREATETIMESTAMPTREE)
+      </nobr>
+      <br />
+      <nobr>
+        $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.RepositoryIdEquals'))$Encoder.bodyEscape($REPOSITORYID)
+      </nobr>
+      <br />
+    </td>
+  </tr>
+</table>
+

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,657 @@
+/* $Id$ */
+
+/**
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigInteger;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.client.api.ItemIterable;
+import org.apache.chemistry.opencmis.client.api.QueryResult;
+import org.apache.chemistry.opencmis.client.api.Session;
+import org.apache.chemistry.opencmis.client.api.SessionFactory;
+import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.enums.BindingType;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.ContentStreamImpl;
+import org.apache.chemistry.opencmis.commons.spi.ObjectService;
+import org.apache.commons.lang.StringUtils;
+import org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConfig;
+import org.apache.manifoldcf.core.interfaces.Configuration;
+import org.apache.manifoldcf.core.interfaces.ConfigurationNode;
+import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
+import org.apache.manifoldcf.crawler.connectors.cmis.CmisConfig;
+import org.apache.manifoldcf.crawler.system.ManifoldCF;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author Piergiorgio Lucidi
+ */
+public class APISanityHSQLDBIT extends BaseITHSQLDB {    
+	
+	private static final String REPLACER = "?";
+  private static final String CMIS_TEST_QUERY_CHANGE_DOC = "SELECT * FROM cmis:document WHERE cmis:name='"+REPLACER+"'";
+	
+  private Session cmisSourceClientSession = null;
+  private Session cmisTargetClientSession = null;
+  
+  private Session getCmisSourceClientSession(){
+    // default factory implementation
+    SessionFactory factory = SessionFactoryImpl.newInstance();
+    Map<String, String> parameters = new HashMap<String, String>();
+
+    // user credentials
+    parameters.put(SessionParameter.USER, CmisConfig.USERNAME_DEFAULT_VALUE);
+    parameters.put(SessionParameter.PASSWORD, CmisConfig.PASSWORD_DEFAULT_VALUE);
+
+    // connection settings
+    String endpoint =
+        CmisConfig.PROTOCOL_DEFAULT_VALUE + "://" + 
+        CmisConfig.SERVER_DEFAULT_VALUE + ":" +
+        CmisConfig.PORT_DEFAULT_VALUE + 
+        CmisConfig.PATH_DEFAULT_VALUE;
+    
+    parameters.put(SessionParameter.ATOMPUB_URL, endpoint);
+    parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
+
+    // create session
+    return factory.getRepositories(parameters).get(0).createSession();
+  }
+  
+  private Session getCmisTargetClientSession(){
+    // default factory implementation
+    SessionFactory factory = SessionFactoryImpl.newInstance();
+    Map<String, String> parameters = new HashMap<String, String>();
+
+    // user credentials
+    parameters.put(SessionParameter.USER, CmisOutputConfig.USERNAME_DEFAULT_VALUE);
+    parameters.put(SessionParameter.PASSWORD, CmisOutputConfig.PASSWORD_DEFAULT_VALUE);
+
+    // connection settings
+    String endpoint =
+    		CmisOutputConfig.PROTOCOL_DEFAULT_VALUE + "://" + 
+				CmisOutputConfig.SERVER_DEFAULT_VALUE + ":" +
+				CmisOutputConfig.PORT_DEFAULT_VALUE + 
+        CmisOutputConfig.PATH_DEFAULT_VALUE;
+    
+    parameters.put(SessionParameter.ATOMPUB_URL, endpoint);
+    parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
+
+    // create session
+    return factory.getRepositories(parameters).get(0).createSession();
+  }
+  
+  public Folder getTestFolder(Session session){
+    Folder testFolder = null;
+    ItemIterable<QueryResult> results = session.query(CmisOutputConfig.CMIS_QUERY_DEFAULT_VALUE, false);
+    for (QueryResult result : results) {
+      String folderId = result.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue().toString();
+      testFolder = (Folder)session.getObject(folderId);
+    }
+    return testFolder;
+  }
+  
+  public void createNewDocument(Folder folder, String name) throws IOException{
+    // properties 
+    // (minimal set: name and object type id)
+    Map<String, Object> contentProperties = new HashMap<String, Object>();
+    contentProperties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
+    contentProperties.put(PropertyIds.NAME, name);
+  
+    // content
+    String contentString = "CMIS Testdata "+name;
+    byte[] content = contentString.getBytes(StandardCharsets.UTF_8);
+    InputStream stream = new ByteArrayInputStream(content);
+    ContentStream contentStream = new ContentStreamImpl(name, new BigInteger(content), "text/plain", stream);
+  
+    // create a major version
+    folder.createDocument(contentProperties, contentStream, null);
+    stream.close();
+  }
+  
+  @Before
+  public void createTestArea()
+    throws Exception
+  {
+    try
+    {
+      cmisSourceClientSession = getCmisSourceClientSession();
+      cmisTargetClientSession = getCmisTargetClientSession();
+      
+      //creating a new folder
+      
+      Folder newSourceRepoFolder = createTestFolder(cmisSourceClientSession);
+      String name = StringUtils.EMPTY;
+      for(int i=1; i<=2; i++){
+      	name = "testdata" + String.valueOf(i) + ".txt";
+      	createNewDocument(newSourceRepoFolder, name);
+      }
+      
+      //Creating the target folder in the target repo
+      createTestFolder(cmisTargetClientSession);
+
+    }
+    catch (Exception e)
+    {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+	private Folder createTestFolder(Session session) {
+		Folder root = session.getRootFolder();
+		ItemIterable<QueryResult> results = session.query(CmisOutputConfig.CMIS_QUERY_DEFAULT_VALUE, false);
+		for (QueryResult result : results) {
+		  String repositoryId = cmisSourceClientSession.getRepositoryInfo().getId();
+		  String folderId = result.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue().toString();
+		  cmisSourceClientSession.getBinding().getObjectService().deleteTree(repositoryId, folderId, true, null, false, null);
+		}
+		
+		Map<String, Object> folderProperties = new HashMap<String, Object>();
+		folderProperties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
+		folderProperties.put(PropertyIds.NAME, "Apache ManifoldCF");
+ 
+		//Creating sample contents on the source repo
+		Folder newFolder = root.createFolder(folderProperties);
+		return newFolder;
+	}
+  
+  @After
+  public void removeTestArea()
+    throws Exception
+  {
+    // we don't need to remove anything
+  }
+  
+  @Test
+  public void sanityCheck()
+    throws Exception
+  {
+    try
+    {
+      
+      int i;
+
+      // Create a basic file system connection, and save it.
+      ConfigurationNode connectionObject;
+      ConfigurationNode child;
+      Configuration requestObject;
+      Configuration result;
+      
+      connectionObject = new ConfigurationNode("repositoryconnection");
+      
+      child = new ConfigurationNode("name");
+      child.setValue("CMIS Connection");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+      
+      child = new ConfigurationNode("class_name");
+      child.setValue("org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+      
+      child = new ConfigurationNode("description");
+      child.setValue("CMIS Connection - Source repo of the content migration");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+
+      child = new ConfigurationNode("max_connections");
+      child.setValue("10");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+      
+      child = new ConfigurationNode("configuration");
+      
+      //CMIS Repository Connector parameters
+      
+      //binding
+      ConfigurationNode cmisBindingNode = new ConfigurationNode("_PARAMETER_");
+      cmisBindingNode.setAttribute("name", CmisConfig.BINDING_PARAM);
+      cmisBindingNode.setValue(CmisConfig.BINDING_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisBindingNode);
+      
+      //username
+      ConfigurationNode cmisUsernameNode = new ConfigurationNode("_PARAMETER_");
+      cmisUsernameNode.setAttribute("name", CmisConfig.USERNAME_PARAM);
+      cmisUsernameNode.setValue(CmisConfig.USERNAME_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisUsernameNode);
+      
+      //password
+      ConfigurationNode cmisPasswordNode = new ConfigurationNode("_PARAMETER_");
+      cmisPasswordNode.setAttribute("name", CmisConfig.PASSWORD_PARAM);
+      cmisPasswordNode.setValue(CmisConfig.PASSWORD_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisPasswordNode);
+      
+      //protocol
+      ConfigurationNode cmisProtocolNode = new ConfigurationNode("_PARAMETER_");
+      cmisProtocolNode.setAttribute("name", CmisConfig.PROTOCOL_PARAM);
+      cmisProtocolNode.setValue(CmisConfig.PROTOCOL_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisProtocolNode);
+      
+      //server
+      ConfigurationNode cmisServerNode = new ConfigurationNode("_PARAMETER_");
+      cmisServerNode.setAttribute("name", CmisConfig.SERVER_PARAM);
+      cmisServerNode.setValue(CmisConfig.SERVER_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisServerNode);
+      
+      //port
+      ConfigurationNode cmisPortNode = new ConfigurationNode("_PARAMETER_");
+      cmisPortNode.setAttribute("name", CmisConfig.PORT_PARAM);
+      cmisPortNode.setValue(CmisConfig.PORT_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisPortNode);
+      
+      //path
+      ConfigurationNode cmisPathNode = new ConfigurationNode("_PARAMETER_");
+      cmisPathNode.setAttribute("name", CmisConfig.PATH_PARAM);
+      cmisPathNode.setValue(CmisConfig.PATH_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisPathNode);
+      
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+
+      requestObject = new Configuration();
+      requestObject.addChild(0,connectionObject);
+      
+      result = performAPIPutOperationViaNodes("repositoryconnections/CMIS%20Connection",201,requestObject);
+      
+      i = 0;
+      while (i < result.getChildCount())
+      {
+        ConfigurationNode resultNode = result.findChild(i++);
+        if (resultNode.getType().equals("error"))
+          throw new Exception(resultNode.getValue());
+      }
+            
+      // Create a CMIS output connection, and save it.
+      connectionObject = new ConfigurationNode("outputconnection");
+      
+      child = new ConfigurationNode("name");
+      child.setValue("CMIS Output Connection");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+      
+      child = new ConfigurationNode("class_name");
+      child.setValue("org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+      
+      child = new ConfigurationNode("description");
+      child.setValue("CMIS Output Connection - Target repo of the content migration");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+
+      child = new ConfigurationNode("max_connections");
+      child.setValue("10");
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+
+      child = new ConfigurationNode("configuration");
+      
+      //binding
+      ConfigurationNode cmisOutputBindingNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputBindingNode.setAttribute("name", CmisOutputConfig.BINDING_PARAM);
+      cmisOutputBindingNode.setValue(CmisOutputConfig.BINDING_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputBindingNode);
+      
+      //username
+      ConfigurationNode cmisOutputUsernameNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputUsernameNode.setAttribute("name", CmisOutputConfig.USERNAME_PARAM);
+      cmisOutputUsernameNode.setValue(CmisOutputConfig.USERNAME_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputUsernameNode);
+      
+      //password
+      ConfigurationNode cmisOutputPasswordNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputPasswordNode.setAttribute("name", CmisOutputConfig.PASSWORD_PARAM);
+      cmisOutputPasswordNode.setValue(CmisOutputConfig.PASSWORD_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputPasswordNode);
+      
+      //protocol
+      ConfigurationNode cmisOutputProtocolNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputProtocolNode.setAttribute("name", CmisOutputConfig.PROTOCOL_PARAM);
+      cmisOutputProtocolNode.setValue(CmisOutputConfig.PROTOCOL_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputProtocolNode);
+      
+      //server
+      ConfigurationNode cmisOutputServerNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputServerNode.setAttribute("name", CmisOutputConfig.SERVER_PARAM);
+      cmisOutputServerNode.setValue(CmisOutputConfig.SERVER_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputServerNode);
+      
+      //port
+      ConfigurationNode cmisOutputPortNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputPortNode.setAttribute("name", CmisConfig.PORT_PARAM);
+      cmisOutputPortNode.setValue(CmisOutputConfig.PORT_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputPortNode);
+      
+      //path
+      ConfigurationNode cmisOutputPathNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputPathNode.setAttribute("name", CmisOutputConfig.PATH_PARAM);
+      cmisOutputPathNode.setValue(CmisOutputConfig.PATH_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputPathNode);
+      
+      //cmisQuery
+      ConfigurationNode cmisOutputCmisQueryNode = new ConfigurationNode("_PARAMETER_");
+      cmisOutputCmisQueryNode.setAttribute("name", CmisOutputConfig.CMIS_QUERY_PARAM);
+      cmisOutputCmisQueryNode.setValue(CmisOutputConfig.CMIS_QUERY_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), cmisOutputCmisQueryNode);
+      
+      //createTimestampTree
+      ConfigurationNode createTimestampTreeNode = new ConfigurationNode("_PARAMETER_");
+      createTimestampTreeNode.setAttribute("name", CmisOutputConfig.CREATE_TIMESTAMP_TREE_PARAM);
+      createTimestampTreeNode.setValue(CmisOutputConfig.CREATE_TIMESTAMP_TREE_DEFAULT_VALUE);
+      child.addChild(child.getChildCount(), createTimestampTreeNode);
+      
+      connectionObject.addChild(connectionObject.getChildCount(),child);
+
+      requestObject = new Configuration();
+      requestObject.addChild(0,connectionObject);
+      
+      result = performAPIPutOperationViaNodes("outputconnections/CMIS%20Output%20Connection",201,requestObject);
+      
+      i = 0;
+      while (i < result.getChildCount())
+      {
+        ConfigurationNode resultNode = result.findChild(i++);
+        if (resultNode.getType().equals("error"))
+          throw new Exception(resultNode.getValue());
+      }
+      
+      // Create a job.
+      ConfigurationNode jobObject = new ConfigurationNode("job");
+      
+      child = new ConfigurationNode("description");
+      child.setValue("Test Job");
+      jobObject.addChild(jobObject.getChildCount(),child);
+
+      child = new ConfigurationNode("repository_connection");
+      child.setValue("CMIS Connection");
+      jobObject.addChild(jobObject.getChildCount(),child);
+
+      // Revamped way of adding output connection
+      child = new ConfigurationNode("pipelinestage");
+      ConfigurationNode pipelineChild = new ConfigurationNode("stage_id");
+      pipelineChild.setValue("0");
+      child.addChild(child.getChildCount(),pipelineChild);
+      pipelineChild = new ConfigurationNode("stage_isoutput");
+      pipelineChild.setValue("true");
+      child.addChild(child.getChildCount(),pipelineChild);
+      pipelineChild = new ConfigurationNode("stage_connectionname");
+      pipelineChild.setValue("CMIS Output Connection");
+      child.addChild(child.getChildCount(),pipelineChild);
+      jobObject.addChild(jobObject.getChildCount(),child);
+
+      child = new ConfigurationNode("run_mode");
+      child.setValue("scan once");
+      jobObject.addChild(jobObject.getChildCount(),child);
+
+      child = new ConfigurationNode("start_mode");
+      child.setValue("manual");
+      jobObject.addChild(jobObject.getChildCount(),child);
+
+      child = new ConfigurationNode("hopcount_mode");
+      child.setValue("accurate");
+      jobObject.addChild(jobObject.getChildCount(),child);
+
+      child = new ConfigurationNode("document_specification");
+      
+      
+      //Job configuration
+      ConfigurationNode sn = new ConfigurationNode("startpoint");
+      sn.setAttribute(CmisOutputConfig.CMIS_QUERY_PARAM, CmisOutputConfig.CMIS_QUERY_DEFAULT_VALUE);
+      
+      child.addChild(child.getChildCount(),sn);
+      jobObject.addChild(jobObject.getChildCount(),child);
+      
+      requestObject = new Configuration();
+      requestObject.addChild(0,jobObject);
+      
+      result = performAPIPostOperationViaNodes("jobs",201,requestObject);
+      
+      String jobIDString = null;
+      i = 0;
+      while (i < result.getChildCount())
+      {
+        ConfigurationNode resultNode = result.findChild(i++);
+        if (resultNode.getType().equals("error"))
+          throw new Exception(resultNode.getValue());
+        else if (resultNode.getType().equals("job_id"))
+          jobIDString = resultNode.getValue();
+      }
+      if (jobIDString == null)
+        throw new Exception("Missing job_id from return!");
+      
+      // Now, start the job, and wait until it completes.
+      startJob(jobIDString);
+      waitJobInactive(jobIDString, 120000L);
+
+      // Check to be sure we actually processed the right number of documents.
+      // The test data area has 3 documents and one directory, and we have to count the root directory too.
+      long count;
+      count = getJobDocumentsProcessed(jobIDString);
+      if (count != 3)
+        throw new ManifoldCFException("Wrong number of documents processed - expected 3, saw "+new Long(count).toString());
+      
+      // Add a file and recrawl
+      Folder testFolder = getTestFolder(cmisSourceClientSession);
+      createNewDocument(testFolder, "testdata3.txt");
+      createNewDocument(testFolder, "testdata4.txt");
+
+      // Now, start the job, and wait until it completes.
+      startJob(jobIDString);
+      waitJobInactive(jobIDString, 120000L);
+
+      // The test data area has 4 documents and one directory, and we have to count the root directory too.
+      count = getJobDocumentsProcessed(jobIDString);
+      if (count != 5)
+        throw new ManifoldCFException("Wrong number of documents processed after add - expected 5, saw "+new Long(count).toString());
+
+      // Change a document, and recrawl
+      changeDocument(cmisSourceClientSession,"testdata1.txt","MODIFIED - CMIS Testdata - MODIFIED");
+      
+      // Now, start the job, and wait until it completes.
+      startJob(jobIDString);
+      waitJobInactive(jobIDString, 120000L);
+
+      // The test data area has 4 documents and one directory, and we have to count the root directory too.
+      count = getJobDocumentsProcessed(jobIDString);
+      if (count != 5)
+        throw new ManifoldCFException("Wrong number of documents processed after change - expected 5, saw "+new Long(count).toString());
+      
+      // We also need to make sure the new document was indexed.  Have to think about how to do this though.
+      // MHL
+      //System.out.println("Starting delete...");
+      // Delete a file, and recrawl
+      removeDocument(cmisSourceClientSession, "testdata2.txt");
+      
+      // Now, start the job, and wait until it completes.
+      startJob(jobIDString);
+      waitJobInactive(jobIDString, 120000L);
+
+      // Check to be sure we actually processed the right number of documents.
+      // The test data area has 3 documents and one directory, and we have to count the root directory too.
+      count = getJobDocumentsProcessed(jobIDString);
+      if (count != 4)
+        throw new ManifoldCFException("Wrong number of documents processed after delete - expected 5, saw "+new Long(count).toString());
+
+      // Now, delete the job.
+      deleteJob(jobIDString);
+
+      waitJobDeleted(jobIDString, 120000L);
+      
+      // Cleanup is automatic by the base class, so we can feel free to leave jobs and connections lying around.
+    }
+    catch (Exception e)
+    {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+  
+  protected void startJob(String jobIDString)
+    throws Exception
+  {
+    Configuration requestObject = new Configuration();
+    
+    Configuration result = performAPIPutOperationViaNodes("start/"+jobIDString,201,requestObject);
+    int i = 0;
+    while (i < result.getChildCount())
+    {
+      ConfigurationNode resultNode = result.findChild(i++);
+      if (resultNode.getType().equals("error"))
+        throw new Exception(resultNode.getValue());
+    }
+  }
+  
+  protected void deleteJob(String jobIDString)
+    throws Exception
+  {
+    Configuration result = performAPIDeleteOperationViaNodes("jobs/"+jobIDString,200);
+    int i = 0;
+    while (i < result.getChildCount())
+    {
+      ConfigurationNode resultNode = result.findChild(i++);
+      if (resultNode.getType().equals("error"))
+        throw new Exception(resultNode.getValue());
+    }
+
+  }
+  
+  protected String getJobStatus(String jobIDString)
+    throws Exception
+  {
+    Configuration result = performAPIGetOperationViaNodes("jobstatuses/"+jobIDString,200);
+    String status = null;
+    int i = 0;
+    while (i < result.getChildCount())
+    {
+      ConfigurationNode resultNode = result.findChild(i++);
+      if (resultNode.getType().equals("error"))
+        throw new Exception(resultNode.getValue());
+      else if (resultNode.getType().equals("jobstatus"))
+      {
+        int j = 0;
+        while (j < resultNode.getChildCount())
+        {
+          ConfigurationNode childNode = resultNode.findChild(j++);
+          if (childNode.getType().equals("status"))
+            status = childNode.getValue();
+        }
+      }
+    }
+    return status;
+  }
+
+  protected long getJobDocumentsProcessed(String jobIDString)
+    throws Exception
+  {
+    Configuration result = performAPIGetOperationViaNodes("jobstatuses/"+jobIDString,200);
+    String documentsProcessed = null;
+    int i = 0;
+    while (i < result.getChildCount())
+    {
+      ConfigurationNode resultNode = result.findChild(i++);
+      if (resultNode.getType().equals("error"))
+        throw new Exception(resultNode.getValue());
+      else if (resultNode.getType().equals("jobstatus"))
+      {
+        int j = 0;
+        while (j < resultNode.getChildCount())
+        {
+          ConfigurationNode childNode = resultNode.findChild(j++);
+          if (childNode.getType().equals("documents_processed"))
+            documentsProcessed = childNode.getValue();
+        }
+      }
+    }
+    if (documentsProcessed == null)
+      throw new Exception("Expected a documents_processed field, didn't find it");
+    return new Long(documentsProcessed).longValue();
+  }
+  
+  public void removeDocument(Session session, String name){
+    String cmisQuery = StringUtils.replace(CMIS_TEST_QUERY_CHANGE_DOC, REPLACER, name);
+    ItemIterable<QueryResult> results = session.query(cmisQuery, false);
+    String objectId = StringUtils.EMPTY;
+    for (QueryResult result : results) {
+      objectId = result.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue().toString();
+    }
+    String repositoryId = session.getRepositoryInfo().getId();
+    ObjectService objectService = session.getBinding().getObjectService();
+    objectService.deleteObject(repositoryId, objectId, true, null);
+  }
+
+  protected void waitJobInactive(String jobIDString, long maxTime)
+    throws Exception
+  {
+    long startTime = System.currentTimeMillis();
+    while (System.currentTimeMillis() < startTime + maxTime)
+    {
+      String status = getJobStatus(jobIDString);
+      if (status == null)
+        throw new Exception("No such job: '"+jobIDString+"'");
+      if (status.equals("not yet run"))
+        throw new Exception("Job was never started.");
+      if (status.equals("done"))
+        return;
+      if (status.equals("error"))
+        throw new Exception("Job reports error.");
+      ManifoldCF.sleep(1000L);
+      continue;
+    }
+    throw new ManifoldCFException("ManifoldCF did not terminate in the allotted time of "+new Long(maxTime).toString()+" milliseconds");
+  }
+  
+  /**
+   * change the document content with the new one provided as an argument
+   * @param session
+   * @param name
+   * @param newContent
+   */
+  public void changeDocument(Session session, String name, String newContent){
+    String cmisQuery = StringUtils.replace(CMIS_TEST_QUERY_CHANGE_DOC, REPLACER, name);
+    ItemIterable<QueryResult> results = session.query(cmisQuery, false);
+    String objectId = StringUtils.EMPTY;
+    for (QueryResult result : results) {
+      objectId = result.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue().toString();
+    }
+
+    byte[] newContentByteArray = newContent.getBytes(StandardCharsets.UTF_8);
+    InputStream stream = new ByteArrayInputStream(newContentByteArray);
+    ContentStream contentStream = new ContentStreamImpl(name, new BigInteger(newContentByteArray), "text/plain", stream);
+    Document documentToUpdate = (Document) session.getObject(objectId);
+    documentToUpdate.setContentStream(contentStream, true);
+  }
+  
+  protected void waitJobDeleted(String jobIDString, long maxTime)
+    throws Exception
+  {
+    long startTime = System.currentTimeMillis();
+    while (System.currentTimeMillis() < startTime + maxTime)
+    {
+      String status = getJobStatus(jobIDString);
+      if (status == null)
+        return;
+      ManifoldCF.sleep(1000L);
+    }
+    throw new ManifoldCFException("ManifoldCF did not delete in the allotted time of "+new Long(maxTime).toString()+" milliseconds");
+  }
+    
+
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,36 @@
+/* $Id$ */
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+
+/** This is a testing base class that is responsible for setting up/tearing down the agents framework. */
+public class BaseHSQLDB extends org.apache.manifoldcf.agents.tests.BaseHSQLDB
+{
+  
+  protected String[] getConnectorNames()
+  {
+    return new String[]{"CMIS"};
+  }
+  
+  protected String[] getConnectorClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector"};
+  }
+
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseHSQLDB.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,85 @@
+/* $Id$ */
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.manifoldcf.crawler.connectors.cmis.tests.CMISServer;
+import org.junit.After;
+import org.junit.Before;
+
+/** Tests that run the "agents daemon" should be derived from this 
+ * 
+ *  @author Piergiorgio Lucidi
+ * 
+ * */
+public class BaseITHSQLDB extends org.apache.manifoldcf.crawler.tests.BaseITHSQLDB
+{
+  protected CMISServer sourceCmisServer = null;
+  protected CMISServer targetCmisServer = null;
+
+  
+  protected String[] getConnectorNames()
+  {
+    return new String[]{"CMIS"};
+  }
+  
+  protected String[] getConnectorClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector"};
+  }
+  
+  protected String[] getOutputNames()
+  {
+    return new String[]{"org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector"};
+  }
+  
+  protected String[] getOutputClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.agents.tests.TestingOutputConnector"};
+  }
+  
+  // Setup/teardown
+  
+  @Before
+  public void setUpCMIS()
+    throws Exception {
+  	
+  	String openCmisServerWarPath = "../../../lib/chemistry-opencmis-server-inmemory.war";
+    if (StringUtils.isNotEmpty(System.getProperty("openCmisServerWarPath"))) {
+      openCmisServerWarPath = System.getProperty("openCmisServerWarPath");
+    }
+  	
+  	//CMIS Source repo server on port 9090
+    sourceCmisServer = new CMISServer(9090, openCmisServerWarPath);
+    sourceCmisServer.start();
+    
+    //CMIS target repo server on port 9091
+    targetCmisServer = new CMISServer(9091, openCmisServerWarPath);
+    targetCmisServer.start();
+    
+  }
+  
+  @After
+  public void cleanUpCMIS()
+    throws Exception {
+  	sourceCmisServer.stop();
+  	targetCmisServer.stop();
+  }
+  
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseITHSQLDB.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,36 @@
+/* $Id$ */
+
+/**
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+
+/** This is a testing base class that is responsible for setting up/tearing down the agents framework. */
+public class BasePostgresql extends org.apache.manifoldcf.agents.tests.BasePostgresql
+{
+  
+  protected String[] getConnectorNames()
+  {
+    return new String[]{"CMIS"};
+  }
+  
+  protected String[] getConnectorClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector"};
+  }
+
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BasePostgresql.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,54 @@
+/* $Id$ */
+
+/**
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+/** Tests that run the "agents daemon" should be derived from this */
+public class BaseUIHSQLDB extends org.apache.manifoldcf.crawler.tests.ConnectorBaseUIHSQLDB
+{
+  protected String[] getConnectorNames()
+  {
+    return new String[]{"CMIS Connector"};
+  }
+  
+  protected String[] getConnectorClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector"};
+  }
+  
+  protected String[] getOutputNames()
+  {
+    return new String[]{"CMIS Output Connector"};
+  }
+  
+  protected String[] getOutputClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector"};
+  }
+
+  protected String[] getAuthorityClasses()
+  {
+    return new String[]{"org.apache.manifoldcf.authorities.authorities.cmis.CmisAuthorityConnector"};
+  }
+  
+  protected String[] getAuthorityNames()
+  {
+    return new String[]{"CMIS authority"};
+  }
+
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/BaseUIHSQLDB.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,175 @@
+/* $Id$ */
+
+/**
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+import org.apache.manifoldcf.core.tests.SeleniumTester;
+import org.junit.Test;
+
+/** Basic UI navigation tests */
+public class NavigationHSQLDBUI extends BaseUIHSQLDB
+{
+
+  @Test
+  public void createConnectionsAndJob()
+    throws Exception
+  {
+    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");
+
+    // Fill in a name
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyOutputConnection");
+
+    //Goto to Type tab
+    testerInstance.clickTab("Type");
+
+    // Select a type
+    testerInstance.waitForElementWithName("classname");
+    testerInstance.selectValue("classname","org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector");
+    testerInstance.clickButton("Continue");
+
+    // Go back to the Name tab
+    testerInstance.clickTab("Name");
+
+    // Now save the connection.
+    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
+    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
+    testerInstance.clickTab("Type");
+    testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector");
+    testerInstance.selectValue("authorityname", "MyAuthorityGroup");
+    testerInstance.clickButton("Continue");
+
+    // Server tab
+    testerInstance.clickTab("Server");
+    testerInstance.setValue("username", "foo");
+    testerInstance.setValue("password", "bar");
+
+    // Go back to the Name tab
+    testerInstance.clickTab("Name");
+    
+    // Save
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Create a job
+    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
+    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");
+
+    // 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
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButtonByTitle("Delete MyRepositoryConnection");
+    testerInstance.acceptAlert();
+
+    // Delete the output connection
+    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();
+  }
+  
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/NavigationHSQLDBUI.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,35 @@
+/* $Id$ */
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+import org.junit.Test;
+
+/** This is a very basic sanity check */
+public class SanityHSQLDBTest extends BaseHSQLDB
+{
+  
+  @Test
+  public void sanityCheck()
+    throws Exception
+  {
+    // If we get this far, it must mean that the setup was successful, which is all that I'm shooting for in this test.
+  }
+  
+
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityHSQLDBTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java?rev=1800083&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java (added)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java Tue Jun 27 19:55:21 2017
@@ -0,0 +1,35 @@
+/* $Id$ */
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.manifoldcf.agents.output.cmisoutput.tests;
+
+import org.junit.Test;
+
+/** This is a very basic sanity check */
+public class SanityPostgresqlTest extends BasePostgresql
+{
+  
+  @Test
+  public void sanityCheck()
+    throws Exception
+  {
+    // If we get this far, it must mean that the setup was successful, which is all that I'm shooting for in this test.
+  }
+  
+
+}

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: manifoldcf/branches/CONNECTORS-1356-2.7.1/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/SanityPostgresqlTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: manifoldcf/branches/CONNECTORS-1356-2.7.1/framework/jetty-runner/src/main/resources/connectors.xml
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1356-2.7.1/framework/jetty-runner/src/main/resources/connectors.xml?rev=1800083&r1=1800082&r2=1800083&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1356-2.7.1/framework/jetty-runner/src/main/resources/connectors.xml (original)
+++ manifoldcf/branches/CONNECTORS-1356-2.7.1/framework/jetty-runner/src/main/resources/connectors.xml Tue Jun 27 19:55:21 2017
@@ -26,6 +26,7 @@
   <outputconnector name="Solr" class="org.apache.manifoldcf.agents.output.solr.SolrConnector"/>
   <outputconnector name="Null" class="org.apache.manifoldcf.agents.output.nullconnector.NullConnector"/>
   <outputconnector name="MetaCarta GTS" class="org.apache.manifoldcf.agents.output.gts.GTSConnector"/>
+  <outputconnector name="CMIS" class="org.apache.manifoldcf.agents.output.cmisoutput.CmisOutputConnector"/>
     <!-- Add your authority connectors here -->
   <authorityconnector name="Null" class="org.apache.manifoldcf.authorities.authorities.nullauthority.NullAuthority"/>
   <authorityconnector name="CMIS" class="org.apache.manifoldcf.authorities.authorities.cmis.CmisAuthorityConnector"/>