/*@GET
      @Path("{mediaId}")
  	@Consumes({ MediaType.APPLICATION_JSON })
  	@Produces({ MediaType.APPLICATION_JSON })
  	public String retrieveSingleMediaAssestDetails(@PathParam("mediaId") final Long mediaId,@Context final UriInfo uriInfo) {
           context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);

           MediaAssetData mediaAssetData=this.mediaAssetReadPlatformService.retrievemediaAsset(mediaId);
           List<EnumOptionData> status = this.planReadPlatformService.retrieveNewStatus();
           List<MediaassetAttribute> data   = this.mediaAssetReadPlatformService.retrieveMediaAttributes();
           List<MediaassetAttribute> mediaFormat=this.mediaAssetReadPlatformService.retrieveMediaFormatType();
           List<MediaEnumoptionData> mediaTypeData =this.mediaAssetReadPlatformService.retrieveMediaTypeData();
           List<McodeData> mediaCategeorydata=this.mediaAssetReadPlatformService.retrieveMedaiCategory();
           List<McodeData> languageCategeory=this.mediaAssetReadPlatformService.retrieveLanguageCategeories();
           MediaAssetData assetData=new MediaAssetData(status,data,mediaFormat,mediaTypeData,mediaCategeorydata,languageCategeory);
  		final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
  		return this.toApiJsonSerializer.serialize(settings, assetData, RESPONSE_DATA_PARAMETERS);

  }*/
  @GET
  @Path("{mediaId}")
  @Consumes({MediaType.APPLICATION_JSON})
  @Produces({MediaType.APPLICATION_JSON})
  public String retrieveSingleMediaAssestDetails(
      @PathParam("mediaId") final Long mediaId, @Context final UriInfo uriInfo) {
    context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);

    MediaAssetData mediaAssetData = this.mediaAssetReadPlatformService.retrievemediaAsset(mediaId);
    List<MediaassetAttributeData> mediaassetAttributes =
        this.mediaAssetReadPlatformService.retrieveMediaassetAttributesData(mediaId);
    List<MediaLocationData> mediaLocationData =
        this.mediaAssetReadPlatformService.retrievemediaAssetLocationdata(mediaId);
    List<EnumOptionData> status = this.planReadPlatformService.retrieveNewStatus();
    List<MediaassetAttribute> data = this.mediaAssetReadPlatformService.retrieveMediaAttributes();
    List<MediaassetAttribute> mediaFormat =
        this.mediaAssetReadPlatformService.retrieveMediaFormatType();
    List<MediaEnumoptionData> mediaTypeData =
        this.mediaAssetReadPlatformService.retrieveMediaTypeData();
    List<McodeData> mediaCategeorydata = this.mediaAssetReadPlatformService.retrieveMedaiCategory();
    List<McodeData> mediaLanguageData =
        this.mediaAssetReadPlatformService.retrieveLanguageCategeories();
    List<SettlementData> settlementData = null;
    Long partnerId = mediaAssetData.getContentProvider();
    String partnerName = "";
    if (partnerId != null && partnerId > 0) {
      partnerName = mediaAssetReadPlatformService.getPartnerName(partnerId);
    }

    if (mediaAssetData != null && mediaAssetData.getMediaCategoryG().equalsIgnoreCase("Games")) {
      settlementData = this.mediaAssetReadPlatformService.retrieveSettlementData(mediaId);
    }

    MediaAssetData assetData =
        new MediaAssetData(
            mediaAssetData,
            mediaassetAttributes,
            mediaLocationData,
            status,
            data,
            mediaFormat,
            mediaTypeData,
            mediaCategeorydata,
            mediaLanguageData,
            settlementData);
    assetData.setPartnerName(partnerName);
    final ApiRequestJsonSerializationSettings settings =
        apiRequestParameterHelper.process(uriInfo.getQueryParameters());
    return this.toApiJsonSerializer.serialize(settings, assetData, RESPONSE_DATA_PARAMETERS);
  }