Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf.js
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf.js?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf.js
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf.js
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,85 @@
+<script type="text/javascript">
+<!--
+function checkConfig()
+{
+  if (editconnection.nuxeo_port.value != "" && 
!isInteger(editconnection.nuxeo_port.value))
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.PortMustBeAnInteger'))");
+    editconnection.nuxeo_port.focus();
+    return false;
+  }
+
+  if (editconnection.nuxeo_host.value != "" && 
editconnection.nuxeo_host.value.indexOf("/") != -1)
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.HostMustNotIncludeSlash'))");
+    editconnection.nuxeo_host.focus();
+    return false;
+  }
+
+ if (editconnection.nuxeo_path.value != "" &&
+ !(editconnection.nuxeo_path.value.indexOf("/") == 0))
+ {
+ 
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.PathMustBeginWithASlash'))");
+ editconnection.nuxeo_path.focus();
+ return false;
+ }
+
+  return true;
+}
+ 
+function checkConfigForSave()
+{
+    
+  if (editconnection.nuxeo_host.value == "")
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.HostMustNotBeNull'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Server'))");
+    editconnection.nuxeo_host.focus();
+    return false;
+  }
+  
+  if (editconnection.nuxeo_host.value != "" && 
editconnection.nuxeo_host.value.indexOf("/") != -1)
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.HostMustNotIncludeSlash'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Server'))");
+    editconnection.nuxeo_host.focus();
+    return false;
+  }
+
+  if (editconnection.nuxeo_port.value != "" && 
!isInteger(editconnection.nuxeo_port.value))
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.PortMustBeAnInteger'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Server'))");
+    editconnection.nuxeo_port.focus();
+    return false;
+  }
+  
+  if (editconnection.nuxeo_username.value != "" && 
editconnection.nuxeo_password.value == "")
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.PasswordMustNotBeNull'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Server'))");
+    editconnection.nuxeo_password.focus();
+    return false;
+  }
+
+ if (editconnection.nuxeo_path.value == "")
+ {
+ 
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.PathMustNotBeNull'))");
+ 
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Server'))");
+ editconnection.nuxeo_path.focus();
+ return false;
+ }
+  
+ if (editconnection.nuxeo_path.value != "" &&
+ !(editconnection.nuxeo_path.value.indexOf("/") == 0))
+ {
+ 
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.PathMustBeginWithASlash'))");
+ 
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Server'))");
+ editconnection.nuxeo_path.focus();
+ return false;
+ }
+  
+  return true;
+}
+// -->
+</script>

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf.js
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf_server.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf_server.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf_server.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf_server.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,81 @@
+ #if($TABNAME ==
+$ResourceBundle.getString('NuxeoAuthorityConnector.Server'))
+
+<table class="displaytable">
+       <tr>
+               <td class="separator" colspan="2"><hr /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Protocol'))</nobr>
+               </td>
+               <td class="value">
+                       <select size="2" name="nuxeo_protocol" />
+                               #if($NUXEO_PROTOCOL == 'https')
+                                       <option value="http">http</option>
+                                       <option value="https" 
selected>https</option>
+                               #else
+                                       <option value="http" 
selected>http</option>
+                                       <option value="https" >https</option>
+                               #end 
+                       </select>
+               </td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Host'))</nobr>
+               </td>
+               <td class="value"><input size="32" type="text" id="nuxeo_host"
+                       name="nuxeo_host" 
value="$Encoder.attributeEscape($NUXEO_HOST)" /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Port'))</nobr>
+               </td>
+               <td class="value"><input size="5" type="text" id="nuxeo_port"
+                       name="nuxeo_port" 
value="$Encoder.attributeEscape($NUXEO_PORT)" /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Path'))</nobr>
+               </td>
+               <td class="value"><input size="32" type="text" id="nuxeo_path"
+                       name="nuxeo_path" 
value="$Encoder.attributeEscape($NUXEO_PATH)" /></td>
+       </tr>
+
+       <tr>
+               <td class="separator" colspan="2"><hr /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Username'))</nobr>
+               </td>
+               <td class="value"><input size="16" type="text"
+                       id="nuxeo_username" name="nuxeo_username"
+                       value="$Encoder.attributeEscape($NUXEO_USERNAME)" 
/></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Password'))</nobr>
+               </td>
+               <td class="value"><input size="16" type="password"
+                       id="nuxeo_password" name="nuxeo_password"
+                       value="" /></td>
+       </tr>
+</table>
+
+#else
+
+<input type="hidden" name="nuxeo_protocol"
+       value="$Encoder.attributeEscape($NUXEO_PROTOCOL)" />
+<input type="hidden" name="nuxeo_host"
+       value="$Encoder.attributeEscape($NUXEO_HOST)" />
+<input type="hidden" name="nuxeo_port"
+       value="$Encoder.attributeEscape($NUXEO_PORT)" />
+<input type="hidden" name="nuxeo_path"
+       value="$Encoder.attributeEscape($NUXEO_PATH)" />
+<input type="hidden" name="nuxeo_username"
+       value="$Encoder.attributeEscape($NUXEO_USERNAME)" />
+<input type="hidden" name="nuxeo_password"
+       value="$Encoder.attributeEscape($NUXEO_PASSWORD)" />
+
+#end

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/editConfiguration_conf_server.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/viewConfiguration_conf.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/viewConfiguration_conf.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/viewConfiguration_conf.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/viewConfiguration_conf.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,32 @@
+
+<table class="displayTable">
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Protocol'))</nobr>
+               </td>
+               <td><nobr>$Encoder.bodyEscape($NUXEO_PROTOCOL)</nobr></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Host'))</nobr>
+               </td>
+               <td><nobr>$Encoder.bodyEscape($NUXEO_HOST)</nobr></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Port'))</nobr>
+               </td>
+               <td><nobr>$Encoder.bodyEscape($NUXEO_PORT)</nobr></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Path'))</nobr>
+               </td>
+               <td><nobr>$Encoder.bodyEscape($NUXEO_PATH)</nobr></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Username'))</nobr>
+               </td>
+               <td><nobr>$Encoder.bodyEscape($NUXEO_USERNAME)</nobr></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoAuthorityConnector.Password'))</nobr>
+               </td>
+               <td><nobr>*****</nobr></td>
+</table>
\ No newline at end of file

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/authorities/authorities/nuxeo/viewConfiguration_conf.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf.js
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf.js?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf.js
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf.js
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,86 @@
+
+<script type="text/javascript">
+<!--
+function checkConfig()
+{
+  if (editconnection.nuxeo_port.value != "" && 
!isInteger(editconnection.nuxeo_port.value))
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.PortMustBeAnInteger'))");
+    editconnection.nuxeo_port.focus();
+    return false;
+  }
+
+  if (editconnection.nuxeo_host.value != "" && 
editconnection.nuxeo_host.value.indexOf("/") != -1)
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.HostMustNotIncludeSlash'))");
+    editconnection.nuxeo_host.focus();
+    return false;
+  }
+
+ if (editconnection.nuxeo_path.value != "" &&
+ !(editconnection.nuxeo_path.value.indexOf("/") == 0))
+ {
+ 
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.PathMustBeginWithASlash'))");
+ editconnection.nuxeo_path.focus();
+ return false;
+ }
+
+  return true;
+}
+ 
+function checkConfigForSave()
+{
+    
+  if (editconnection.nuxeo_host.value == "")
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.HostMustNotBeNull'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Server'))");
+    editconnection.nuxeo_host.focus();
+    return false;
+  }
+  
+  if (editconnection.nuxeo_host.value != "" && 
editconnection.nuxeo_host.value.indexOf("/") != -1)
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.HostMustNotIncludeSlash'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Server'))");
+    editconnection.nuxeo_host.focus();
+    return false;
+  }
+
+  if (editconnection.nuxeo_port.value != "" && 
!isInteger(editconnection.nuxeo_port.value))
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.PortMustBeAnInteger'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Server'))");
+    editconnection.nuxeo_port.focus();
+    return false;
+  }
+
+  if (editconnection.nuxeo_username.value != "" && 
editconnection.nuxeo_password.value == "")
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.PasswordMustNotBeNull'))");
+    
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Server'))");
+    editconnection.nuxeo_password.focus();
+    return false;
+  }
+  
+ if (editconnection.nuxeo_path.value == "")
+ {
+ 
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.PathMustNotBeNull'))");
+ 
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Server'))");
+ editconnection.nuxeo_path.focus();
+ return false;
+ }
+  
+ if (editconnection.nuxeo_path.value != "" &&
+ !(editconnection.nuxeo_path.value.indexOf("/") == 0))
+ {
+ 
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.PathMustBeginWithASlash'))");
+ 
SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Server'))");
+ editconnection.nuxeo_path.focus();
+ return false;
+ }
+  
+  return true;
+}
+// -->
+</script>

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf.js
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf_server.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf_server.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf_server.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf_server.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,81 @@
+ #if($TABNAME ==
+$ResourceBundle.getString('NuxeoRepositoryConnector.Server'))
+
+<table class="displaytable">
+       <tr>
+               <td class="separator" colspan="2"><hr /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Protocol'))</nobr>
+               </td>
+               <td class="value">
+                       <select size="2" name="nuxeo_protocol" />
+                               #if($NUXEO_PROTOCOL == 'https')
+                                       <option value="http">http</option>
+                                       <option value="https" 
selected>https</option>
+                               #else
+                                       <option value="http" 
selected>http</option>
+                                       <option value="https" >https</option>
+                               #end 
+                       </select>
+               </td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Host'))</nobr>
+               </td>
+               <td class="value"><input size="32" type="text" id="nuxeo_host"
+                       name="nuxeo_host" 
value="$Encoder.attributeEscape($NUXEO_HOST)" /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Port'))</nobr>
+               </td>
+               <td class="value"><input size="5" type="text" id="nuxeo_port"
+                       name="nuxeo_port" 
value="$Encoder.attributeEscape($NUXEO_PORT)" /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Path'))</nobr>
+               </td>
+               <td class="value"><input size="32" type="text" id="nuxeo_path"
+                       name="nuxeo_path" 
value="$Encoder.attributeEscape($NUXEO_PATH)" /></td>
+       </tr>
+
+       <tr>
+               <td class="separator" colspan="2"><hr /></td>
+       </tr>
+
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Username'))</nobr>
+               </td>
+               <td class="value"><input size="16" type="text"
+                       id="nuxeo_username" name="nuxeo_username"
+                       value="$Encoder.attributeEscape($NUXEO_USERNAME)" 
/></td>
+       </tr>
+       <tr>
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Password'))</nobr>
+               </td>
+               <td class="value"><input size="16" type="password"
+                       id="nuxeo_password" name="nuxeo_password"
+                       value="" /></td>
+       </tr>
+</table>
+
+#else
+
+<input type="hidden" name="nuxeo_protocol"
+       value="$Encoder.attributeEscape($NUXEO_PROTOCOL)" />
+<input type="hidden" name="nuxeo_host"
+       value="$Encoder.attributeEscape($NUXEO_HOST)" />
+<input type="hidden" name="nuxeo_port"
+       value="$Encoder.attributeEscape($NUXEO_PORT)" />
+<input type="hidden" name="nuxeo_path"
+       value="$Encoder.attributeEscape($NUXEO_PATH)" />
+<input type="hidden" name="nuxeo_username"
+       value="$Encoder.attributeEscape($NUXEO_USERNAME)" />
+<input type="hidden" name="nuxeo_password"
+       value="" />
+
+#end

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editConfiguration_conf_server.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_conf.js
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_conf.js?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_conf.js
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_conf.js
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,50 @@
+
+<script type="text/javascript">
+
+function checkSpecificationForSave(){
+       return true;
+}
+
+function s${SeqNum}_SpecOp(n, opValue, anchorvalue)
+{
+  eval("editjob."+n+".value = \""+opValue+"\"");
+  postFormSetAnchor(anchorvalue);
+}
+
+//Domains
+function s${SeqNum}_SpecDeleteDomain(i)
+{
+       s${SeqNum}_SpecOp("s${SeqNum}_domainop_"+i,"Delete","domain_"+i);
+}
+
+function s${SeqNum}_SpecAddDomain(i)
+{
+  var x = i-1;
+  if (editjob["s${SeqNum}_domain"].value == "")
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.TypeInADomain'))");
+    editjob.s${SeqNum}_domain.focus();
+    return;
+  }
+  s${SeqNum}_SpecOp("s${SeqNum}_domainop","Add","domain_"+i);
+}
+
+//Documents
+function s${SeqNum}_SpecDeleteDocumentType(i)
+{
+       
s${SeqNum}_SpecOp("s${SeqNum}_documentTypeop_"+i,"Delete","documentType_"+i);
+}
+
+function s${SeqNum}_SpecAddDocumentType(i)
+{
+  var x = i-1;
+  if (editjob["s${SeqNum}_documentType"].value == "")
+  {
+    
alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('NuxeoRepositoryConnector.TypeInADocumentType'))");
+    editjob.s${SeqNum}_documentType.focus();
+    return;
+  }
+  s${SeqNum}_SpecOp("s${SeqNum}_documentTypeop","Add","documentType_"+i);
+}
+
+</script>
\ No newline at end of file

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_conf.js
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocuments.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocuments.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocuments.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocuments.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,37 @@
+#if($TabName ==
+$ResourceBundle.getString('NuxeoRepositoryConnector.Documents') &&
+${SeqNum} == ${SelectedNum})
+
+<table class="displaytable">
+       <tr>
+               <td class="separator" colspan="2"><hr /></td>
+       </tr>
+
+       <tr>
+               <td class="description" colspan="2">
+                       
$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.ProcessTags'))
+               </td>
+               <td class="value"><input type="checkbox"
+                       name="s${SeqNum}_process_tags" value="true"
+                       #if($PROCESS_TAGS) checked 
+      #end /></td>
+       </tr>
+       <tr>
+               <td class="description" colspan="2">
+                       
$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.ProcessAttachments'))
+               </td>
+               <td class="value"><input type="checkbox"
+                       name="s${SeqNum}_process_attachments" value="true"
+                       #if($PROCESS_ATTACHMENTS) checked 
+      #end /></td>
+       </tr>
+</table>
+
+#else
+
+<input type="hidden" name="s${SeqNum}_process_tags"
+       value="$PROCESS_TAGS" />
+<input type="hidden" name="s${SeqNum}_process_attachments"
+       value="$PROCESS_ATTACHMENTS" />
+
+#end

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocuments.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocumentsType.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocumentsType.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocumentsType.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocumentsType.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,57 @@
+
+#if($TabName == 
$ResourceBundle.getString('NuxeoRepositoryConnector.DocumentsType') && 
${SeqNum} == ${SelectedNum})
+
+<table class="displaytable">
+  <tr><td class="separator" colspan="2"><hr/></td></tr>
+
+  #set($documentTypecounter = 0)
+  #foreach($documentType in $DOCUMENTSTYPE)
+
+  <tr>
+    <td class="description">
+      <input type="hidden" 
name="s${SeqNum}_documentTypeop_$documentTypecounter" value=""/>
+      <input type="hidden" name="s${SeqNum}_documentType_$documentTypecounter" 
value="$Encoder.attributeEscape($documentType)"/>
+      <a name="s${SeqNum}_tokendocumentType_$documentTypecounter">
+        <input type="button" 
value="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Delete'))"
 onClick='Javascript:s${SeqNum}_SpecDeleteDocumentType($documentTypecounter)' 
alt="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.DeleteDocumentType'))$documentTypecounter"/>
+      </a>
+    </td>
+    <td class="value">$Encoder.bodyEscape($documentType)</td>
+  </tr>
+
+    #set($documentTypecounter = $documentTypecounter + 1)
+  #end
+
+  #set($nextdocumentType = $documentTypecounter + 1)
+
+  #if($documentTypecounter == 0)
+  <tr>
+    <td class="message" 
colspan="2">$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.NoDocumentsTypeConfigured'))</td>
+  </tr>
+  #end
+
+  <tr><td class="lightseparator" colspan="2"><hr/></td></tr>
+  
+  <tr>
+    <td class="description">
+      <input type="hidden" name="s${SeqNum}_documentsTypecount" 
value="$documentTypecounter"/>
+      <input type="hidden" name="s${SeqNum}_documentTypeop" value=""/>
+      <a name="documentType_$documentTypecounter">
+        <input type="button" 
value="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Add'))"
 onClick='Javascript:s${SeqNum}_SpecAddDocumentType($nextdocumentType)' 
alt="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.AddDocumentType'))"/>
+      </a>
+    </td>
+    <td class="value">
+      <input type="text" size="30" name="s${SeqNum}_documentType" value=""/>
+    </td>
+  </tr>
+</table>
+
+#else
+
+  #set($documentTypecounter = 0)
+  #foreach($documentType in $DOCUMENTSTYPE)
+<input type="hidden" name="s${SeqNum}_documentType_$documentTypecounter" 
value="$Encoder.attributeEscape($documentType)"/>
+    #set($documentTypecounter = $documentTypecounter + 1)
+  #end
+<input type="hidden" name="s${SeqNum}_documentsTypecount" 
value="$documentTypecounter"/>
+
+#end
\ No newline at end of file

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDocumentsType.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDomains.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDomains.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDomains.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDomains.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,57 @@
+
+#if($TabName == $ResourceBundle.getString('NuxeoRepositoryConnector.Domains') 
&& ${SeqNum} == ${SelectedNum})
+
+<table class="displaytable">
+  <tr><td class="separator" colspan="2"><hr/></td></tr>
+
+  #set($domaincounter = 0)
+  #foreach($domain in $DOMAINS)
+
+  <tr>
+    <td class="description">
+      <input type="hidden" name="s${SeqNum}_domainop_$domaincounter" value=""/>
+      <input type="hidden" name="s${SeqNum}_domain_$domaincounter" 
value="$Encoder.attributeEscape($domain)"/>
+      <a name="s${SeqNum}_tokendomain_$domaincounter">
+        <input type="button" 
value="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Delete'))"
 onClick='Javascript:s${SeqNum}_SpecDeleteDomain($domaincounter)' 
alt="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.DeleteDomain'))$domaincounter"/>
+      </a>
+    </td>
+    <td class="value">$Encoder.bodyEscape($domain)</td>
+  </tr>
+
+    #set($domaincounter = $domaincounter + 1)
+  #end
+
+  #set($nextdomain = $domaincounter + 1)
+
+  #if($domaincounter == 0)
+  <tr>
+    <td class="message" 
colspan="2">$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.NoDomainsConfigured'))</td>
+  </tr>
+  #end
+
+  <tr><td class="lightseparator" colspan="2"><hr/></td></tr>
+  
+  <tr>
+    <td class="description">
+      <input type="hidden" name="s${SeqNum}_domainscount" 
value="$domaincounter"/>
+      <input type="hidden" name="s${SeqNum}_domainop" value=""/>
+      <a name="domain_$domaincounter">
+        <input type="button" 
value="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Add'))"
 onClick='Javascript:s${SeqNum}_SpecAddDomain($nextdomain)' 
alt="$Encoder.attributeEscape($ResourceBundle.getString('NuxeoRepositoryConnector.AddDomain'))"/>
+      </a>
+    </td>
+    <td class="value">
+      <input type="text" size="30" name="s${SeqNum}_domain" value=""/>
+    </td>
+  </tr>
+</table>
+
+#else
+
+  #set($domaincounter = 0)
+  #foreach($domain in $DOMAINS)
+<input type="hidden" name="s${SeqNum}_domain_$domaincounter" 
value="$Encoder.attributeEscape($domain)"/>
+    #set($domaincounter = $domaincounter + 1)
+  #end
+<input type="hidden" name="s${SeqNum}_domainscount" value="$domaincounter"/>
+
+#end
\ No newline at end of file

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/editSpecification_confDomains.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewConfiguration_conf.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewConfiguration_conf.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewConfiguration_conf.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewConfiguration_conf.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,52 @@
+
+<table class="displayTable">
+
+       <tr>
+               <td class="description">
+                       
<nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Protocol'))</nobr>
+               </td>
+               <td>
+                       <nobr>$Encoder.bodyEscape($NUXEO_PROTOCOL)</nobr>
+               </td>
+       </tr>
+       <tr>
+               <td class="description">
+                       
<nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Host'))</nobr>
+               </td>
+               <td>
+                       <nobr>$Encoder.bodyEscape($NUXEO_HOST)</nobr>
+               </td>
+       </tr>
+       <tr>
+               <td class="description">
+                       
<nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Port'))</nobr>
+               </td>
+               <td>
+                       <nobr>$Encoder.bodyEscape($NUXEO_PORT)</nobr>
+               </td>
+       </tr>
+       <tr>
+               <td class="description">
+                       
<nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Path'))</nobr>
+               </td>
+               <td>
+                       <nobr>$Encoder.bodyEscape($NUXEO_PATH)</nobr>
+               </td>
+       </tr>
+       <tr>
+               <td class="description">
+                       
<nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Username'))</nobr>
+               </td>
+               <td>
+                       <nobr>$Encoder.bodyEscape($NUXEO_USERNAME)</nobr>
+               </td>
+       </tr>
+       <tr>
+               <td class="description">
+                       
<nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Password'))</nobr>
+               </td>
+               <td>
+                       <nobr>*****</nobr>
+               </td>
+
+</table>
\ No newline at end of file

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewConfiguration_conf.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewSpecification_conf.html
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewSpecification_conf.html?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewSpecification_conf.html
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewSpecification_conf.html
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,39 @@
+
+<table class="displaytable">
+       <tr>
+               #if($DOMAINS.size() == 0)
+               <td class="message" 
colspan="2"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.NoDomainsConfigured'))</nobr>
+               </td> #else
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.Domains')):</nobr>
+               </td>
+               <td class="value">#set($domaincounter = 0) #foreach($domain in
+                       $DOMAINS) <nobr>$Encoder.bodyEscape($domain)</nobr><br 
/>
+                       #set($domaincounter = $domaincounter + 1) #end
+               </td> #end
+       </tr>
+       <tr>
+               #if($DOCUMENTSTYPE.size() == 0)
+               <td class="message" 
colspan="2"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.NoDocumentsTypeConfigured'))</nobr>
+               </td> #else
+               <td 
class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.DocumentsType')):</nobr>
+               </td>
+               <td class="value">#set($documentTypecounter = 0)
+                       #foreach($documentType in $DOCUMENTSTYPE) 
<nobr>$Encoder.bodyEscape($documentType)</nobr><br />
+                       #set($documentTypecounter = $documentTypecounter + 1) 
#end
+               </td> #end
+       </tr>
+       <tr>
+               <td class="description"><nobr>
+                               
$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.ProcessTags')):
+                       </nobr></td>
+               <td 
class="value"><nobr>$Encoder.bodyEscape($PROCESS_TAGS)</nobr>
+               </td>
+       </tr>
+       <tr>
+               <td class="description"><nobr>
+                               
$Encoder.bodyEscape($ResourceBundle.getString('NuxeoRepositoryConnector.ProcessAttachments')):
+                       </nobr></td>
+               <td 
class="value"><nobr>$Encoder.bodyEscape($PROCESS_ATTACHMENTS)</nobr>
+               </td>
+       </tr>
+</table>
\ No newline at end of file

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/nuxeo/viewSpecification_conf.html
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/authorities/nuxeo/tests/NuxeoAuthorityTest.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/authorities/nuxeo/tests/NuxeoAuthorityTest.java?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/authorities/nuxeo/tests/NuxeoAuthorityTest.java
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/authorities/nuxeo/tests/NuxeoAuthorityTest.java
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,79 @@
+/**
+ * 
+ */
+package org.apache.manifoldcf.authorities.nuxeo.tests;
+
+import 
org.apache.manifoldcf.authorities.authorities.nuxeo.NuxeoAuthorityConnector;
+import org.apache.manifoldcf.authorities.interfaces.AuthorizationResponse;
+import org.apache.manifoldcf.authorities.interfaces.IAuthorityConnector;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import static org.junit.Assert.assertEquals;
+import org.nuxeo.client.api.NuxeoClient;
+import org.nuxeo.client.api.objects.user.User;
+import org.nuxeo.client.api.objects.user.UserManager;
+import org.mockito.Mock;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import static org.mockito.Matchers.anyString;
+
+import org.mockito.runners.MockitoJUnitRunner;
+
+/**
+ * @author David Arroyo Escobar <[email protected]>
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class NuxeoAuthorityTest {
+
+       @Mock
+       private NuxeoClient client;
+
+       private NuxeoAuthorityConnector authorityConnector;
+
+       @Before
+       public void setup() throws Exception {
+               authorityConnector = new NuxeoAuthorityConnector();
+               authorityConnector.setNuxeoClient(client);
+       }
+
+       @Test
+       public void check() throws Exception {
+                                               
+               
when(client.getUserManager()).thenReturn(mock(UserManager.class));
+               
when(client.getUserManager().fetchUser(anyString())).thenReturn(mock(User.class));
+               
+               assertEquals(authorityConnector.check(), "Connection working");
+       }
+
+       @Test
+       public void checkUserNotFound() throws Exception {
+               UserManager userManager = mock(UserManager.class);
+               User user = mock(User.class);
+               
+               when(client.getUserManager()).thenReturn(userManager);
+               when(client.getUserManager().fetchUser("")).thenReturn(user);
+               
+               AuthorizationResponse response = 
authorityConnector.getAuthorizationResponse("NOT_USER_EXIST");
+               String[] tokens = response.getAccessTokens();
+               
+               assertEquals(tokens.length, 1);
+               assertEquals(tokens[0], IAuthorityConnector.GLOBAL_DENY_TOKEN);
+               assertEquals(response.getResponseStatus(), 
AuthorizationResponse.RESPONSE_USERNOTFOUND);
+       }
+
+       @Test
+       public void checkUserFound() throws Exception {
+               
when(client.getUserManager()).thenReturn(mock(UserManager.class));
+               
when(client.getUserManager().fetchUser(anyString())).thenReturn(mock(User.class));
+               
+               AuthorizationResponse response = 
authorityConnector.getAuthorizationResponse("Administrator");
+               
+               String[] tokens = response.getAccessTokens();
+               
+               assertEquals(tokens.length, 1);
+               assertEquals(response.getResponseStatus(), 
AuthorizationResponse.RESPONSE_OK);
+       }
+}

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/authorities/nuxeo/tests/NuxeoAuthorityTest.java
------------------------------------------------------------------------------
    svn:executable = *

Added: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/nuxeo/tests/NuxeoConnectorTest.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/nuxeo/tests/NuxeoConnectorTest.java?rev=1791420&view=auto
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/nuxeo/tests/NuxeoConnectorTest.java
 (added)
+++ 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/nuxeo/tests/NuxeoConnectorTest.java
 Fri Apr 14 21:26:16 2017
@@ -0,0 +1,215 @@
+/**
+ * 
+ */
+package org.apache.manifoldcf.crawler.connectors.nuxeo.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.manifoldcf.agents.interfaces.RepositoryDocument;
+import org.apache.manifoldcf.core.interfaces.Specification;
+import org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector;
+import org.apache.manifoldcf.crawler.connectors.nuxeo.NuxeoRepositoryConnector;
+import org.apache.manifoldcf.crawler.connectors.nuxeo.model.DocumentManifold;
+import org.apache.manifoldcf.crawler.interfaces.IExistingVersions;
+import org.apache.manifoldcf.crawler.interfaces.IProcessActivity;
+import org.apache.manifoldcf.crawler.system.SeedingActivity;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.nuxeo.client.api.NuxeoClient;
+import org.nuxeo.client.api.objects.Document;
+import org.nuxeo.client.api.objects.Documents;
+import org.nuxeo.client.api.objects.Repository;
+
+/**
+ * @author David Arroyo Escobar <[email protected]>
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class NuxeoConnectorTest {
+
+       @Mock
+       public NuxeoClient client;
+
+       public NuxeoRepositoryConnector repositoryConnector;
+
+       @Before
+       public void setup() throws Exception {
+
+               repositoryConnector = new NuxeoRepositoryConnector();
+               repositoryConnector.setNuxeoClient(client);
+       };
+
+       @Test
+       public void checkMockInjection() throws Exception {
+               Document doc = mock(Document.class);
+               Repository repository = mock(Repository.class);
+               
+               when(client.repository()).thenReturn(repository);
+               when(client.repository().getDocumentRoot()).thenReturn(doc);
+               assertEquals(repositoryConnector.check(), "Connection working");
+       }
+
+       @Test
+       public void mockSeeding() throws Exception {
+               SeedingActivity activities = mock(SeedingActivity.class);
+               Specification spec = new Specification();
+               Repository repository = mock(Repository.class);
+               Document document = mock(Document.class);
+               List<Document> documents = new ArrayList<>();
+               documents.add(document);
+               documents.add(document);
+               Documents docs = mock(Documents.class);
+               long seedTime = 0;
+               
+
+               when(client.repository()).thenReturn(repository);
+               when(client.repository().query(anyString(), anyString(), 
anyString(), anyString(), anyString(),
+                               anyString(), anyString())).thenReturn(docs);
+               when(docs.getIsNextPageAvailable()).thenReturn(false);
+               when(docs.getDocuments()).thenReturn(documents);
+               
+               repositoryConnector.addSeedDocuments(activities, spec, "", 
seedTime,
+                               BaseRepositoryConnector.JOBMODE_CONTINUOUS);
+
+               verify(activities, times(2)).addSeedDocument(anyString());
+               
+       }
+
+       @Test
+       public void mockEmptySeeding() throws Exception {
+               SeedingActivity activities = mock(SeedingActivity.class);
+               Specification spec = new Specification();
+               Repository repository = mock(Repository.class);
+               List<Document> documents = new ArrayList<>();           
+               Documents docs = mock(Documents.class);
+               long seedTime = 0;
+               
+
+               when(client.repository()).thenReturn(repository);
+               when(client.repository().query(anyString(), anyString(), 
anyString(), anyString(), anyString(),
+                               anyString(), anyString())).thenReturn(docs);
+               when(docs.getIsNextPageAvailable()).thenReturn(false);
+               when(docs.getDocuments()).thenReturn(documents);
+               
+               repositoryConnector.addSeedDocuments(activities, spec, "", 
seedTime,
+                               BaseRepositoryConnector.JOBMODE_CONTINUOUS);
+
+               verify(activities, times(0)).addSeedDocument(anyString());
+       }
+
+       @Test
+       public void mockDeleteDocument() throws Exception {
+               DocumentManifold docMa = mock(DocumentManifold.class);
+               Repository repository = mock(Repository.class);
+               Document doc = mock(Document.class);
+               Specification spec = new Specification();
+               IProcessActivity activities = mock(IProcessActivity.class);
+               IExistingVersions statuses = mock(IExistingVersions.class);
+
+               when(client.repository()).thenReturn(repository);
+               
when(client.repository().fetchDocumentById(anyString())).thenReturn(doc);
+               when(docMa.getDocument()).thenReturn(doc);
+               when(doc.getState()).thenReturn("deleted");
+
+               repositoryConnector.processDocuments(new String[] { anyString() 
}, statuses, spec, activities,
+                               BaseRepositoryConnector.JOBMODE_CONTINUOUS, 
true);
+
+               verify(activities, times(1)).deleteDocument(anyString());
+       }
+
+       @Test
+       public void mockSimpleIngestion() throws Exception {
+
+               Document doc = mock(Document.class);
+               DocumentManifold docMa = mock(DocumentManifold.class);
+               Date date = new Date();
+               DateFormat df = DateFormat.getDateTimeInstance();
+               String version = df.format(date);
+               Long size = 0L;
+               String id;
+               String uri = 
"http://localhost:8080/nuxeo/site/api/v1/id/7995ff6d-1eda-41db-b9de-3ea4037fdb81";;
+               Map<String, Object> metadata = new HashMap<String, Object>();
+               IProcessActivity activities = mock(IProcessActivity.class);
+               IExistingVersions statuses = mock(IExistingVersions.class);
+               Specification spec = new Specification();
+               Repository repository = mock(Repository.class);
+
+
+               metadata.put("key", "value");
+               id = df.format(date);
+
+               when(doc.get("lenght")).thenReturn(size);
+               when(doc.getLastModified()).thenReturn(version);
+               when(docMa.getMetadata()).thenReturn(metadata);
+               when(doc.getUid()).thenReturn(uri);
+               when(client.repository()).thenReturn(repository);
+               
when(client.repository().fetchDocumentById(anyString())).thenReturn(doc);
+
+               when(activities.checkDocumentNeedsReindexing(anyString(), 
anyString())).thenReturn(true);
+               when(statuses.getIndexedVersionString(id)).thenReturn(null);
+
+
+               repositoryConnector.processDocuments(new String[] { id }, 
statuses, spec, activities,
+                               BaseRepositoryConnector.JOBMODE_CONTINUOUS, 
true);
+               ArgumentCaptor<RepositoryDocument> ac = 
ArgumentCaptor.forClass(RepositoryDocument.class);
+
+               verify(activities, 
times(1)).ingestDocumentWithException(eq(id), eq(df.format(date)), eq(uri), 
ac.capture());
+               verify(activities, times(1)).recordActivity(anyLong(), eq("read 
document"), eq(size), eq(id), eq("OK"),
+                               anyString(), Mockito.isNull(String[].class));
+
+               RepositoryDocument rd = ac.getValue();
+               Long rdSize = rd.getBinaryLength();
+
+               String[] keyValue = rd.getFieldAsStrings("uid");
+               
+               assertEquals(size, rdSize);
+               assertEquals(keyValue.length, 1);
+       }
+
+       @Test
+       public void mockNotNeedReindexing() throws Exception {
+               Document doc = mock(Document.class);
+               Date date = new Date();
+               Repository repository = mock(Repository.class);
+               DateFormat df = DateFormat.getDateTimeInstance();
+               String version = df.format(date);
+               String uid = "297529bf-191a-4c87-8259-28b692394229";
+
+               IProcessActivity activities = mock(IProcessActivity.class);
+               IExistingVersions statuses = mock(IExistingVersions.class);
+               Specification spec = new Specification();
+
+               when(doc.getLastModified()).thenReturn(version);
+               when(statuses.getIndexedVersionString(uid)).thenReturn(version);
+               when(client.repository()).thenReturn(repository);
+               
when(client.repository().fetchDocumentById(anyString())).thenReturn(doc);
+
+               repositoryConnector.processDocuments(new String[] { uid }, 
statuses, spec, activities,
+                               BaseRepositoryConnector.JOBMODE_CONTINUOUS, 
true);
+               ArgumentCaptor<RepositoryDocument> ac = 
ArgumentCaptor.forClass(RepositoryDocument.class);
+
+               verify(activities, times(1)).checkDocumentNeedsReindexing(uid, 
version);
+               verify(activities, 
times(0)).ingestDocumentWithException(anyString(), anyString(), anyString(), 
ac.capture());
+
+       }
+
+}

Propchange: 
manifoldcf/branches/CONNECTORS-1290-2/connectors/nuxeo/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/nuxeo/tests/NuxeoConnectorTest.java
------------------------------------------------------------------------------
    svn:executable = *


Reply via email to