chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From f...@apache.org
Subject svn commit: r1740350 [6/6] - in /chemistry/portcmis/trunk: PortCMIS/ PortCMIS/binding/ PortCMIS/binding/atompub/ PortCMIS/binding/browser/ PortCMIS/binding/browser/json/ PortCMIS/client/ PortCMIS/const/ PortCMIS/data/ PortCMIS/enum/ PortCMIS/exceptions...
Date Thu, 21 Apr 2016 16:29:05 GMT
Modified: chemistry/portcmis/trunk/PortCMIS/const/PropertyIds.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/const/PropertyIds.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/const/PropertyIds.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/const/PropertyIds.cs Thu Apr 21 16:29:04 2016
@@ -19,57 +19,426 @@
 
 namespace PortCMIS
 {
+    /// <summary>
+    /// CMIS property ID constants.
+    /// </summary>
     public static class PropertyIds
     {
         // ---- base ----
+
+        /// <summary>
+        /// CMIS property <c>cmis:name</c>: name of the object.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string Name = "cmis:name";
+
+        /// <summary>
+        /// CMIS property <c>cmis:objectId</c>: ID of the object.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ObjectId = "cmis:objectId";
+
+        /// <summary>
+        /// CMIS property <c>cmis:objectTypeId</c>: ID of primary type of the
+        /// object.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ObjectTypeId = "cmis:objectTypeId";
+
+        /// <summary>
+        /// CMIS property <c>cmis:baseTypeId</c>: ID of the base type of the object.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string BaseTypeId = "cmis:baseTypeId";
+
+        /// <summary>
+        /// CMIS property <c>cmis:createdBy</c>: creator of the object.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string CreatedBy = "cmis:createdBy";
+
+        /// <summary>
+        /// CMIS property <c>cmis:creationDate</c>: creation date.
+        /// <para>
+        /// CMIS data type: datetime<br/>
+        /// C# type: DateTime
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string CreationDate = "cmis:creationDate";
+
+        /// <summary>
+        /// CMIS property <c>cmis:lastModifiedBy</c>: last modifier of the object.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string LastModifiedBy = "cmis:lastModifiedBy";
+
+        /// <summary>
+        /// CMIS property <c>cmis:lastModificationDate</c>: last modification date.
+        /// <para>
+        /// CMIS data type: datetime<br/>
+        /// C# type: DateTime
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string LastModificationDate = "cmis:lastModificationDate";
+
+        /// <summary>
+        /// CMIS property <c>cmis:changeToken</c>: change token of the object.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ChangeToken = "cmis:changeToken";
+
+        /// <summary>
+        /// CMIS property <c>cmis:description</c>: description of the object.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.1</cmis>
         public const string Description = "cmis:description";
+
+        /// <summary>
+        /// CMIS property <c>cmis:secondaryObjectTypeIds</c> (multivalue): list of
+        /// IDs of the secondary types of the object.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.1</cmis>
         public const string SecondaryObjectTypeIds = "cmis:secondaryObjectTypeIds";
 
         // ---- document ----
+
+        /// <summary>
+        /// CMIS document property <c>cmis:isImmutable</c>: flag the indicates if
+        /// the document is immutable.
+        /// <para>
+        /// CMIS data type: boolean<br/>
+        /// C# type: bool
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string IsImmutable = "cmis:isImmutable";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:isLatestVersion</c>: flag the indicates
+        /// if the document is the latest version.
+        /// <para>
+        /// CMIS data type: boolean<br/>
+        /// C# type: bool
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string IsLatestVersion = "cmis:isLatestVersion";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:isMajorVersion</c>: flag the indicates if
+        /// the document is a major version.
+        /// <para>
+        /// CMIS data type: boolean<br/>
+        /// C# type: bool
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string IsMajorVersion = "cmis:isMajorVersion";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:isLatestMajorVersion</c>: flag the
+        /// indicates if the document is the latest major version.
+        /// <para>
+        /// CMIS data type: boolean<br/>
+        /// C# type: bool
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string IsLatestMajorVersion = "cmis:isLatestMajorVersion";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:versionLabel</c>: version label of the
+        /// document.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string VersionLabel = "cmis:versionLabel";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:versionSeriesId</c>: ID of the version
+        /// series.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string VersionSeriesId = "cmis:versionSeriesId";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:isVersionSeriesCheckedOut</c>: flag the
+        /// indicates if the document is checked out.
+        /// <para>
+        /// CMIS data type: boolean<br/>
+        /// C# type: bool
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string IsVersionSeriesCheckedOut = "cmis:isVersionSeriesCheckedOut";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:versionSeriesCheckedOutBy</c>: user who
+        /// checked out the document, if the document is checked out.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string VersionSeriesCheckedOutBy = "cmis:versionSeriesCheckedOutBy";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:versionSeriesCheckedOutId</c>: ID of the
+        /// PWC, if the document is checked out.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string VersionSeriesCheckedOutId = "cmis:versionSeriesCheckedOutId";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:checkinComment</c>: check-in comment for
+        /// the document version.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string CheckinComment = "cmis:checkinComment";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:isPrivateWorkingCopy</c>: flag the
+        /// indicates if the document is a PWC.
+        /// <para>
+        /// CMIS data type: boolean<br/>
+        /// C# type: bool
+        /// </para>
+        /// </summary>
+        /// <cmis>1.1</cmis>
         public const string IsPrivateWorkingCopy = "cmis:isPrivateWorkingCopy";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:contentStreamLength</c>: length of the
+        /// content stream, if the document has content.
+        /// <para>
+        /// CMIS data type: integer<br/>
+        /// C# type: BigInteger
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ContentStreamLength = "cmis:contentStreamLength";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:contentStreamMimeType</c>: MIME type of
+        /// the content stream, if the document has content.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ContentStreamMimeType = "cmis:contentStreamMimeType";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:contentStreamFileName</c>: file name, if
+        /// the document has content.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ContentStreamFileName = "cmis:contentStreamFileName";
+
+        /// <summary>
+        /// CMIS document property <c>cmis:contentStreamId</c>: content stream ID.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ContentStreamId = "cmis:contentStreamId";
 
         // ---- folder ----
+
+        /// <summary>
+        /// CMIS folder property <c>cmis:parentId</c>: ID of the parent folder.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string ParentId = "cmis:parentId";
+
+        /// <summary>
+        /// CMIS folder property <c>cmis:allowedChildObjectTypeIds</c> (multivalue):
+        /// IDs of the types that can be filed in the folder.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string AllowedChildObjectTypeIds = "cmis:allowedChildObjectTypeIds";
+
+        /// <summary>
+        /// CMIS folder property <c>cmis:path</c>: folder path.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string Path = "cmis:path";
 
         // ---- relationship ----
+
+        /// <summary>
+        /// CMIS relationship property <c>cmis:sourceId</c>: ID of the source
+        /// object.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string SourceId = "cmis:sourceId";
+
+        /// <summary>
+        /// CMIS relationship property <c>cmis:targetId</c>: ID of the target
+        /// object.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string TargetId = "cmis:targetId";
 
         // ---- policy ----
+
+        /// <summary>
+        /// CMIS policy property <c>cmis:policyText</c>: policy text.
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>1.0</cmis>
         public const string PolicyText = "cmis:policyText";
 
         // ---- retention ----
+
+        /// <summary>
+        /// CMIS retention property <c>cmis:rm_expirationDate</c>: expiration date.
+        /// <para>
+        /// CMIS data type: datetime<br/>
+        /// C# type: DateTime
+        /// </para>
+        /// </summary> 
+        /// <cmis>1.1</cmis>
         public const string ExpirationDate = "cmis:rm_expirationDate";
+
+        /// <summary>
+        /// CMIS retention property <c>cmis:rm_startOfRetention</c>: start date.
+        /// <para>
+        /// CMIS data type: datetime<br/>
+        /// C# type: DateTime
+        /// </para>
+        /// </summary>
+        /// <cmis>1.1</cmis>
         public const string StartOfRetention = "cmis:rm_startOfRetention";
+
+        /// <summary>
+        /// CMIS retention property <c>cmis:rm_destructionDate</c>: destruction
+        /// date.
+        /// <para>
+        /// CMIS data type: datetime<br/>
+        /// C# type: DateTime
+        /// </para>
+        /// </summary> 
+        /// <cmis>1.1</cmis>
         public const string DestructionDate = "cmis:rm_destructionDate";
+
+        /// <summary>
+        /// CMIS retention property <c>cmis:rm_holdIds</c> (multivalue): IDs of the
+        /// holds that are applied.
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary> 
+        /// <cmis>1.1</cmis>
         public const string HoldIds = "cmis:rm_holdIds";
 
         // ---- extensions ----
+
+        /// <summary>
+        /// Content Hash property <c>cmis:contentStreamHash</c> (multivalue): hashes
+        /// of the content stream
+        /// <para>
+        /// CMIS data type: string<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>Extension</cmis>
         public const string ContentStreamHash = "cmis:contentStreamHash";
+
+        /// <summary>
+        /// Latest accessible state property <c>cmis:latestAccessibleStateId</c>: ID
+        /// of the latest accessible version of a document
+        /// <para>
+        /// CMIS data type: id<br/>
+        /// C# type: string
+        /// </para>
+        /// </summary>
+        /// <cmis>Extension</cmis>
+        public const string LatestAccessibleStateId = "cmis:latestAccessibleStateId";
     }
 }

Modified: chemistry/portcmis/trunk/PortCMIS/data/DataImpl.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/data/DataImpl.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/data/DataImpl.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/data/DataImpl.cs Thu Apr 21 16:29:04 2016
@@ -54,22 +54,79 @@ namespace PortCMIS.Data
             Extensions = source.Extensions;
         }
 
+        /// <inheritdoc/>
         public string Id { get; set; }
+
+        /// <inheritdoc/>
         public string Name { get; set; }
+
+        /// <inheritdoc/>
         public string Description { get; set; }
+
+        /// <inheritdoc/>
         public string VendorName { get; set; }
+
+        /// <inheritdoc/>
         public string ProductName { get; set; }
+
+        /// <inheritdoc/>
         public string ProductVersion { get; set; }
+
+        /// <inheritdoc/>
         public string RootFolderId { get; set; }
+
+        /// <inheritdoc/>
         public IRepositoryCapabilities Capabilities { get; set; }
+
+        /// <inheritdoc/>
         public IAclCapabilities AclCapabilities { get; set; }
+
+        /// <inheritdoc/>
         public string LatestChangeLogToken { get; set; }
+
+        /// <inheritdoc/>
         public string CmisVersionSupported { get; set; }
+
+        /// <inheritdoc/>
+        public CmisVersion CmisVersion
+        {
+            get
+            {
+                if (CmisVersionSupported == null)
+                {
+                    return CmisVersion.Cmis_1_0;
+                }
+                else
+                {
+                    CmisVersion? cmisVersion = CmisVersionSupported.GetCmisEnum<CmisVersion?>();
+                    if (cmisVersion == null)
+                    {
+                        return CmisVersion.Cmis_1_0;
+                    }
+                    else
+                    {
+                        return (CmisVersion)cmisVersion;
+                    }
+                }
+            }
+        }
+
+        /// <inheritdoc/>
         public string ThinClientUri { get; set; }
+
+        /// <inheritdoc/>
         public bool? ChangesIncomplete { get; set; }
+
+        /// <inheritdoc/>
         public IList<BaseTypeId?> ChangesOnType { get; set; }
+
+        /// <inheritdoc/>
         public string PrincipalIdAnonymous { get; set; }
+
+        /// <inheritdoc/>
         public string PrincipalIdAnyone { get; set; }
+
+        /// <inheritdoc/>
         public IList<IExtensionFeature> ExtensionFeatures { get; set; }
 
         public override string ToString()
@@ -78,76 +135,159 @@ namespace PortCMIS.Data
         }
     }
 
-    public class RepositoryCapabilities : ExtensionsData, IRepositoryCapabilities
+    internal class RepositoryCapabilities : ExtensionsData, IRepositoryCapabilities
     {
+        /// <inheritdoc/>
         public CapabilityContentStreamUpdates? ContentStreamUpdatesCapability { get; set; }
+
+        /// <inheritdoc/>
         public CapabilityChanges? ChangesCapability { get; set; }
+
+        /// <inheritdoc/>
         public CapabilityRenditions? RenditionsCapability { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsGetDescendantsSupported { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsGetFolderTreeSupported { get; set; }
+
+        /// <inheritdoc/>
         public CapabilityOrderBy? OrderByCapability { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsMultifilingSupported { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsUnfilingSupported { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsVersionSpecificFilingSupported { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsPwcSearchableSupported { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsPwcUpdatableSupported { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsAllVersionsSearchableSupported { get; set; }
+
+        /// <inheritdoc/>
         public CapabilityQuery? QueryCapability { get; set; }
+
+        /// <inheritdoc/>
         public CapabilityJoin? JoinCapability { get; set; }
+
+        /// <inheritdoc/>
         public CapabilityAcl? AclCapability { get; set; }
+
+        /// <inheritdoc/>
         public ICreatablePropertyTypes CreatablePropertyTypes { get; set; }
+
+        /// <inheritdoc/>
         public INewTypeSettableAttributes NewTypeSettableAttributes { get; set; }
     }
 
-    public class CreatablePropertyTypes : ExtensionsData, ICreatablePropertyTypes
+    internal class CreatablePropertyTypes : ExtensionsData, ICreatablePropertyTypes
     {
+        /// <inheritdoc/>
         public ISet<PropertyType> CanCreate { get; set; }
     }
 
-    public class NewTypeSettableAttributes : ExtensionsData, INewTypeSettableAttributes
+    internal class NewTypeSettableAttributes : ExtensionsData, INewTypeSettableAttributes
     {
+        /// <inheritdoc/>
         public bool? CanSetId { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetLocalName { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetLocalNamespace { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetDisplayName { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetQueryName { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetDescription { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetCreatable { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetFileable { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetQueryable { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetFulltextIndexed { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetIncludedInSupertypeQuery { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetControllablePolicy { get; set; }
+
+        /// <inheritdoc/>
         public bool? CanSetControllableAcl { get; set; }
     }
 
-    public class AclCapabilities : ExtensionsData, IAclCapabilities
+    internal class AclCapabilities : ExtensionsData, IAclCapabilities
     {
+        /// <inheritdoc/>
         public SupportedPermissions? SupportedPermissions { get; set; }
+
+        /// <inheritdoc/>
         public AclPropagation? AclPropagation { get; set; }
+
+        /// <inheritdoc/>
         public IList<IPermissionDefinition> Permissions { get; set; }
+
+        /// <inheritdoc/>
         public IDictionary<string, IPermissionMapping> PermissionMapping { get; set; }
     }
 
-    public class PermissionDefinition : ExtensionsData, IPermissionDefinition
+    internal class PermissionDefinition : ExtensionsData, IPermissionDefinition
     {
+        /// <inheritdoc/>
         public string Id { get; set; }
+
+        /// <inheritdoc/>
         public string Description { get; set; }
     }
 
-    public class PermissionMapping : ExtensionsData, IPermissionMapping
+    internal class PermissionMapping : ExtensionsData, IPermissionMapping
     {
+        /// <inheritdoc/>
         public string Key { get; set; }
+
+        /// <inheritdoc/>
         public IList<string> Permissions { get; set; }
     }
 
     public class ExtensionFeature : ExtensionsData, IExtensionFeature
     {
+        /// <inheritdoc/>
         public string Id { get; set; }
+
+        /// <inheritdoc/>
         public string Url { get; set; }
+
+        /// <inheritdoc/>
         public string CommonName { get; set; }
+
+        /// <inheritdoc/>
         public string VersionLabel { get; set; }
+
+        /// <inheritdoc/>
         public string Description { get; set; }
+
+        /// <inheritdoc/>
         public IDictionary<string, string> FeatureData { get; set; }
     }
 
@@ -284,86 +424,157 @@ namespace PortCMIS.Data
 
     public abstract class PropertyDefinition : ExtensionsData, IPropertyDefinition
     {
+        /// <inheritdoc/>
         public string Id { get; set; }
+
+        /// <inheritdoc/>
         public string LocalName { get; set; }
+
+        /// <inheritdoc/>
         public string LocalNamespace { get; set; }
+
+        /// <inheritdoc/>
         public string DisplayName { get; set; }
+
+        /// <inheritdoc/>
         public string QueryName { get; set; }
+
+        /// <inheritdoc/>
         public string Description { get; set; }
+
+        /// <inheritdoc/>
         public PropertyType PropertyType { get; set; }
+
+        /// <inheritdoc/>
         public Cardinality? Cardinality { get; set; }
+
+        /// <inheritdoc/>
         public Updatability? Updatability { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsInherited { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsRequired { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsQueryable { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsOrderable { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsOpenChoice { get; set; }
     }
 
     public class Choice<T> : IChoice<T>
     {
+        /// <inheritdoc/>
         public string DisplayName { get; set; }
+
+        /// <inheritdoc/>
         public IList<T> Value { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<T>> Choices { get; set; }
     }
 
     public class PropertyBooleanDefinition : PropertyDefinition, IPropertyBooleanDefinition
     {
+        /// <inheritdoc/>
         public IList<bool?> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<bool?>> Choices { get; set; }
     }
 
     public class PropertyDateTimeDefinition : PropertyDefinition, IPropertyDateTimeDefinition
     {
+        /// <inheritdoc/>
         public IList<DateTime?> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<DateTime?>> Choices { get; set; }
+
+        /// <inheritdoc/>
         public DateTimeResolution? DateTimeResolution { get; set; }
     }
 
     public class PropertyDecimalDefinition : PropertyDefinition, IPropertyDecimalDefinition
     {
+        /// <inheritdoc/>
         public IList<decimal?> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<decimal?>> Choices { get; set; }
+
+        /// <inheritdoc/>
         public decimal? MinValue { get; set; }
+
+        /// <inheritdoc/>
         public decimal? MaxValue { get; set; }
+
+        /// <inheritdoc/>
         public DecimalPrecision? Precision { get; set; }
     }
 
     public class PropertyHtmlDefinition : PropertyDefinition, IPropertyHtmlDefinition
     {
+        /// <inheritdoc/>
         public IList<string> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<string>> Choices { get; set; }
     }
 
     public class PropertyIdDefinition : PropertyDefinition, IPropertyIdDefinition
     {
+        /// <inheritdoc/>
         public IList<string> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<string>> Choices { get; set; }
     }
 
     public class PropertyIntegerDefinition : PropertyDefinition, IPropertyIntegerDefinition
     {
+        /// <inheritdoc/>
         public IList<BigInteger?> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<BigInteger?>> Choices { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? MinValue { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? MaxValue { get; set; }
     }
 
     public class PropertyStringDefinition : PropertyDefinition, IPropertyStringDefinition
     {
+        /// <inheritdoc/>
         public IList<string> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<string>> Choices { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? MaxLength { get; set; }
     }
 
     public class PropertyUriDefinition : PropertyDefinition, IPropertyUriDefinition
     {
+        /// <inheritdoc/>
         public IList<string> DefaultValue { get; set; }
+
+        /// <inheritdoc/>
         public IList<IChoice<string>> Choices { get; set; }
     }
 
     public class ObjectData : ExtensionsData, IObjectData
     {
+        /// <inheritdoc/>
         public string Id
         {
             get
@@ -371,6 +582,8 @@ namespace PortCMIS.Data
                 return GetFirstValue(PropertyIds.ObjectId) as string;
             }
         }
+
+        /// <inheritdoc/>
         public BaseTypeId? BaseTypeId
         {
             get
@@ -383,14 +596,32 @@ namespace PortCMIS.Data
                 return baseTypeId.GetCmisEnum<BaseTypeId>();
             }
         }
+
+        /// <inheritdoc/>
         public IProperties Properties { get; set; }
+
+        /// <inheritdoc/>
         public IAllowableActions AllowableActions { get; set; }
+
+        /// <inheritdoc/>
         public IList<IObjectData> Relationships { get; set; }
+
+        /// <inheritdoc/>
         public IChangeEventInfo ChangeEventInfo { get; set; }
+
+        /// <inheritdoc/>
         public IAcl Acl { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsExactAcl { get; set; }
+
+        /// <inheritdoc/>
         public IPolicyIdList PolicyIds { get; set; }
+
+        /// <inheritdoc/>
         public IList<IRenditionData> Renditions { get; set; }
+
+        /// <inheritdoc/>
         private object GetFirstValue(string id)
         {
             if (Properties == null) { return null; }
@@ -405,33 +636,52 @@ namespace PortCMIS.Data
 
     public class ObjectList : ExtensionsData, IObjectList
     {
+        /// <inheritdoc/>
         public IList<IObjectData> Objects { get; set; }
+
+        /// <inheritdoc/>
         public bool? HasMoreItems { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? NumItems { get; set; }
     }
 
     public class ObjectInFolderData : ExtensionsData, IObjectInFolderData
     {
+        /// <inheritdoc/>
         public IObjectData Object { get; set; }
+
+        /// <inheritdoc/>
         public string PathSegment { get; set; }
     }
 
     public class ObjectInFolderList : ExtensionsData, IObjectInFolderList
     {
+        /// <inheritdoc/>
         public IList<IObjectInFolderData> Objects { get; set; }
+
+        /// <inheritdoc/>
         public bool? HasMoreItems { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? NumItems { get; set; }
     }
 
     public class ObjectInFolderContainer : ExtensionsData, IObjectInFolderContainer
     {
+        /// <inheritdoc/>
         public IObjectInFolderData Object { get; set; }
+
+        /// <inheritdoc/>
         public IList<IObjectInFolderContainer> Children { get; set; }
     }
 
     public class ObjectParentData : ExtensionsData, IObjectParentData
     {
+        /// <inheritdoc/>
         public IObjectData Object { get; set; }
+
+        /// <inheritdoc/>
         public string RelativePathSegment { get; set; }
     }
 
@@ -439,6 +689,8 @@ namespace PortCMIS.Data
     {
         private List<IPropertyData> propertyList = new List<IPropertyData>();
         private Dictionary<string, IPropertyData> propertyDict = new Dictionary<string, IPropertyData>();
+
+        /// <inheritdoc/>
         public IPropertyData this[string propertyId]
         {
             get
@@ -448,6 +700,21 @@ namespace PortCMIS.Data
                 return property;
             }
         }
+
+        public Properties() { }
+
+        public Properties(IProperties properties)
+        {
+            if (properties == null)
+            {
+                throw new ArgumentNullException("properties");
+            }
+
+            AddProperties(properties.PropertyList);
+            Extensions = properties.Extensions;
+        }
+
+        /// <inheritdoc/>
         public IList<IPropertyData> PropertyList
         {
             get
@@ -455,6 +722,18 @@ namespace PortCMIS.Data
                 return propertyList;
             }
         }
+
+        protected void AddProperties(ICollection<IPropertyData> properties)
+        {
+            if (properties != null)
+            {
+                foreach (IPropertyData property in properties)
+                {
+                    AddProperty(property);
+                }
+            }
+        }
+
         public void AddProperty(IPropertyData property)
         {
             if (property == null)
@@ -467,6 +746,36 @@ namespace PortCMIS.Data
                 propertyDict[property.Id] = property;
             }
         }
+
+        public void ReplaceProperty(IPropertyData property)
+        {
+            if (property == null || property.Id == null)
+            {
+                return;
+            }
+
+            RemoveProperty(property.Id);
+
+            propertyList.Add(property);
+            propertyDict[property.Id] = property;
+        }
+
+        public void RemoveProperty(string id)
+        {
+            if (id == null)
+            {
+                return;
+            }
+
+            int idx = propertyList.FindIndex(pd => pd.Id == id);
+            if (idx > -1)
+            {
+                propertyList.RemoveAt(idx);
+            }
+
+            propertyDict.Remove(id);
+        }
+
         public override string ToString()
         {
             StringBuilder sb = new StringBuilder();
@@ -488,11 +797,22 @@ namespace PortCMIS.Data
         {
             PropertyType = propertyType;
         }
+        /// <inheritdoc/>
         public string Id { get; set; }
+
+        /// <inheritdoc/>
         public string LocalName { get; set; }
+
+        /// <inheritdoc/>
         public string DisplayName { get; set; }
+
+        /// <inheritdoc/>
         public string QueryName { get; set; }
+
+        /// <inheritdoc/>
         public PropertyType PropertyType { get; protected set; }
+
+        /// <inheritdoc/>
         public IList<object> Values
         {
             get { return values; }
@@ -512,6 +832,7 @@ namespace PortCMIS.Data
                 }
             }
         }
+        /// <inheritdoc/>
         public object FirstValue { get { return values == null || Values.Count < 1 ? null : values[0]; } }
 
         public void AddValue(object value)
@@ -596,28 +917,46 @@ namespace PortCMIS.Data
 
     public class Principal : ExtensionsData, IPrincipal
     {
+        /// <inheritdoc/>
         public string Id { get; set; }
     }
 
     public class Ace : ExtensionsData, IAce
     {
+        /// <inheritdoc/>
         public IPrincipal Principal { get; set; }
+
+        /// <inheritdoc/>
         public string PrincipalId { get { return Principal == null ? null : Principal.Id; } }
+
+        /// <inheritdoc/>
         public IList<string> Permissions { get; set; }
-        public bool? IsDirect { get; set; }
+
+        /// <inheritdoc/>
+        public bool IsDirect { get; set; }
     }
 
     public class Acl : ExtensionsData, IAcl
     {
+        /// <inheritdoc/>
         public IList<IAce> Aces { get; set; }
+
+        /// <inheritdoc/>
         public bool? IsExact { get; set; }
     }
 
     public class ContentStream : ExtensionsData, IContentStream
     {
+        /// <inheritdoc/>
         public BigInteger? Length { get; set; }
+
+        /// <inheritdoc/>
         public string MimeType { get; set; }
+
+        /// <inheritdoc/>
         public string FileName { get; set; }
+
+        /// <inheritdoc/>
         public Stream Stream { get; set; }
     }
 
@@ -627,34 +966,55 @@ namespace PortCMIS.Data
 
     public class AllowableActions : ExtensionsData, IAllowableActions
     {
+        /// <inheritdoc/>
         public ISet<PortCMIS.Enums.Action> Actions { get; set; }
     }
 
     public class RenditionData : ExtensionsData, IRenditionData
     {
+        /// <inheritdoc/>
         public string StreamId { get; set; }
+
+        /// <inheritdoc/>
         public string MimeType { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? Length { get; set; }
+
+        /// <inheritdoc/>
         public string Kind { get; set; }
+
+        /// <inheritdoc/>
         public string Title { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? Height { get; set; }
+
+        /// <inheritdoc/>
         public BigInteger? Width { get; set; }
+
+        /// <inheritdoc/>
         public string RenditionDocumentId { get; set; }
     }
 
     public class ChangeEventInfo : ExtensionsData, IChangeEventInfo
     {
+        /// <inheritdoc/>
         public ChangeType? ChangeType { get; set; }
+
+        /// <inheritdoc/>
         public DateTime? ChangeTime { get; set; }
     }
 
     public class PolicyIdList : ExtensionsData, IPolicyIdList
     {
+        /// <inheritdoc/>
         public IList<string> PolicyIds { get; set; }
     }
 
-    public class FailedToDeleteData : ExtensionsData, IFailedToDeleteData
+    internal class FailedToDeleteData : ExtensionsData, IFailedToDeleteData
     {
+        /// <inheritdoc/>
         public IList<string> Ids { get; set; }
     }
 
@@ -671,12 +1031,17 @@ namespace PortCMIS.Data
 
     public class BulkUpdateObjectIdAndChangeToken : ExtensionsData, IBulkUpdateObjectIdAndChangeToken
     {
+        /// <inheritdoc/>
         public string Id { get; set; }
+
+        /// <inheritdoc/>
         public string NewId { get; set; }
+
+        /// <inheritdoc/>
         public string ChangeToken { get; set; }
     }
 
-    public class BulkUpdate : ExtensionsData
+    internal class BulkUpdate : ExtensionsData
     {
         public IList<IBulkUpdateObjectIdAndChangeToken> ObjectIdAndChangeToken { get; set; }
         public Properties Properties { get; set; }

Modified: chemistry/portcmis/trunk/PortCMIS/data/DataIntf.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/data/DataIntf.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/data/DataIntf.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/data/DataIntf.cs Thu Apr 21 16:29:04 2016
@@ -28,22 +28,94 @@ namespace PortCMIS.Data
 {
     public interface IRepositoryInfo : IExtensionsData
     {
+        /// <value>
+        /// Repository ID.
+        /// </value>
         string Id { get; }
+
+        /// <value>
+        /// Repository Name.
+        /// </value>
         string Name { get; }
+
+        /// <value>
+        /// Repository description.
+        /// </value>
         string Description { get; }
+
+        /// <value>
+        /// Repository vendor.
+        /// </value>
         string VendorName { get; }
+
+        /// <value>
+        /// Repository product name.
+        /// </value>
         string ProductName { get; }
+
+        /// <value>
+        /// Repository product version.
+        /// </value>
         string ProductVersion { get; }
+
+        /// <value>
+        /// Root folder ID.
+        /// </value>
         string RootFolderId { get; }
+
+        /// <value>
+        /// Repository capabilities.
+        /// </value>
         IRepositoryCapabilities Capabilities { get; }
+
+        /// <value>
+        /// Repository ACL capabilities.
+        /// </value>
         IAclCapabilities AclCapabilities { get; }
+
+        /// <value>
+        /// Latest change log token.
+        /// </value>
         string LatestChangeLogToken { get; }
+
+        /// <value>
+        /// CMIS version (string).
+        /// </value>
         string CmisVersionSupported { get; }
+
+        /// <value>
+        /// CMIS version (enum).
+        /// </value>
+        CmisVersion CmisVersion { get; }
+
+        /// <value>
+        /// Repository thin client URI.
+        /// </value>
         string ThinClientUri { get; }
+
+        /// <value>
+        /// Changes incomplete flag.
+        /// </value>
         bool? ChangesIncomplete { get; }
+
+        /// <value>
+        /// List of changable base types.
+        /// </value>
         IList<BaseTypeId?> ChangesOnType { get; }
+
+        /// <value>
+        /// Principal ID of an anonymous user, if supported.
+        /// </value>
         string PrincipalIdAnonymous { get; }
+
+        /// <value>
+        /// Principal ID of an unauthenticated user, if supported.
+        /// </value>
         string PrincipalIdAnyone { get; }
+
+        /// <value>
+        /// List of extension features.
+        /// </value>
         IList<IExtensionFeature> ExtensionFeatures { get; }
     }
 
@@ -343,7 +415,7 @@ namespace PortCMIS.Data
         IPrincipal Principal { get; }
         string PrincipalId { get; }
         IList<string> Permissions { get; }
-        bool? IsDirect { get; }
+        bool IsDirect { get; }
     }
 
     public interface IAcl : IExtensionsData

Modified: chemistry/portcmis/trunk/PortCMIS/data/Extensions.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/data/Extensions.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/data/Extensions.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/data/Extensions.cs Thu Apr 21 16:29:04 2016
@@ -27,29 +27,61 @@ namespace PortCMIS.Data.Extensions
 {
     public interface ICmisExtensionElement
     {
+        /// <value>
+        /// Extension name.
+        /// </value>
         string Name { get; }
+
+        /// <value>
+        /// Extension name space.
+        /// </value>
         string Namespace { get; }
+
+        /// <value>
+        /// Extension value.
+        /// </value>
         string Value { get; }
+
+        /// <value>
+        /// Extension attributes.
+        /// </value>
         IDictionary<string, string> Attributes { get; }
+
+        /// <value>
+        /// Extension children.
+        /// </value>
         IList<ICmisExtensionElement> Children { get; }
     }
 
     public class CmisExtensionElement : ICmisExtensionElement
     {
+        /// <inheritdoc/>
         public string Name { get; set; }
+
+        /// <inheritdoc/>
         public string Namespace { get; set; }
+
+        /// <inheritdoc/>
         public string Value { get; set; }
+
+        /// <inheritdoc/>
         public IDictionary<string, string> Attributes { get; set; }
+
+        /// <inheritdoc/>
         public IList<ICmisExtensionElement> Children { get; set; }
     }
 
     public interface IExtensionsData
     {
+        /// <value>
+        /// List of extensions.
+        /// </value>
         IList<ICmisExtensionElement> Extensions { get; set; }
     }
 
     public class ExtensionsData : IExtensionsData
     {
+        /// <inheritdoc/>
         public IList<ICmisExtensionElement> Extensions { get; set; }
     }
 }

Modified: chemistry/portcmis/trunk/PortCMIS/enum/Enums.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/enum/Enums.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/enum/Enums.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/enum/Enums.cs Thu Apr 21 16:29:04 2016
@@ -23,22 +23,46 @@ using System.Reflection;
 
 namespace PortCMIS.Enums
 {
+    /// <summary>
+    /// Base Type ID.
+    /// </summary>
     public enum BaseTypeId
     {
+        /// <summary>
+        /// CMIS Document Type.
+        /// </summary>
         [CmisValue("cmis:document")]
         CmisDocument,
+        /// <summary>
+        /// CMIS Folder Type.
+        /// </summary>
         [CmisValue("cmis:folder")]
         CmisFolder,
+        /// <summary>
+        /// CMIS Relationship Type.
+        /// </summary>
         [CmisValue("cmis:relationship")]
         CmisRelationship,
+        /// <summary>
+        /// CMIS Policy Type.
+        /// </summary>
         [CmisValue("cmis:policy")]
         CmisPolicy,
+        /// <summary>
+        /// CMIS Item Type.
+        /// </summary>
         [CmisValue("cmis:item")]
         CmisItem,
+        /// <summary>
+        /// CMIS Secondary Type.
+        /// </summary>
         [CmisValue("cmis:secondary")]
         CmisSecondary
     }
 
+    /// <summary>
+    /// Repository Capability: Content Stream Updates
+    /// </summary>
     public enum CapabilityContentStreamUpdates
     {
         [CmisValue("anytime")]
@@ -49,6 +73,9 @@ namespace PortCMIS.Enums
         None
     }
 
+    /// <summary>
+    /// Repository Capability: Content Changes.
+    /// </summary>
     public enum CapabilityChanges
     {
         [CmisValue("none")]
@@ -61,6 +88,9 @@ namespace PortCMIS.Enums
         All
     }
 
+    /// <summary>
+    /// Repository Capability: Renditions.
+    /// </summary>
     public enum CapabilityRenditions
     {
         [CmisValue("none")]
@@ -69,6 +99,9 @@ namespace PortCMIS.Enums
         Read
     }
 
+    /// <summary>
+    /// Repository Capability: Query.
+    /// </summary>
     public enum CapabilityQuery
     {
         [CmisValue("none")]
@@ -83,6 +116,9 @@ namespace PortCMIS.Enums
         BothCombined
     }
 
+    /// <summary>
+    /// Repository Capability: Query Joins.
+    /// </summary>
     public enum CapabilityJoin
     {
         [CmisValue("none")]
@@ -93,6 +129,9 @@ namespace PortCMIS.Enums
         InnerAndOuter
     }
 
+    /// <summary>
+    /// Repository Capability: ACL.
+    /// </summary>
     public enum CapabilityAcl
     {
         [CmisValue("none")]
@@ -103,6 +142,9 @@ namespace PortCMIS.Enums
         Manage
     }
 
+    /// <summary>
+    /// Repository Capability: Order by.
+    /// </summary>
     public enum CapabilityOrderBy
     {
         [CmisValue("none")]
@@ -113,16 +155,31 @@ namespace PortCMIS.Enums
         Custom
     }
 
+    /// <summary>
+    /// Supported Permissions.
+    /// </summary>
     public enum SupportedPermissions
     {
+        /// <summary>
+        /// Basic permissions.
+        /// </summary>
         [CmisValue("basic")]
         Basic,
+        /// <summary>
+        /// Repository specific permissions.
+        /// </summary>
         [CmisValue("repository")]
         Repository,
+        /// <summary>
+        /// Basic and repository specific permissions.
+        /// </summary>
         [CmisValue("both")]
         Both
     }
 
+    /// <summary>
+    /// ACL Propagation flag.
+    /// </summary>
     public enum AclPropagation
     {
         [CmisValue("repositorydetermined")]
@@ -133,6 +190,9 @@ namespace PortCMIS.Enums
         Propagate
     }
 
+    /// <summary>
+    /// Content Stream Allowed flag.
+    /// </summary>
     public enum ContentStreamAllowed
     {
         [CmisValue("notallowed")]
@@ -143,6 +203,9 @@ namespace PortCMIS.Enums
         Required
     }
 
+    /// <summary>
+    /// Property Data Type.
+    /// </summary>
     public enum PropertyType
     {
         [CmisValue("boolean")]
@@ -163,26 +226,53 @@ namespace PortCMIS.Enums
         Uri
     }
 
+    /// <summary>
+    /// Property Cardinality.
+    /// </summary>
     public enum Cardinality
     {
+        /// <summary>
+        /// Single value property.
+        /// </summary>
         [CmisValue("single")]
         Single,
+        /// <summary>
+        /// Multivalue property.
+        /// </summary>
         [CmisValue("multi")]
         Multi
     }
 
+    /// <summary>
+    /// Property Updatability.
+    /// </summary>
     public enum Updatability
     {
+        /// <summary>
+        /// Read-only property set by repository.
+        /// </summary>
         [CmisValue("readonly")]
         ReadOnly,
+        /// <summary>
+        /// Read-write property.
+        /// </summary>
         [CmisValue("readwrite")]
         ReadWrite,
+        /// <summary>
+        /// Property that can only be set if the document is checked out.
+        /// </summary>
         [CmisValue("whencheckedout")]
         WhenCheckedOut,
+        /// <summary>
+        /// Property that can only be set at object creation.
+        /// </summary>
         [CmisValue("oncreate")]
         OnCreate
     }
 
+    /// <summary>
+    /// DateTime Property Resolution.
+    /// </summary>
     public enum DateTimeResolution
     {
         [CmisValue("year")]
@@ -193,6 +283,9 @@ namespace PortCMIS.Enums
         Time
     }
 
+    /// <summary>
+    /// Decimal Property Precision.
+    /// </summary>
     public enum DecimalPrecision
     {
         [CmisValue("32")]
@@ -201,6 +294,9 @@ namespace PortCMIS.Enums
         Bits64
     }
 
+    /// <summary>
+    /// Include Relationships flag.
+    /// </summary>
     public enum IncludeRelationships
     {
         [CmisValue("none")]
@@ -213,6 +309,9 @@ namespace PortCMIS.Enums
         Both
     }
 
+    /// <summary>
+    /// Versioning State flag.
+    /// </summary>
     public enum VersioningState
     {
         [CmisValue("none")]
@@ -225,6 +324,9 @@ namespace PortCMIS.Enums
         CheckedOut
     }
 
+    /// <summary>
+    /// Unfile Object flag.
+    /// </summary>
     public enum UnfileObject
     {
         [CmisValue("unfile")]
@@ -235,6 +337,9 @@ namespace PortCMIS.Enums
         Delete
     }
 
+    /// <summary>
+    /// Relationship Direction flag.
+    /// </summary>
     public enum RelationshipDirection
     {
         [CmisValue("source")]
@@ -245,36 +350,75 @@ namespace PortCMIS.Enums
         Either
     }
 
+    /// <summary>
+    /// Return Version flag.
+    /// </summary>
     public enum ReturnVersion
     {
+        /// <summary>
+        /// Return this version.
+        /// </summary>
         [CmisValue("this")]
         This,
+        /// <summary>
+        /// Return latest version.
+        /// </summary>
         [CmisValue("latest")]
         Latest,
+        /// <summary>
+        /// Return latest major version.
+        /// </summary>
         [CmisValue("latestmajor")]
         LatestMajor
     }
 
+    /// <summary>
+    /// Change Type in change logs.
+    /// </summary>
     public enum ChangeType
     {
+        /// <summary>
+        /// Object has been created.
+        /// </summary>
         [CmisValue("created")]
         Created,
+        /// <summary>
+        /// Object has been updated.
+        /// </summary>
         [CmisValue("updated")]
         Updated,
+        /// <summary>
+        /// Object has been deleted.
+        /// </summary>
         [CmisValue("deleted")]
         Deleted,
+        /// <summary>
+        /// Permissions (ACL, policies) have been changed.
+        /// </summary>
         [CmisValue("security")]
         Security
     }
 
+    /// <summary>
+    /// Browser Binding DateTime Format.
+    /// </summary>
     public enum DateTimeFormat
     {
+        /// <summary>
+        /// Simple format (milliseconds).
+        /// </summary>
         [CmisValue("simple")]
         Simple,
+        /// <summary>
+        /// Extended format (ISO format).
+        /// </summary>
         [CmisValue("extended")]
         Extended
     }
 
+    /// <summary>
+    /// Allowable Actions.
+    /// </summary>
     public enum Action
     {
         [CmisValue("canDeleteObject")]
@@ -339,10 +483,19 @@ namespace PortCMIS.Enums
         CanApplyAcl
     }
 
+    /// <summary>
+    /// CMIS Version.
+    /// </summary>
     public enum CmisVersion
     {
+        /// <summary>
+        /// CMIS 1.0
+        /// </summary>
         [CmisValue("1.0")]
         Cmis_1_0,
+        /// <summary>
+        /// CMIS 1.1
+        /// </summary>
         [CmisValue("1.1")]
         Cmis_1_1
     }
@@ -363,6 +516,9 @@ namespace PortCMIS.Enums
         }
     }
 
+    /// <summary>
+    /// Handles translations from Enums into CMIS values and vice versa.
+    /// </summary>
     public static class CmisValue
     {
         public static string GetCmisValue(this Enum value)

Modified: chemistry/portcmis/trunk/PortCMIS/exceptions/Exceptions.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/exceptions/Exceptions.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/exceptions/Exceptions.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/exceptions/Exceptions.cs Thu Apr 21 16:29:04 2016
@@ -26,30 +26,82 @@ namespace PortCMIS.Exceptions
     /// </summary>
     public abstract class CmisBaseException : Exception
     {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
         public CmisBaseException() : base() { Code = null; }
+
+        /// <summary>
+        /// Constructor.
+        /// <param name="message">The exception message.</param>
+        /// </summary>
         public CmisBaseException(string message) : base(message) { Code = null; }
+
+        /// <summary>
+        /// Constructor.
+        /// <param name="message">The exception message.</param>
+        /// <param name="inner">The inner exception.</param>
+        /// </summary>
         public CmisBaseException(string message, Exception inner) : base(message, inner) { Code = null; }
+
+        /// <summary>
+        /// Constructor.
+        /// <param name="message">The exception message.</param>
+        /// <param name="code">The exception code. (Web Services only.)</param>
+        /// </summary>
         public CmisBaseException(string message, long? code)
             : this(message)
         {
             Code = code;
         }
+
+        /// <summary>
+        /// Constructor.
+        /// <param name="message">The exception message.</param>
+        /// <param name="errorContent">The error content</param>
+        /// </summary>
         public CmisBaseException(string message, string errorContent)
             : this(message)
         {
             ErrorContent = errorContent;
         }
+
+        /// <summary>
+        /// Constructor.
+        /// <param name="message">The exception message.</param>
+        /// <param name="errorContent">The error content</param>
+        /// <param name="inner">The inner exception.</param>
+        /// </summary>
         public CmisBaseException(string message, string errorContent, Exception inner)
             : this(message, inner)
         {
             ErrorContent = errorContent;
         }
+
+        /// <summary>
+        /// The exception code.
+        /// </summary>
+        /// <remarks>Only used by the Web Services binding.</remarks>
+        /// <value>The exception code.</value>
         public long? Code { get; protected set; }
+
+        /// <summary>
+        /// The unparsed error message.
+        /// </summary>
+        /// <value>The unparsed error message.</value>
         public string ErrorContent { get; protected set; }
 
-        public abstract string GetExtensionName();
+        /// <summary>
+        /// The CMIS exception name.
+        /// </summary>
+        /// <value>The CMIS exception name.</value>
+        public abstract string Name { get; }
+
     }
 
+    /// <summary>
+    /// Connection exception.
+    /// </summary>
     public class CmisConnectionException : CmisBaseException
     {
         public CmisConnectionException() : base() { }
@@ -61,12 +113,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "connection";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Constraint exception.
+    /// </summary>
     public class CmisConstraintException : CmisBaseException
     {
         public CmisConstraintException() : base() { }
@@ -78,12 +130,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "constraint";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Content Already Exists exception.
+    /// </summary>
     public class CmisContentAlreadyExistsException : CmisBaseException
     {
         public CmisContentAlreadyExistsException() : base() { }
@@ -95,12 +147,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "contentAlreadyExists";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Filter Not Valid exception.
+    /// </summary>
     public class CmisFilterNotValidException : CmisBaseException
     {
         public CmisFilterNotValidException() : base() { }
@@ -112,12 +164,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "filterNotValid";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Invalid Argument exception.
+    /// </summary>
     public class CmisInvalidArgumentException : CmisBaseException
     {
         public CmisInvalidArgumentException() : base() { }
@@ -129,12 +181,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "invalidArgument";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Name Constraint Violation exception.
+    /// </summary>
     public class CmisNameConstraintViolationException : CmisBaseException
     {
         public CmisNameConstraintViolationException() : base() { }
@@ -146,12 +198,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "nameConstraintViolation";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Not Supported exception.
+    /// </summary>
     public class CmisNotSupportedException : CmisBaseException
     {
         public CmisNotSupportedException() : base() { }
@@ -163,12 +215,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "notSupported";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Object Not Found exception.
+    /// </summary>
     public class CmisObjectNotFoundException : CmisBaseException
     {
         public CmisObjectNotFoundException() : base() { }
@@ -180,12 +232,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "objectNotFound";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Permission Denied exception.
+    /// </summary>
     public class CmisPermissionDeniedException : CmisBaseException
     {
         public CmisPermissionDeniedException() : base() { }
@@ -197,12 +249,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "permissionDenied";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Runtime exception.
+    /// </summary>
     public class CmisRuntimeException : CmisBaseException
     {
         public CmisRuntimeException() : base() { }
@@ -214,12 +266,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "runtime";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Storage exception.
+    /// </summary>
     public class CmisStorageException : CmisBaseException
     {
         public CmisStorageException() : base() { }
@@ -231,12 +283,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "storage";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Stream Not Supported exception.
+    /// </summary>
     public class CmisStreamNotSupportedException : CmisBaseException
     {
         public CmisStreamNotSupportedException() : base() { }
@@ -248,12 +300,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "streamNotSupported";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Update Conflict exception.
+    /// </summary>
     public class CmisUpdateConflictException : CmisBaseException
     {
         public CmisUpdateConflictException() : base() { }
@@ -265,12 +317,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "updateConflict";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Versioning exception.
+    /// </summary>
     public class CmisVersioningException : CmisBaseException
     {
         public CmisVersioningException() : base() { }
@@ -282,12 +334,12 @@ namespace PortCMIS.Exceptions
 
         public const string ExceptionName = "versioning";
 
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
+        public override string Name { get { return ExceptionName; } }
     }
 
+    /// <summary>
+    /// Unauthorized exception.
+    /// </summary>
     public class CmisUnauthorizedException : CmisRuntimeException
     {
         public CmisUnauthorizedException() : base() { }
@@ -296,13 +348,11 @@ namespace PortCMIS.Exceptions
         public CmisUnauthorizedException(string message, long? code) : base(message) { }
         public CmisUnauthorizedException(string message, string errorContent) : base(message) { }
         public CmisUnauthorizedException(string message, string errorContent, Exception inner) : base(message, errorContent, inner) { }
-
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
     }
 
+    /// <summary>
+    /// Proxy Authentication exception.
+    /// </summary>
     public class CmisProxyAuthenticationException : CmisRuntimeException
     {
         public CmisProxyAuthenticationException() : base() { }
@@ -311,13 +361,11 @@ namespace PortCMIS.Exceptions
         public CmisProxyAuthenticationException(string message, long? code) : base(message) { }
         public CmisProxyAuthenticationException(string message, string errorContent) : base(message) { }
         public CmisProxyAuthenticationException(string message, string errorContent, Exception inner) : base(message, errorContent, inner) { }
-
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
     }
 
+    /// <summary>
+    /// Service Unavailable exception.
+    /// </summary>
     public class CmisServiceUnavailableException : CmisRuntimeException
     {
         public CmisServiceUnavailableException() : base() { }
@@ -326,13 +374,11 @@ namespace PortCMIS.Exceptions
         public CmisServiceUnavailableException(string message, long? code) : base(message) { }
         public CmisServiceUnavailableException(string message, string errorContent) : base(message) { }
         public CmisServiceUnavailableException(string message, string errorContent, Exception inner) : base(message, errorContent, inner) { }
-
-        public override string GetExtensionName()
-        {
-            return ExceptionName;
-        }
     }
 
+    /// <summary>
+    /// Invalid Server Data exception.
+    /// </summary>
     public class CmisInvalidServerData : InvalidOperationException
     {
         public CmisInvalidServerData() : base() { }

Modified: chemistry/portcmis/trunk/PortCMIS/utils/Logger.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/utils/Logger.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/utils/Logger.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/utils/Logger.cs Thu Apr 21 16:29:04 2016
@@ -24,7 +24,7 @@ using System.Text;
 namespace PortCMIS.Utils
 {
     /// <summary>
-    /// Simplistic logginh.
+    /// Simplistic logging.
     /// </summary>
     public class Logger
     {
@@ -34,15 +34,21 @@ namespace PortCMIS.Utils
             Error, Warn, Info, Debug, Trace
         }
 
+        /// <value>the log level</value>
         public static LogLevel Level { get; set; }
         public static bool ToDebug { get; set; }
         public static bool ToWriter { get; set; }
         public static TextWriter Writer { private get; set; }
 
+        /// <value>Is the error log level enabled?</value>
         public static bool IsErrorEnabled { get { return true; } }
+        /// <value>Is the warn log level enabled?</value>
         public static bool IsWarnEnabled { get { return Level == LogLevel.Warn || Level == LogLevel.Info || Level == LogLevel.Debug || Level == LogLevel.Trace; } }
+        /// <value>Is the info log level enabled?</value>
         public static bool IsInfoEnabled { get { return Level == LogLevel.Info || Level == LogLevel.Debug || Level == LogLevel.Trace; } }
+        /// <value>Is the debug log level enabled?</value>
         public static bool IsDebugEnabled { get { return Level == LogLevel.Debug || Level == LogLevel.Trace; } }
+        /// <value>Is the trace log level enabled?</value>
         public static bool IsTraceEnabled { get { return Level == LogLevel.Trace; } }
 
         static Logger()
@@ -58,6 +64,11 @@ namespace PortCMIS.Utils
 
         private static object loggerLock = new object();
 
+        /// <summary>
+        /// Logs an error message.
+        /// </summary>
+        /// <param name="message">the message</param>
+        /// <param name="e">the exception</param>
         public static void Error(string message, Exception e = null)
         {
             lock (loggerLock)
@@ -66,6 +77,11 @@ namespace PortCMIS.Utils
             }
         }
 
+        /// <summary>
+        /// Logs a warn message.
+        /// </summary>
+        /// <param name="message">the message</param>
+        /// <param name="e">the exception</param>
         public static void Warn(string message, Exception e = null)
         {
             lock (loggerLock)
@@ -77,6 +93,11 @@ namespace PortCMIS.Utils
             }
         }
 
+        /// <summary>
+        /// Logs an info message.
+        /// </summary>
+        /// <param name="message">the message</param>
+        /// <param name="e">the exception</param>
         public static void Info(string message, Exception e = null)
         {
             lock (loggerLock)
@@ -88,6 +109,11 @@ namespace PortCMIS.Utils
             }
         }
 
+        /// <summary>
+        /// Logs a debug message.
+        /// </summary>
+        /// <param name="message">the message</param>
+        /// <param name="e">the exception</param>
         public static void Debug(string message, Exception e = null)
         {
             lock (loggerLock)
@@ -99,6 +125,11 @@ namespace PortCMIS.Utils
             }
         }
 
+        /// <summary>
+        /// Logs a trace message.
+        /// </summary>
+        /// <param name="message">the message</param>
+        /// <param name="e">the exception</param>
         public static void Trace(string message, Exception e = null)
         {
             lock (loggerLock)
@@ -145,6 +176,5 @@ namespace PortCMIS.Utils
                 Writer.Flush();
             }
         }
-
     }
 }

Modified: chemistry/portcmis/trunk/PortCMISTests/framework/DefaultTestValues.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMISTests/framework/DefaultTestValues.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMISTests/framework/DefaultTestValues.cs (original)
+++ chemistry/portcmis/trunk/PortCMISTests/framework/DefaultTestValues.cs Thu Apr 21 16:29:04 2016
@@ -37,6 +37,7 @@ namespace PortCMISTests.Framework
         {
             {SessionParameter.BindingType , BindingType.Browser},
             {SessionParameter.BrowserUrl , "http://localhost:8080/inmemory/browser"},
+            {SessionParameter.AtomPubUrl , "http://localhost:8080/inmemory/atom11"},
             {SessionParameter.RepositoryId , "A1"},
             {SessionParameter.User , "user"},
             {SessionParameter.Password , "password"}

Modified: chemistry/portcmis/trunk/PortCMISWin/binding/WindowsHttp.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMISWin/binding/WindowsHttp.cs?rev=1740350&r1=1740349&r2=1740350&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMISWin/binding/WindowsHttp.cs (original)
+++ chemistry/portcmis/trunk/PortCMISWin/binding/WindowsHttp.cs Thu Apr 21 16:29:04 2016
@@ -61,7 +61,7 @@ namespace PortCMIS.Binding.Http
             return Invoke(url, HttpMethod.Put, content, session, null, null, headers);
         }
 
-        public IResponse InvokeDelete(UrlBuilder url, IBindingSession session)
+        public IResponse InvokeDELETE(UrlBuilder url, IBindingSession session)
         {
             return Invoke(url, HttpMethod.Delete, null, session, null, null, null);
         }
@@ -97,7 +97,7 @@ namespace PortCMIS.Binding.Http
                             httpClientFilter.AutomaticDecompression = true;
                         }
 
-                        // authentictaion
+                        // authentication
                         httpClientFilter.AllowUI = false;
 
                         // authentication provider



Mime
View raw message