import org.apache.commons.lang.StringUtils; //导入方法依赖的package包/类
/**
* Add a new collection to the location (site) indicated
*
* @param title the title for this collection
* @param locationId the unique id of the location to place this collection in
* @return the newly created media collection
* @throws IllegalArgumentException if the params are invalid
* @throws SecurityException if the user does not have permissions
*/
public MediaCollection addCollection(String title, String locationId) {
if (locationId == null) {
locationId = external.getCurrentLocationId();
}
if (StringUtils.isBlank(locationId)) {
throw new IllegalArgumentException("location must be set");
}
String ownerId = checkPermOrException(ExternalLogic.PERM_ADMIN, locationId);
if (StringUtils.isBlank(ownerId)) {
throw new IllegalArgumentException("ownerId must be set");
}
if (StringUtils.isBlank(title)) {
throw new IllegalArgumentException("title must be set");
}
if (log.isDebugEnabled()) log.debug("addCollection(title=" + title + ", locationId=" + locationId + ")");
title = StringUtils.abbreviate(title, 250); // max length 255
MediaCollection mc = new MediaCollection(title, null, "1", null);
Map metadata = mc.extractMetadataMap();
KalturaCategory siteCat = kalturaAPIService.getSiteCategory(locationId);
KalturaPlaylist kp = kalturaAPIService.getOrAddKalturaPlaylist(siteCat.id, title, metadata);
mc = new MediaCollection(kp, locationId, metadata);
mc.setItems( new ArrayList(0) );
log.info("User ("+external.getCurrentUserId()+") added collection ("+mc.getId()+", "+mc.getTitle()+") to location ("+mc.getLocationId()+"): " + mc);
return mc;
}