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 2018/10/25 20:38:28 UTC
svn commit: r1844859 - in /manifoldcf/trunk: ./
connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/
connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/
connectors/cmis/conn...
Author: piergiorgio
Date: Thu Oct 25 20:38:28 2018
New Revision: 1844859
URL: http://svn.apache.org/viewvc?rev=1844859&view=rev
Log:
added a new field in the CMIS Output Connector configuration for managing the versioning state (CONNECTORS-1542)
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConfig.java
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConnector.java
manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_en_US.properties
manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_es_ES.properties
manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html
manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html
manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java
Modified: manifoldcf/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Thu Oct 25 20:38:28 2018
@@ -3,6 +3,9 @@ $Id$
======================= 2.12-dev =====================
+CONNECTORS-1542: Add switch to let user select the Version Policy to be applied to ingested documents
+(Piergiorgio Lucidi)
+
CONNECTORS-1548: CMIS output connector test fails with versioning state error
(Piergiorgio Lucidi)
Modified: manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConfig.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConfig.java?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConfig.java (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConfig.java Thu Oct 25 20:38:28 2018
@@ -17,6 +17,7 @@
* limitations under the License.
*/
package org.apache.manifoldcf.agents.output.cmisoutput;
+import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.apache.commons.lang.StringUtils;
/**
@@ -54,6 +55,9 @@ public class CmisOutputConfig {
/** Create Timestamp Tree **/
public static final String CREATE_TIMESTAMP_TREE_PARAM = "createTimestampTree";
+ /** Create Timestamp Tree **/
+ public static final String VERSIONING_STATE_PARAM = "versioningState";
+
//default values
public static final String USERNAME_DEFAULT_VALUE = "dummyuser";
public static final String PASSWORD_DEFAULT_VALUE = "dummysecrect";
@@ -67,5 +71,6 @@ public class CmisOutputConfig {
public static final String BINDING_WS_VALUE = "ws";
public static final String CMIS_QUERY_DEFAULT_VALUE = "SELECT * FROM cmis:folder WHERE cmis:name='Apache ManifoldCF'";
public static final String CREATE_TIMESTAMP_TREE_DEFAULT_VALUE = Boolean.FALSE.toString();
+ public static final String VERSIONING_STATE_DEFAULT_VALUE = VersioningState.NONE.value();
}
\ No newline at end of file
Modified: manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConnector.java?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConnector.java (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/agents/output/cmisoutput/CmisOutputConnector.java Thu Oct 25 20:38:28 2018
@@ -132,6 +132,9 @@ public class CmisOutputConnector extends
/** Flag for creating the new tree structure using timestamp**/
protected String createTimestampTree = Boolean.FALSE.toString();
+ /** Flag for creating the new tree structure using timestamp**/
+ protected VersioningState versioningState = VersioningState.NONE;
+
protected SessionFactory factory = SessionFactoryImpl.newInstance();
protected Map<String, String> parameters = new HashMap<String, String>();
@@ -353,6 +356,7 @@ public class CmisOutputConnector extends
repositoryId = null;
cmisQuery = null;
createTimestampTree = Boolean.FALSE.toString();
+ versioningState = VersioningState.NONE;
}
@@ -381,6 +385,10 @@ public class CmisOutputConnector extends
cmisQuery = params.getParameter(CmisOutputConfig.CMIS_QUERY_PARAM);
createTimestampTree = params.getParameter(CmisOutputConfig.CREATE_TIMESTAMP_TREE_PARAM);
+ if(StringUtils.isNotEmpty(params.getParameter(CmisOutputConfig.VERSIONING_STATE_PARAM))) {
+ versioningState = VersioningState.fromValue(params.getParameter(CmisOutputConfig.VERSIONING_STATE_PARAM));
+ }
+
if (StringUtils.isNotEmpty(params.getParameter(CmisOutputConfig.REPOSITORY_ID_PARAM))) {
repositoryId = params.getParameter(CmisOutputConfig.REPOSITORY_ID_PARAM);
}
@@ -645,6 +653,7 @@ public class CmisOutputConnector extends
String binding = parameters.getParameter(CmisOutputConfig.BINDING_PARAM);
String cmisQuery = parameters.getParameter(CmisOutputConfig.CMIS_QUERY_PARAM);
String createTimestampTree = parameters.getParameter(CmisOutputConfig.CREATE_TIMESTAMP_TREE_PARAM);
+ String versioningState = parameters.getParameter(CmisOutputConfig.VERSIONING_STATE_PARAM);
if (username == null)
username = StringUtils.EMPTY;
@@ -668,6 +677,8 @@ public class CmisOutputConnector extends
cmisQuery = CmisOutputConfig.CMIS_QUERY_DEFAULT_VALUE;
if(createTimestampTree == null)
createTimestampTree = CmisOutputConfig.CREATE_TIMESTAMP_TREE_DEFAULT_VALUE;
+ if(versioningState == null)
+ versioningState = CmisOutputConfig.VERSIONING_STATE_DEFAULT_VALUE;
newMap.put(CmisOutputConfig.USERNAME_PARAM, username);
newMap.put(CmisOutputConfig.PASSWORD_PARAM, password);
@@ -679,6 +690,7 @@ public class CmisOutputConnector extends
newMap.put(CmisOutputConfig.BINDING_PARAM, binding);
newMap.put(CmisOutputConfig.CMIS_QUERY_PARAM, cmisQuery);
newMap.put(CmisOutputConfig.CREATE_TIMESTAMP_TREE_PARAM, createTimestampTree);
+ newMap.put(CmisOutputConfig.VERSIONING_STATE_PARAM, versioningState);
}
/**
@@ -825,6 +837,11 @@ public class CmisOutputConnector extends
if (createTimestampTree != null) {
parameters.setParameter(CmisOutputConfig.CREATE_TIMESTAMP_TREE_PARAM, createTimestampTree);
}
+
+ String versioningState = variableContext.getParameter(CmisOutputConfig.VERSIONING_STATE_PARAM);
+ if (versioningState != null) {
+ parameters.setParameter(CmisOutputConfig.VERSIONING_STATE_PARAM, versioningState);
+ }
String repositoryId = variableContext.getParameter(CmisOutputConfig.REPOSITORY_ID_PARAM);
if (repositoryId != null) {
@@ -958,9 +975,9 @@ public class CmisOutputConnector extends
contentStream = new ContentStreamImpl(fileName, BigInteger.valueOf(binaryLength), mimeType,
replayableInputStream);
- // create a major version
+ // create a new content
leafParent = getOrCreateLeafParent(parentDropZoneFolder, creationDate, Boolean.valueOf(createTimestampTree), primaryPath);
- leafParent.createDocument(properties, contentStream, VersioningState.NONE);
+ leafParent.createDocument(properties, contentStream, versioningState);
resultDescription = DOCUMENT_STATUS_ACCEPTED_DESC;
return DOCUMENT_STATUS_ACCEPTED;
Modified: manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_en_US.properties
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_en_US.properties?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_en_US.properties (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_en_US.properties Thu Oct 25 20:38:28 2018
@@ -38,6 +38,7 @@ CmisOutputConnector.CMISQuery=CMIS Query
CmisOutputConnector.CMISQueryColon=CMIS Query - Target folder:
CmisOutputConnector.CreateTimestampTreeColon=Create Timestamp Tree:
+CmisOutputConnector.VersioningStateColon=Versioning State Policy:
CmisOutputConnector.ParametersColon=Parameters:
CmisOutputConnector.UsernameEquals=username=
@@ -51,3 +52,5 @@ CmisOutputConnector.RepositoryIdEquals=r
CmisOutputConnector.CreateTimestampTreeEquals=createTimestampTree=
CmisOutputConnector.CMISQueryEquals=cmisQuery=
CmisOutputConnector.CMISQueryMustNotBeNull=CMIS Query must be not null
+CmisOutputConnector.VersioningStateEquals=versioningState=
+
Modified: manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_es_ES.properties
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_es_ES.properties?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_es_ES.properties (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/cmisoutput/common_es_ES.properties Thu Oct 25 20:38:28 2018
@@ -56,6 +56,7 @@ CmisOutputConnector.PathEquals=camino=
CmisOutputConnector.RepositoryIdEquals=Depósito ID=
CmisOutputConnector.CMISQueryEquals=cmisConsulta=
CmisOutputConnector.CreateTimestampTreeEquals=createTimestampTree=
+CmisOutputConnector.VersioningStateEquals=versioningState=
CmisAuthorityConnector.Repository=Depósito
Modified: manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/editConfiguration_Server.html Thu Oct 25 20:38:28 2018
@@ -122,6 +122,30 @@
<tr>
<td class="description">
<nobr>
+ $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.VersioningStateColon'))
+ </nobr>
+ </td>
+ <td class="value">
+ <select id="versioningState" name="versioningState">
+#if($VERSIONINGSTATE == "none")
+ <option value="major">Major</option>
+ <option value="minor">Minor</option>
+ <option value="none" selected="selected">None</option>
+#elseif($VERSIONINGSTATE == "major")
+ <option value="major" selected="selected">Major</option>
+ <option value="minor">Minor</option>
+ <option value="none">None</option>
+#else($VERSIONINGSTATE == "minor")
+ <option value="major">Major</option>
+ <option value="minor" selected="selected">Minor</option>
+ <option value="none">None</option>
+#end
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="description">
+ <nobr>
$Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.CreateTimestampTreeColon'))
</nobr>
</td>
@@ -167,5 +191,6 @@
<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)" />
+<input type="hidden" name="versioningState" value="$Encoder.attributeEscape($VERSIONINGSTATE)" />
#end
Modified: manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/main/resources/org/apache/manifoldcf/agents/output/cmisoutput/viewConfiguration.html Thu Oct 25 20:38:28 2018
@@ -60,6 +60,10 @@
</nobr>
<br />
<nobr>
+ $Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.VersioningStateEquals'))$Encoder.bodyEscape($VERSIONINGSTATE)
+ </nobr>
+ <br />
+ <nobr>
$Encoder.bodyEscape($ResourceBundle.getString('CmisOutputConnector.RepositoryIdEquals'))$Encoder.bodyEscape($REPOSITORYID)
</nobr>
<br />
Modified: manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java?rev=1844859&r1=1844858&r2=1844859&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java (original)
+++ manifoldcf/trunk/connectors/cmis/connector/src/test/java/org/apache/manifoldcf/agents/output/cmisoutput/tests/APISanityHSQLDBIT.java Thu Oct 25 20:38:28 2018
@@ -381,6 +381,12 @@ public class APISanityHSQLDBIT extends B
createTimestampTreeNode.setValue(CmisOutputConfig.CREATE_TIMESTAMP_TREE_DEFAULT_VALUE);
child.addChild(child.getChildCount(), createTimestampTreeNode);
+ //versioningState
+ ConfigurationNode versioningStateNode = new ConfigurationNode("_PARAMETER_");
+ versioningStateNode.setAttribute("name", CmisOutputConfig.VERSIONING_STATE_PARAM);
+ versioningStateNode.setValue(CmisOutputConfig.VERSIONING_STATE_DEFAULT_VALUE);
+ child.addChild(child.getChildCount(), versioningStateNode);
+
connectionObject.addChild(connectionObject.getChildCount(),child);
requestObject = new Configuration();