See: Description
| Interface | Description |
|---|---|
| DriveManager |
Defines a
DriveManager to perform operations on digital assets. |
Provides the interface to perform actions on digital assets contained in a drive.
Get an instance of DriveManager:
//Provide DriveContext with the information referring to a specific drive.
DriveContext driveContext = new DriveContext(
this.userDataset,
this.table,
this.mediaPath,
this.session);
DriveFactory driveFactory = DriveFactoryProvider.getDriveFactory();
DriveManager driveManager = driveFactory.getDriveManager(driveContext);
Actions: create, update, delete and download digital asset:
//Create a new DigitalAsset
File uploadFile = new File("sampleFile.png");
FileResource fileResource = new FileResource(uploadFile);
DigitalAssetSpec digitalAssetSpec = new DigitalAssetSpec(fileResource);
digitalAssetSpec.setLabel(UserMessage.createInfo("new label"));
digitalAssetSpec.setDescription(UserMessage.createInfo("new description"));
DigitalAsset newAsset = driveManager.create(digitalAssetSpec);
//Update a digital asset
newAsset.setState(DigitalAssetState.DEACTIVATED);
newAsset.setLabel(UserMessage.createInfo("updated label"));
newAsset.setDescription(UserMessage.createInfo("updated label"));
driveManager.update(newAsset);
//Delete a digital asset
driveManager.delete(newAsset.getKey());
//Download asset - current version of asset
MediaContent mediaContent = driveManager.getMediaContent(newAsset);
mediaContent.getInputStream();
mediaContent.getContentLength();
Actions: create, update, delete and download digital asset version:
//Create a new version for a digital asset
DigitalAssetKey assetKey = new DigitalAssetKey(PrimaryKey.parseString("assetKey"));
File uploadFile = new File("sampleFile.png");
FileResource fileResource = new FileResource(uploadFile);
DigitalAssetVersionSpec versionSpec = new DigitalAssetVersionSpec(assetKey, fileResource);
versionSpec.setCurrentVersion(true);
versionSpec.setComment("comment");
versionSpec.setVersionName("versionName");
DigitalAssetVersion newVersion = driveManager.create(versionSpec);
//Update a version
newVersion.setComment("new comment");
newVersion.setVersionName("new version name");
driveManager.update(newVersion);
//Delete a version
driveManager.delete(newVersion.getKey());
//Download version
MediaContent mediaContent = driveManager.getMediaContent(newVersion);
mediaContent.getInputStream();
mediaContent.getContentLength();
Browsing digital assets in a drive:
//Create a new instance of SearchFilter to search digital asset
SearchFilter searchFilter = new SearchFilter();
searchFilter.setKeyword("anAssetName");
searchFilter.setExtension("png");
searchFilter.setType("image");
//Filter by creation and updated DateRange
DateRange creationDateRange = new DateRange();
DateRange updatedDateRange = new DateRange();
searchFilter.setCreationDateRange(creationDateRange);
searchFilter.setUpdateDateRange(updatedDateRange);
//Filter by tags
List<String> tags = new ArrayList<String>();
tags.add("tag");
searchFilter.setTags(tags);
//Result of filter will be sorted by SortBy
SortCriteria creationDateSort = new SortCriteria(SortBy.CREATION_DATE, true);
SortCriteria physicalNameSort = new SortCriteria(SortBy.PHYSICAL_NAME, true);
List<SortCriteria> sortCriterias = new ArrayList<SortCriteria>();
sortCriterias.add(physicalNameSort);
sortCriterias.add(creationDateSort);
searchFilter.setSortCriterias(sortCriterias);
//Search digital asset by 'searchFilter'
List<DigitalAsset> digitalAssets = driveManager.search(searchFilter);
//Get all active digital assets in Drive
List<DigitalAsset> digitalAssetsInDrive = driveManager.getDigitalAssets();
//Look up asset by DigitalAssetKey
DigitalAssetKey assetKey = new DigitalAssetKey(PrimaryKey.parseString("assetKey"));
DigitalAsset digitalAsset = driveManager.getDigitalAsset(assetKey);