use of org.opencastproject.matterhorn.search.impl.SearchMetadataCollection in project opencast by opencast.
the class EventIndexUtils method toSearchMetadata.
/**
* Creates search metadata from a recording event such that the event can be stored in the search index.
*
* @param event
* the recording event
* @return the set of metadata
*/
public static SearchMetadataCollection toSearchMetadata(Event event) {
SearchMetadataCollection metadata = new SearchMetadataCollection(event.getIdentifier().concat(event.getOrganization()), Event.DOCUMENT_TYPE);
metadata.addField(EventIndexSchema.UID, event.getIdentifier(), true);
metadata.addField(EventIndexSchema.ORGANIZATION, event.getOrganization(), false);
metadata.addField(EventIndexSchema.OBJECT, event.toXML(), false);
if (StringUtils.isNotBlank(event.getTitle()))
metadata.addField(EventIndexSchema.TITLE, event.getTitle(), true);
if (StringUtils.isNotBlank(event.getDescription()))
metadata.addField(EventIndexSchema.DESCRIPTION, event.getDescription(), true);
if (StringUtils.isNotBlank(event.getLocation()))
metadata.addField(EventIndexSchema.LOCATION, event.getLocation(), true);
if (StringUtils.isNotBlank(event.getSeriesId()))
metadata.addField(EventIndexSchema.SERIES_ID, event.getSeriesId(), true);
if (StringUtils.isNotBlank(event.getSeriesName()))
metadata.addField(EventIndexSchema.SERIES_NAME, event.getSeriesName(), true);
if (StringUtils.isNotBlank(event.getLanguage()))
metadata.addField(EventIndexSchema.LANGUAGE, event.getLanguage(), true);
if (StringUtils.isNotBlank(event.getSubject()))
metadata.addField(EventIndexSchema.SUBJECT, event.getSubject(), true);
if (StringUtils.isNotBlank(event.getSource()))
metadata.addField(EventIndexSchema.SOURCE, event.getSource(), true);
if (StringUtils.isNotBlank(event.getCreated()))
metadata.addField(EventIndexSchema.CREATED, event.getCreated(), true);
if (StringUtils.isNotBlank(event.getCreator()))
metadata.addField(EventIndexSchema.CREATOR, event.getCreator(), true);
if (StringUtils.isNotBlank(event.getLicense()))
metadata.addField(EventIndexSchema.LICENSE, event.getLicense(), true);
if (StringUtils.isNotBlank(event.getRights()))
metadata.addField(EventIndexSchema.RIGHTS, event.getRights(), true);
if (StringUtils.isNotBlank(event.getManagedAcl()))
metadata.addField(EventIndexSchema.MANAGED_ACL, event.getManagedAcl(), true);
if (StringUtils.isNotBlank(event.getWorkflowState()))
metadata.addField(EventIndexSchema.WORKFLOW_STATE, event.getWorkflowState(), true);
if (event.getWorkflowId() != null)
metadata.addField(EventIndexSchema.WORKFLOW_ID, event.getWorkflowId(), true);
if (StringUtils.isNotBlank(event.getWorkflowDefinitionId()))
metadata.addField(EventIndexSchema.WORKFLOW_DEFINITION_ID, event.getWorkflowDefinitionId(), true);
if (StringUtils.isNotBlank(event.getRecordingStartDate()))
metadata.addField(EventIndexSchema.START_DATE, event.getRecordingStartDate(), true);
if (StringUtils.isNotBlank(event.getRecordingEndDate()))
metadata.addField(EventIndexSchema.END_DATE, event.getRecordingEndDate(), true);
if (event.getDuration() != null)
metadata.addField(EventIndexSchema.DURATION, event.getDuration(), true);
if (StringUtils.isNotBlank(event.getReviewStatus()))
metadata.addField(EventIndexSchema.REVIEW_STATUS, event.getReviewStatus(), true);
if (StringUtils.isNotBlank(event.getReviewDate()))
metadata.addField(EventIndexSchema.REVIEW_DATE, event.getReviewDate(), true);
if (StringUtils.isNotBlank(event.getWorkflowScheduledDate()))
metadata.addField(EventIndexSchema.WORKFLOW_SCHEDULED_DATETIME, event.getWorkflowScheduledDate(), true);
if (event.getArchiveVersion() != null)
metadata.addField(EventIndexSchema.ARCHIVE_VERSION, event.getArchiveVersion(), true);
if (event.getOptedOut() != null)
metadata.addField(EventIndexSchema.OPTED_OUT, event.getOptedOut(), true);
if (event.getBlacklisted() != null)
metadata.addField(EventIndexSchema.BLACKLISTED, event.getBlacklisted(), true);
if (event.getSchedulingStatus() != null)
metadata.addField(EventIndexSchema.SCHEDULING_STATUS, event.getSchedulingStatus(), true);
if (event.getRecordingStatus() != null)
metadata.addField(EventIndexSchema.RECORDING_STATUS, event.getRecordingStatus(), true);
metadata.addField(EventIndexSchema.EVENT_STATUS, event.getEventStatus(), true);
metadata.addField(EventIndexSchema.HAS_COMMENTS, event.hasComments(), true);
metadata.addField(EventIndexSchema.HAS_OPEN_COMMENTS, event.hasOpenComments(), true);
metadata.addField(EventIndexSchema.NEEDS_CUTTING, event.needsCutting(), true);
if (event.getPublications() != null) {
List<Publication> publications = event.getPublications();
HashMap<String, Object>[] publicationsArray = new HashMap[publications.size()];
for (int i = 0; i < publications.size(); i++) publicationsArray[i] = generatePublicationDoc(publications.get(i));
metadata.addField(EventIndexSchema.PUBLICATION, publicationsArray, true);
}
if (event.getPresenters() != null) {
List<String> presenters = event.getPresenters();
metadata.addField(EventIndexSchema.PRESENTER, presenters.toArray(new String[presenters.size()]), true);
}
if (event.getContributors() != null) {
List<String> contributors = event.getContributors();
metadata.addField(EventIndexSchema.CONTRIBUTOR, contributors.toArray(new String[contributors.size()]), true);
}
if (event.getTrackMimetypes() != null) {
List<String> trackMimetypes = event.getTrackMimetypes();
metadata.addField(EventIndexSchema.TRACK_MIMETYPE, trackMimetypes.toArray(new String[trackMimetypes.size()]), true);
}
if (event.getTrackStreamResolution() != null) {
List<String> trackStreamResolutions = event.getTrackStreamResolution();
metadata.addField(EventIndexSchema.TRACK_STREAM_RESOLUTION, trackStreamResolutions.toArray(new String[trackStreamResolutions.size()]), true);
}
if (event.getTrackFlavors() != null) {
List<String> trackFlavors = event.getTrackFlavors();
metadata.addField(EventIndexSchema.TRACK_FLAVOR, trackFlavors.toArray(new String[trackFlavors.size()]), true);
}
if (event.getMetadataFlavors() != null) {
List<String> metadataFlavors = event.getMetadataFlavors();
metadata.addField(EventIndexSchema.METADATA_FLAVOR, metadataFlavors.toArray(new String[metadataFlavors.size()]), true);
}
if (event.getMetadataMimetypes() != null) {
List<String> metadataMimetypes = event.getMetadataMimetypes();
metadata.addField(EventIndexSchema.METADATA_MIMETYPE, metadataMimetypes.toArray(new String[metadataMimetypes.size()]), true);
}
if (event.getAttachmentFlavors() != null) {
List<String> attachmentFlavors = event.getAttachmentFlavors();
metadata.addField(EventIndexSchema.ATTACHMENT_FLAVOR, attachmentFlavors.toArray(new String[attachmentFlavors.size()]), true);
}
if (StringUtils.isNotBlank(event.getAccessPolicy())) {
metadata.addField(EventIndexSchema.ACCESS_POLICY, event.getAccessPolicy(), true);
addAuthorization(metadata, event.getAccessPolicy());
}
if (StringUtils.isNotBlank(event.getAgentId())) {
metadata.addField(EventIndexSchema.AGENT_ID, event.getAgentId(), true);
}
if (StringUtils.isNotBlank(event.getTechnicalStartTime())) {
metadata.addField(EventIndexSchema.TECHNICAL_START, event.getTechnicalStartTime(), true);
}
if (StringUtils.isNotBlank(event.getTechnicalEndTime())) {
metadata.addField(EventIndexSchema.TECHNICAL_END, event.getTechnicalEndTime(), true);
}
if (event.getTechnicalPresenters() != null) {
metadata.addField(EventIndexSchema.TECHNICAL_PRESENTERS, event.getTechnicalPresenters().toArray(new String[event.getTechnicalPresenters().size()]), true);
}
if (event.getAgentConfiguration() != null) {
metadata.addField(EventIndexSchema.AGENT_CONFIGURATION, event.getAgentConfiguration(), false);
}
return metadata;
}
use of org.opencastproject.matterhorn.search.impl.SearchMetadataCollection in project opencast by opencast.
the class GroupIndexUtils method toSearchMetadata.
/**
* Creates search metadata from a group such that the group can be stored in the search index.
*
* @param group
* the group
* @return the set of metadata
*/
public static SearchMetadataCollection toSearchMetadata(Group group) {
SearchMetadataCollection metadata = new SearchMetadataCollection(group.getIdentifier().concat(group.getOrganization()), Group.DOCUMENT_TYPE);
metadata.addField(GroupIndexSchema.UID, group.getIdentifier(), true);
metadata.addField(GroupIndexSchema.ORGANIZATION, group.getOrganization(), false);
metadata.addField(GroupIndexSchema.OBJECT, group.toXML(), false);
metadata.addField(GroupIndexSchema.ROLE, group.getRole(), true);
if (StringUtils.isNotBlank(group.getDescription())) {
metadata.addField(GroupIndexSchema.DESCRIPTION, group.getDescription(), true);
}
if (StringUtils.isNotBlank(group.getName())) {
metadata.addField(GroupIndexSchema.NAME, group.getName(), true);
}
if (group.getRoles() != null) {
metadata.addField(GroupIndexSchema.ROLES, group.getRoles().toArray(), true);
}
if (group.getMembers() != null) {
metadata.addField(GroupIndexSchema.MEMBERS, group.getMembers().toArray(), true);
}
return metadata;
}
use of org.opencastproject.matterhorn.search.impl.SearchMetadataCollection in project opencast by opencast.
the class ThemeIndexUtils method toSearchMetadata.
/**
* Creates search metadata from a theme such that the theme can be stored in the search index.
*
* @param theme
* the theme
* @return the set of metadata
*/
public static SearchMetadataCollection toSearchMetadata(Theme theme) {
SearchMetadataCollection metadata = new SearchMetadataCollection(Long.toString(theme.getIdentifier()).concat(theme.getOrganization()), Theme.DOCUMENT_TYPE);
// Mandatory fields
metadata.addField(ThemeIndexSchema.UID, theme.getIdentifier(), true);
metadata.addField(ThemeIndexSchema.ORGANIZATION, theme.getOrganization(), false);
metadata.addField(ThemeIndexSchema.OBJECT, theme.toXML(), false);
// Optional fields
if (StringUtils.isNotBlank(theme.getName())) {
metadata.addField(ThemeIndexSchema.NAME, theme.getName(), true);
}
if (StringUtils.isNotBlank(theme.getDescription())) {
metadata.addField(ThemeIndexSchema.DESCRIPTION, theme.getDescription(), true);
}
metadata.addField(ThemeIndexSchema.DEFAULT, theme.isDefault(), false);
if (theme.getCreationDate() != null) {
metadata.addField(ThemeIndexSchema.CREATION_DATE, theme.getCreationDate(), true);
}
if (StringUtils.isNotBlank(theme.getCreator())) {
metadata.addField(ThemeIndexSchema.CREATOR, theme.getCreator(), true);
}
metadata.addField(ThemeIndexSchema.BUMPER_ACTIVE, theme.isBumperActive(), false);
if (StringUtils.isNotBlank(theme.getBumperFile())) {
metadata.addField(ThemeIndexSchema.BUMPER_FILE, theme.getBumperFile(), false);
}
metadata.addField(ThemeIndexSchema.TRAILER_ACTIVE, theme.isTrailerActive(), false);
if (StringUtils.isNotBlank(theme.getTrailerFile())) {
metadata.addField(ThemeIndexSchema.TRAILER_FILE, theme.getTrailerFile(), false);
}
metadata.addField(ThemeIndexSchema.TITLE_SLIDE_ACTIVE, theme.isTrailerActive(), false);
if (StringUtils.isNotBlank(theme.getTitleSlideMetadata())) {
metadata.addField(ThemeIndexSchema.TITLE_SLIDE_METADATA, theme.getTitleSlideMetadata(), false);
}
if (StringUtils.isNotBlank(theme.getTitleSlideBackground())) {
metadata.addField(ThemeIndexSchema.TITLE_SLIDE_BACKGROUND, theme.getTitleSlideBackground(), false);
}
metadata.addField(ThemeIndexSchema.LICENSE_SLIDE_ACTIVE, theme.isLicenseSlideActive(), false);
if (StringUtils.isNotBlank(theme.getLicenseSlideDescription())) {
metadata.addField(ThemeIndexSchema.LICENSE_SLIDE_DESCRIPTION, theme.getLicenseSlideDescription(), false);
}
if (StringUtils.isNotBlank(theme.getLicenseSlideBackground())) {
metadata.addField(ThemeIndexSchema.LICENSE_SLIDE_BACKGROUND, theme.getLicenseSlideBackground(), false);
}
metadata.addField(ThemeIndexSchema.WATERMARK_ACTIVE, theme.isWatermarkActive(), false);
if (StringUtils.isNotBlank(theme.getWatermarkFile())) {
metadata.addField(ThemeIndexSchema.WATERMARK_FILE, theme.getWatermarkFile(), false);
}
if (StringUtils.isNotBlank(theme.getWatermarkPosition())) {
metadata.addField(ThemeIndexSchema.WATERMARK_POSITION, theme.getWatermarkPosition(), false);
}
return metadata;
}
Aggregations