/// <summary>
        /// Initialize a new <see cref="S3ListItem" />
        /// </summary>
        /// <param name="provider">Associated <see cref="S3Provider"/></param>
        /// <param name="session">Current <see cref="T:Tridion.ExternalContentLibrary.V2.IEclSession"/></param>
        /// <param name="parentUri"><see cref="Tridion.ExternalContentLibrary.V2.IEclUri" /></param>
        /// <param name="eclObject"><see cref="Amazon.S3.Model.S3Object"/></param>
        /// <remarks>Creating a <see cref="S3ListItem" /> directly from an <see cref="T:S3ECLProvider.API.S3ItemData"/></remarks>
        public S3ListItem(S3Provider provider, IEclSession session, IEclUri parentUri, S3ItemData eclObject)
        {
            Provider = provider;
            Session  = session;
            ParentId = parentUri;

            _itemData = eclObject;
            Id        = provider.GetUri(_itemData, parentUri);
        }
        /// <summary>
        /// Initialize a new <see cref="S3ListItem" /> in a given context
        /// </summary>
        /// <param name="item"><see cref="S3ListItem"/> to create a shallow clone from</param>
        public S3ListItem(S3ListItem item, IEclUri contextUri)
        {
            Provider = item.Provider;
            Session  = item.Session;
            ParentId = item.ParentId;

            _itemData = item._itemData;

            Id = item.Id.GetInPublication(contextUri.PublicationId);
        }
Example #3
0
        /// <summary>
        /// Gets the <see cref="T:Tridion.ExternalContentLibrary.V2.IEclUri" /> for an <paramref name="item"/>
        /// </summary>
        /// <param name="item"><see cref="T:S3ECLProvider.API.S3ItemData"/>.</param>
        /// <param name="contextUri"><see cref="T:Tridion.ExternalContentLibrary.V2.IEclUri" /></param>
        /// <returns><see cref="T:Tridion.ExternalContentLibrary.V2.IEclUri" />s</returns>
        public IEclUri GetUri(S3ItemData item, IEclUri contextUri)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            return(_hostServices.CreateEclUri(
                       contextUri.PublicationId,
                       contextUri.MountPointId,
                       item.EclKey,
                       item.ItemType == S3ItemType.Folder ? Constants.S3_FOLDER_ID : Constants.S3_FILE_ID,
                       item.ItemType == S3ItemType.Folder ? EclItemTypes.Folder : EclItemTypes.File));
        }
        /// <summary>
        /// Initialize a new <see cref="S3ListItem" />
        /// </summary>
        /// <param name="provider">Associated <see cref="S3Provider"/></param>
        /// <param name="session">Current <see cref="T:Tridion.ExternalContentLibrary.V2.IEclSession"/></param>
        /// <param name="uri"><see cref="Tridion.ExternalContentLibrary.V2.IEclUri" /></param>
        public S3ListItem(S3Provider provider, IEclSession session, IEclUri uri)
        {
            Provider = provider;
            Session  = session;
            ParentId = provider.GetParentUri(uri);

            if (uri.ItemType == EclItemTypes.Folder)
            {
                _itemData = provider.S3.GetFolder(uri.ItemId);
            }
            else
            {
                _itemData = provider.S3.GetObject(uri.ItemId);
            }

            Id = provider.GetUri(_itemData, uri);
        }
Example #5
0
 /// <summary>
 /// Initialize a new <see cref="S3Folder" />
 /// </summary>
 /// <param name="provider">Associated <see cref="S3Provider"/></param>
 /// <param name="session">Current <see cref="T:Tridion.ExternalContentLibrary.V2.IEclSession"/></param>
 /// <param name="parentUri">Parent <see cref="T:Tridion.ExternalContentLibrary.V2.IEclUri" /></param>
 /// <param name="eclObject"><see cref="T:S3ECLProvider.API.S3ItemData"/></param>
 /// <remarks>Creating a <see cref="S3Folder" /> directly from an <see cref="Amazon.S3.Model.S3Object"/></remarks>
 public S3Folder(S3Provider provider, IEclSession session, IEclUri parentUri, S3ItemData eclObject) : base(provider, session, parentUri, eclObject)
 {
 }