PortCMIS: more stuff
git-svn-id: https://svn.apache.org/repos/asf/chemistry/portcmis/trunk@1743219 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/PortCMIS/client/ClientIntf.cs b/PortCMIS/client/ClientIntf.cs
index 714c0b8..060a54f 100644
--- a/PortCMIS/client/ClientIntf.cs
+++ b/PortCMIS/client/ClientIntf.cs
@@ -765,15 +765,12 @@
/// <summary>
/// Query Statement.
/// </summary>
- /// <remarks>
- /// Sample code:
- ///
- /// <c>
+ /// <example>
/// DateTime cal = ...
- /// Folder folder = ...
+ /// IFolder folder = ...
///
/// IQueryStatement qs =
- /// session.createQueryStatement("SELECT ?, ? FROM ? WHERE ? > TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?)");
+ /// Session.CreateQueryStatement("SELECT ?, ? FROM ? WHERE ? > TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?)");
///
/// qs.SetProperty(1, "cmis:document", "cmis:name");
/// qs.SetProperty(2, "cmis:document", "cmis:objectId");
@@ -788,8 +785,7 @@
/// qs.SetString(8, "bob", "tom", "lisa");
///
/// string statement = qs.ToQueryString();
- /// </c>
- /// </remarks>
+ /// </example>
public interface IQueryStatement
{
/// <summary>
@@ -811,6 +807,7 @@
/// Sets the designated parameter to the query name of the given property.
/// </summary>
/// <param name='parameterIndex'>the parameter index (one-based)</param>
+ /// <param name='typeId'>the type ID</param>
/// <param name='propertyId'>the property ID</param>
void SetProperty(int parameterIndex, string typeId, string propertyId);
@@ -851,9 +848,8 @@
void SetStringLike(int parameterIndex, string str);
/// <summary>
- /// Sets the designated parameter to the given string in a CMIS contains
- /// statement.
- /// </summary>S
+ /// Sets the designated parameter to the given string in a CMIS contains statement.
+ /// </summary>
/// <remarks>
/// Note that the CMIS specification requires two levels of escaping. The
/// first level escapes ', ", \ characters to \', \" and \\. The characters
@@ -866,10 +862,60 @@
/// On the second level grammar ", ', - and \ are escaped with a \. See the
/// spec for further details.
/// <p>
- /// Summary (input --> first level escaping --> second level escaping and
- /// output):/// -->/// -->/// ? --> ? --> ? - --> - --> - \ --> \\ --> \\\\ (for
- /// any other character following other than/// ? -) \* --> \* --> \\* \? -->
- /// \? --> \\? \- --> \- --> \\- ' --> \' --> \\\' " --> \" --> \\\"
+ /// Summary:
+ /// <table summary="Escaping Summary">
+ /// <tr>
+ /// <th>input</th>
+ /// <th>first level escaping</th>
+ /// <th>second level escaping</th>
+ /// </tr>
+ /// <tr>
+ /// <td>*</td>
+ /// <td>*</td>
+ /// <td>*</td>
+ /// </tr>
+ /// <tr>
+ /// <td>?</td>
+ /// <td>?</td>
+ /// <td>?</td>
+ /// </tr>
+ /// <tr>
+ /// <td>-</td>
+ /// <td>-</td>
+ /// <td>-</td>
+ /// </tr>
+ /// <tr>
+ /// <td>\</td>
+ /// <td>\\</td>
+ /// <td>\\\\<br>
+ /// <em>(for any other character following other than///?-)</em></td>
+ /// </tr>
+ /// <tr>
+ /// <td>\*</td>
+ /// <td>\*</td>
+ /// <td>\\*</td>
+ /// </tr>
+ /// <tr>
+ /// <td>\?</td>
+ /// <td>\?</td>
+ /// <td>\\?</td>
+ /// </tr>
+ /// <tr>
+ /// <td>\-</td>
+ /// <td>\-</td>
+ /// <td>\\-+</td>
+ /// </tr>
+ /// <tr>
+ /// <td>'</td>
+ /// <td>\'</td>
+ /// <td>\\\'</td>
+ /// </tr>
+ /// <tr>
+ /// <td>"</td>
+ /// <td>\"</td>
+ /// <td>\\\"</td>
+ /// </tr>
+ /// </table>
/// </remarks>
/// <param name='parameterIndex'>the parameter index (one-based)</param>
/// <param name='str'>the CONTAINS string</param>
@@ -1113,7 +1159,7 @@
IDocument GetRenditionDocument();
/// <summary>
- /// * Returns the rendition document using the provided operation context if the rendition is a stand-alone document.
+ /// Returns the rendition document using the provided operation context if the rendition is a stand-alone document.
/// </summary>
/// <param name="context">the operation context</param>
/// <returns>the rendition document or <c>null</c> if there is no rendition document</returns>
diff --git a/PortCMIS/const/PermissionMappingKeys.cs b/PortCMIS/const/PermissionMappingKeys.cs
index b45f631..e0d45b4 100644
--- a/PortCMIS/const/PermissionMappingKeys.cs
+++ b/PortCMIS/const/PermissionMappingKeys.cs
@@ -24,39 +24,73 @@
/// </summary>
public static class PermissionMappingKeys
{
+ /// <summary>Key <c>canGetDescendents.Folder</c></summary>
public const string CanGetDescendentsFolder = "canGetDescendents.Folder";
+ /// <summary>Key <c>canGetChildren.Folder</c></summary>
public const string CanGetChildrenFolder = "canGetChildren.Folder";
+ /// <summary>Key <c>canGetParents.Folder</c></summary>
public const string CanGetParentsFolder = "canGetParents.Folder";
+ /// <summary>Key <c>canGetFolderParent.Object</c></summary>
public const string CanGetFolderParentObject = "canGetFolderParent.Object";
+ /// <summary>Key <c>canCreateDocument.Folder</c></summary>
public const string CanCreateDocumentFolder = "canCreateDocument.Folder";
+ /// <summary>Key <c>canCreateFolder.Folder</c></summary>
public const string CanCreateFolderFolder = "canCreateFolder.Folder";
+ /// <summary>Key <c>canCreateRelationship.Source</c></summary>
public const string CanCreateRelationshipSource = "canCreateRelationship.Source";
+ /// <summary>Key <c>canCreateRelationship.Target</c></summary>
public const string CanCreateRelationshipTarget = "canCreateRelationship.Target";
+ /// <summary>Key <c>canGetProperties.Object</c></summary>
public const string CanGetPropertiesObject = "canGetProperties.Object";
+ /// <summary>Key <c>canViewContent.Object</c></summary>
public const string CanViewContentObject = "canViewContent.Object";
+ /// <summary>Key <c>canUpdateProperties.Object</c></summary>
public const string CanUpdatePropertiesObject = "canUpdateProperties.Object";
+ /// <summary>Key <c>canMove.Object</c></summary>
public const string CanMoveObject = "canMove.Object";
+ /// <summary>Key <c>canMove.Target</c></summary>
public const string CanMoveTarget = "canMove.Target";
+ /// <summary>Key <c>canMove.Source</c></summary>
public const string CanMoveSource = "canMove.Source";
+ /// <summary>Key <c>canDelete.Objectr</c></summary>
public const string CanDeleteObject = "canDelete.Object";
+ /// <summary>Key <c>canDeleteTree.Folder</c></summary>
public const string CanDeleteTreeFolder = "canDeleteTree.Folder";
+ /// <summary>Key <c>canSetContent.Document</c></summary>
public const string CanSetContentDocument = "canSetContent.Document";
+ /// <summary>Key <c>canDeleteContent.Document</c></summary>
public const string CanDeleteContentDocument = "canDeleteContent.Document";
+ /// <summary>Key <c>canAddToFolder.Object</c></summary>
public const string CanAddToFolderObject = "canAddToFolder.Object";
+ /// <summary>Key <c>canAddToFolder.Folder</c></summary>
public const string CanAddToFolderFolder = "canAddToFolder.Folder";
+ /// <summary>Key <c>canRemoveFromFolder.Object</c></summary>
public const string CanRemoveFromFolderObject = "canRemoveFromFolder.Object";
+ /// <summary>Key <c>canRemoveFromFolder.Folder</c></summary>
public const string CanRemoveFromFolderFolder = "canRemoveFromFolder.Folder";
+ /// <summary>Key <c>canCheckout.Document</c></summary>
public const string CanCheckoutDocument = "canCheckout.Document";
+ /// <summary>Key <c>canCancelCheckout.Document</c></summary>
public const string CanCancelCheckoutDocument = "canCancelCheckout.Document";
+ /// <summary>Key <c>canCheckin.Document</c></summary>
public const string CanCheckinDocument = "canCheckin.Document";
+ /// <summary>Key <c>canGetAllVersions.VersionSeries</c></summary>
public const string CanGetAllVersionsVersionSeries = "canGetAllVersions.VersionSeries";
+ /// <summary>Key <c>canGetObjectRelationships.Object</c></summary>
public const string CanGetObjectRelationshipSObject = "canGetObjectRelationships.Object";
+ /// <summary>Key <c>canAddPolicy.Object</c></summary>
public const string CanAddPolicyObject = "canAddPolicy.Object";
+ /// <summary>Key <c>canAddPolicy.Policy</c></summary>
public const string CanAddPolicyPolicy = "canAddPolicy.Policy";
+ /// <summary>Key <c>canRemovePolicy.Object</c></summary>
public const string CanRemovePolicyObject = "canRemovePolicy.Object";
+ /// <summary>Key <c>canRemovePolicy.Policy</c></summary>
public const string CanRemovePolicyPolicy = "canRemovePolicy.Policy";
+ /// <summary>Key <c>canGetAppliedPolicies.Object</c></summary>
public const string CanGetAppliesPoliciesObject = "canGetAppliedPolicies.Object";
+ /// <summary>Key <c>canGetAcl.Object</c></summary>
public const string CanGetAclObject = "canGetAcl.Object";
+ /// <summary>Key <c>canApplyAcl.Object</c></summary>
public const string CanApplyAclObject = "canApplyAcl.Object";
}
}
diff --git a/PortCMISWin/binding/WindowsHttp.cs b/PortCMISWin/binding/WindowsHttp.cs
index 6c6917b..3b89030 100644
--- a/PortCMISWin/binding/WindowsHttp.cs
+++ b/PortCMISWin/binding/WindowsHttp.cs
@@ -127,7 +127,7 @@
{
foreach (KeyValuePair<string, string> header in headers)
{
- request.Headers.Add(header.Key, header.Value);
+ request.Headers.TryAppendWithoutValidation(header.Key, header.Value);
}
}