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
