Reputation: 465
I tried to get MediaFormatModel, MediaModel, MediaFolderModel
etc with the help of MediaService
but only the MediaContainer
is not possible to get from MediaService
and I tried with ModelService
. Only one possibility I found that by getting MediaModel
we can get the MediaContainerModel
but I need to get specific MediaContainerModel
by passing qualifier. Like for example:
final MediaModel mm1 = mediaService.getMedia(catalogVersion, "picture515x515");
final MediaFormatModel mf1200 = mediaService.getFormat("1200x1200");
final MediaFolderModel mfm = mediaService.getFolder("convertedimages");
any help?
Upvotes: 0
Views: 1191
Reputation: 465
I got the solution we can get as follows
@Autowired
MediaContainerService mediaContainerService;
......
MediaContainerModel mediaContainer = null;
try
{
mediaContainer =
mediaContainerService.getMediaContainerForQualifier("testContainer");
}
catch (final Exception e)
{
mediaContainer = createMediaContainer("testContainer");
}
mediaContainer.setCatalogVersion(catalogVersion);
Upvotes: 0
Reputation: 11
private MediaContainerModel getExistingMediaContainer(CatalogVersionModel catalogVersion, String qualifier) {
final String query = "SELECT {" + MediaContainerModel.PK + "} FROM {" + MediaContainerModel._TYPECODE + "} "
+ "WHERE {" + MediaContainerModel.QUALIFIER + "} = ?qualifier AND " + "{" + MediaContainerModel.CATALOGVERSION + "} = ?catalogVersion";
final FlexibleSearchQuery fQuery = new FlexibleSearchQuery(query);
fQuery.addQueryParameter("qualifier", qualifier);
fQuery.addQueryParameter("catalogVersion", catalogVersion);
final SearchResult<MediaContainerModel> searchResult = flexibleSearchService.search(fQuery);
if (searchResult.getTotalCount() > 0) {
return searchResult.getResult().get(0);
} else {
return null;
}
}
Upvotes: 1
Reputation: 582
You can always retrieve models using the flexiblesearh getModelByExample
CatalogVersionModel catalogVersion = catalogVersionService.getCatalogVersion("yourCatalogName", "version");
MediaContainerModel container = new MediaContainerModel();
container.setCatalogVersion(catalogVersion);
container.setQualifier("yourQualifier");
try
{
container = flexibleSearchService.getModelByExample(container);
}//no container found
catch (final ModelNotFoundException ex)
{
...
}
Upvotes: 1