Search in sources :

Example 1 with DublinCoreMetadataCollection

use of org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection in project opencast by opencast.

the class ConfigurableEventDCCatalogUIAdapter method getFields.

@Override
public MetadataCollection getFields(MediaPackage mediapackage) {
    DublinCoreMetadataCollection dublinCoreMetadata = new DublinCoreMetadataCollection();
    Set<String> emptyFields = new TreeSet<>(dublinCoreProperties.keySet());
    if (mediapackage != null) {
        for (Catalog catalog : mediapackage.getCatalogs(getFlavor())) {
            getFieldValuesFromCatalog(dublinCoreMetadata, emptyFields, catalog);
        }
    }
    populateEmptyFields(dublinCoreMetadata, emptyFields);
    return dublinCoreMetadata;
}
Also used : DublinCoreMetadataCollection(org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection) TreeSet(java.util.TreeSet) Catalog(org.opencastproject.mediapackage.Catalog) DublinCoreCatalog(org.opencastproject.metadata.dublincore.DublinCoreCatalog)

Example 2 with DublinCoreMetadataCollection

use of org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection in project opencast by opencast.

the class ConfigurableSeriesDCCatalogUIAdapter method getFields.

@Override
public Opt<MetadataCollection> getFields(String seriesId) {
    final Opt<DublinCoreCatalog> optDCCatalog = loadDublinCoreCatalog(RequireUtil.requireNotBlank(seriesId, "seriesId"));
    if (optDCCatalog.isSome()) {
        DublinCoreMetadataCollection dublinCoreMetadata = new DublinCoreMetadataCollection();
        Set<String> emptyFields = new TreeSet<>(dublinCoreProperties.keySet());
        getFieldValuesFromDublinCoreCatalog(dublinCoreMetadata, emptyFields, optDCCatalog.get());
        populateEmptyFields(dublinCoreMetadata, emptyFields);
        return Opt.some((MetadataCollection) dublinCoreMetadata);
    } else {
        return Opt.none();
    }
}
Also used : DublinCoreMetadataCollection(org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection) TreeSet(java.util.TreeSet) DublinCoreCatalog(org.opencastproject.metadata.dublincore.DublinCoreCatalog)

Example 3 with DublinCoreMetadataCollection

use of org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection in project opencast by opencast.

the class IndexServiceImplTest method testUpdateMediaPackageMetadata.

@Test
public void testUpdateMediaPackageMetadata() throws Exception {
    // mock/initialize dependencies
    String username = "user1";
    String org = "mh_default_org";
    String testResourceLocation = "/events/update-event.json";
    String metadataJson = IOUtils.toString(getClass().getResourceAsStream(testResourceLocation));
    MetadataCollection metadataCollection = new DublinCoreMetadataCollection();
    metadataCollection.addField(MetadataField.createTextMetadataField("title", Opt.some("title"), "EVENTS.EVENTS.DETAILS.METADATA.TITLE", false, true, Opt.none(), Opt.none(), Opt.none(), Opt.none(), Opt.none()));
    metadataCollection.addField(MetadataField.createTextLongMetadataField("creator", Opt.some("creator"), "EVENTS.EVENTS.DETAILS.METADATA.PRESENTERS", false, false, Opt.none(), Opt.none(), Opt.none(), Opt.none(), Opt.none()));
    metadataCollection.addField(MetadataField.createTextMetadataField("isPartOf", Opt.some("isPartOf"), "EVENTS.EVENTS.DETAILS.METADATA.SERIES", false, false, Opt.none(), Opt.none(), Opt.none(), Opt.none(), Opt.none()));
    MetadataList metadataList = new MetadataList(metadataCollection, metadataJson);
    String eventId = "event-1";
    Event event = new Event(eventId, org);
    event.setTitle("Test Event 1");
    SearchQuery query = EasyMock.createMock(SearchQuery.class);
    EasyMock.expect(query.getLimit()).andReturn(100);
    EasyMock.expect(query.getOffset()).andReturn(0);
    EasyMock.replay(query);
    SearchResultItemImpl<Event> searchResultItem = new SearchResultItemImpl<>(1.0, event);
    SearchResultImpl<Event> searchResult = new SearchResultImpl<>(query, 0, 0);
    searchResult.addResultItem(searchResultItem);
    SecurityService securityService = setupSecurityService(username, org);
    AbstractSearchIndex index = EasyMock.createMock(AbstractSearchIndex.class);
    MediaPackage mp = MediaPackageBuilderFactory.newInstance().newMediaPackageBuilder().loadFromXml(getClass().getResourceAsStream("/events/update-event-mp.xml"));
    EasyMock.expect(index.getByQuery(EasyMock.anyObject(EventSearchQuery.class))).andReturn(searchResult);
    EasyMock.replay(index);
    Workspace workspace = EasyMock.createMock(Workspace.class);
    EasyMock.expect(workspace.put(EasyMock.anyString(), EasyMock.anyString(), EasyMock.anyString(), EasyMock.anyObject())).andReturn(getClass().getResource("/dublincore.xml").toURI()).anyTimes();
    EasyMock.expect(workspace.read(EasyMock.anyObject())).andAnswer(() -> getClass().getResourceAsStream("/dublincore.xml")).anyTimes();
    EasyMock.replay(workspace);
    CommonEventCatalogUIAdapter commonEventCatalogUIAdapter = setupCommonCatalogUIAdapter(workspace).getA();
    // Using scheduler as the source of the media package here.
    SchedulerService schedulerService = EasyMock.createMock(SchedulerService.class);
    EasyMock.expect(schedulerService.getMediaPackage(EasyMock.anyString())).andReturn(mp);
    Capture<Opt<MediaPackage>> mpCapture = new Capture<>();
    schedulerService.updateEvent(EasyMock.anyString(), EasyMock.anyObject(Opt.class), EasyMock.anyObject(Opt.class), EasyMock.anyObject(Opt.class), EasyMock.anyObject(Opt.class), EasyMock.capture(mpCapture), EasyMock.anyObject(Opt.class), EasyMock.anyObject(Opt.class), EasyMock.anyObject(Opt.class), EasyMock.anyString());
    EasyMock.expectLastCall();
    EasyMock.replay(schedulerService);
    SeriesService seriesService = EasyMock.createMock(SeriesService.class);
    DublinCoreCatalog seriesDC = DublinCores.read(getClass().getResourceAsStream("/events/update-event-series.xml"));
    EasyMock.expect(seriesService.getSeries(EasyMock.anyString())).andReturn(seriesDC);
    EasyMock.expect(seriesService.getSeriesAccessControl(EasyMock.anyString())).andReturn(null);
    EasyMock.expect(seriesService.getSeriesElements(EasyMock.anyString())).andReturn(Opt.none());
    EasyMock.replay(seriesService);
    // create service
    IndexServiceImpl indexService = new IndexServiceImpl();
    indexService.setSecurityService(securityService);
    indexService.setSchedulerService(schedulerService);
    indexService.setCommonEventCatalogUIAdapter(commonEventCatalogUIAdapter);
    indexService.addCatalogUIAdapter(commonEventCatalogUIAdapter);
    indexService.setSeriesService(seriesService);
    indexService.setWorkspace(workspace);
    MetadataList updateEventMetadata = indexService.updateEventMetadata(org, metadataList, index);
    Assert.assertTrue(mpCapture.hasCaptured());
    Assert.assertEquals("series-1", mp.getSeries());
    Assert.assertEquals(1, mp.getCatalogs(MediaPackageElements.SERIES).length);
}
Also used : DublinCoreMetadataCollection(org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection) EventSearchQuery(org.opencastproject.index.service.impl.index.event.EventSearchQuery) SearchQuery(org.opencastproject.matterhorn.search.SearchQuery) SearchResultItemImpl(org.opencastproject.matterhorn.search.impl.SearchResultItemImpl) SchedulerService(org.opencastproject.scheduler.api.SchedulerService) EventSearchQuery(org.opencastproject.index.service.impl.index.event.EventSearchQuery) Capture(org.easymock.Capture) MetadataList(org.opencastproject.index.service.catalog.adapter.MetadataList) AbstractSearchIndex(org.opencastproject.index.service.impl.index.AbstractSearchIndex) Opt(com.entwinemedia.fn.data.Opt) SearchResultImpl(org.opencastproject.matterhorn.search.impl.SearchResultImpl) SeriesService(org.opencastproject.series.api.SeriesService) SecurityService(org.opencastproject.security.api.SecurityService) MediaPackage(org.opencastproject.mediapackage.MediaPackage) Event(org.opencastproject.index.service.impl.index.event.Event) CommonEventCatalogUIAdapter(org.opencastproject.index.service.catalog.adapter.events.CommonEventCatalogUIAdapter) DublinCoreMetadataCollection(org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection) MetadataCollection(org.opencastproject.metadata.dublincore.MetadataCollection) DublinCoreCatalog(org.opencastproject.metadata.dublincore.DublinCoreCatalog) Workspace(org.opencastproject.workspace.api.Workspace) Test(org.junit.Test)

Example 4 with DublinCoreMetadataCollection

use of org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection in project opencast by opencast.

the class ConfigurableEventDCCatalogUIAdapter method getRawFields.

@Override
public DublinCoreMetadataCollection getRawFields() {
    DublinCoreMetadataCollection dublinCoreMetadata = new DublinCoreMetadataCollection();
    Set<String> emptyFields = new TreeSet<>(dublinCoreProperties.keySet());
    populateEmptyFields(dublinCoreMetadata, emptyFields);
    return dublinCoreMetadata;
}
Also used : DublinCoreMetadataCollection(org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection) TreeSet(java.util.TreeSet)

Example 5 with DublinCoreMetadataCollection

use of org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection in project opencast by opencast.

the class ConfigurableSeriesDCCatalogUIAdapter method getRawFields.

@Override
public MetadataCollection getRawFields() {
    DublinCoreMetadataCollection dublinCoreMetadata = new DublinCoreMetadataCollection();
    Set<String> emptyFields = new TreeSet<>(dublinCoreProperties.keySet());
    populateEmptyFields(dublinCoreMetadata, emptyFields);
    return dublinCoreMetadata;
}
Also used : DublinCoreMetadataCollection(org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection) TreeSet(java.util.TreeSet)

Aggregations

DublinCoreMetadataCollection (org.opencastproject.index.service.catalog.adapter.DublinCoreMetadataCollection)5 TreeSet (java.util.TreeSet)4 DublinCoreCatalog (org.opencastproject.metadata.dublincore.DublinCoreCatalog)3 Opt (com.entwinemedia.fn.data.Opt)1 Capture (org.easymock.Capture)1 Test (org.junit.Test)1 MetadataList (org.opencastproject.index.service.catalog.adapter.MetadataList)1 CommonEventCatalogUIAdapter (org.opencastproject.index.service.catalog.adapter.events.CommonEventCatalogUIAdapter)1 AbstractSearchIndex (org.opencastproject.index.service.impl.index.AbstractSearchIndex)1 Event (org.opencastproject.index.service.impl.index.event.Event)1 EventSearchQuery (org.opencastproject.index.service.impl.index.event.EventSearchQuery)1 SearchQuery (org.opencastproject.matterhorn.search.SearchQuery)1 SearchResultImpl (org.opencastproject.matterhorn.search.impl.SearchResultImpl)1 SearchResultItemImpl (org.opencastproject.matterhorn.search.impl.SearchResultItemImpl)1 Catalog (org.opencastproject.mediapackage.Catalog)1 MediaPackage (org.opencastproject.mediapackage.MediaPackage)1 MetadataCollection (org.opencastproject.metadata.dublincore.MetadataCollection)1 SchedulerService (org.opencastproject.scheduler.api.SchedulerService)1 SecurityService (org.opencastproject.security.api.SecurityService)1 SeriesService (org.opencastproject.series.api.SeriesService)1