/** * Serializes media package element list to a string. * * @param elements * element list to be serialized * @return serialized media package element list * @throws MediaPackageException * if serialization fails */ public static String getArrayAsXml(Collection<? extends MediaPackageElement> elements) throws MediaPackageException { // TODO write real serialization function if (elements == null || elements.isEmpty()) return ""; try { StringBuilder builder = new StringBuilder(); Iterator<? extends MediaPackageElement> it = elements.iterator(); builder.append(getAsXml(it.next())); while (it.hasNext()) { builder.append("###"); builder.append(getAsXml(it.next())); } return builder.toString(); } catch (Exception e) { if (e instanceof MediaPackageException) { throw (MediaPackageException) e; } else { throw new MediaPackageException(e); } } }
/** * {@inheritDoc} * * @see org.opencastproject.waveform.api.WaveformService#createWaveformImage(org.opencastproject.mediapackage.Track, * int, int, int, int) */ @Override public Job createWaveformImage(Track sourceTrack, int pixelsPerMinute, int minWidth, int maxWidth, int height) throws MediaPackageException, WaveformServiceException { try { return serviceRegistry.createJob(jobType, Operation.Waveform.toString(), Arrays.asList(MediaPackageElementParser.getAsXml(sourceTrack), Integer.toString(pixelsPerMinute), Integer.toString(minWidth), Integer.toString(maxWidth), Integer.toString(height)), waveformJobLoad); } catch (ServiceRegistryException ex) { throw new WaveformServiceException("Unable to create waveform job", ex); } }
/** * {@inheritDoc} * * @see org.opencastproject.sox.api.SoxService#normalize(Track, Float) */ @Override public Job normalize(Track sourceAudioTrack, Float targetRmsLevDb) throws MediaPackageException, SoxException { try { return serviceRegistry.createJob(JOB_TYPE, Operation.Normalize.toString(), Arrays.asList(MediaPackageElementParser.getAsXml(sourceAudioTrack), targetRmsLevDb.toString()), normalizeJobLoad); } catch (ServiceRegistryException e) { throw new SoxException("Unable to create a job", e); } }
/** * {@inheritDoc} * * @see org.opencastproject.timelinepreviews.api.TimelinePreviewsService#createTimelinePreviewImages(org.opencastproject.mediapackage.Track, int) */ @Override public Job createTimelinePreviewImages(Track track, int imageCount) throws TimelinePreviewsException, MediaPackageException { try { List<String> parameters = Arrays.asList(MediaPackageElementParser.getAsXml(track), Integer.toString(imageCount)); return serviceRegistry.createJob(JOB_TYPE, Operation.TimelinePreview.toString(), parameters, timelinepreviewsJobLoad); } catch (ServiceRegistryException e) { throw new TimelinePreviewsException("Unable to create timelinepreviews job", e); } }
/** * {@inheritDoc} * * @see org.opencastproject.sox.api.SoxService#analyze(Track) */ @Override public Job analyze(Track sourceAudioTrack) throws MediaPackageException, SoxException { try { return serviceRegistry.createJob(JOB_TYPE, Operation.Analyze.toString(), Arrays.asList(MediaPackageElementParser.getAsXml(sourceAudioTrack)), analyzeJobLoad); } catch (ServiceRegistryException e) { throw new SoxException("Unable to create a job", e); } }
try { List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add(new BasicNameValuePair("captions", MediaPackageElementParser.getAsXml(input))); params.add(new BasicNameValuePair("input", format)); post.setEntity(new UrlEncodedFormEntity(params));
String inElementStr = MediaPackageElementParser.getAsXml(inElement); List<NameValuePair> formStringParams = new ArrayList<NameValuePair>(); formStringParams.add(new BasicNameValuePair(EXEC_FORM_PARAM, exec));
try { List<BasicNameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("track", MediaPackageElementParser.getAsXml(sourceTrack))); params.add(new BasicNameValuePair("pixelsPerMinute", Integer.toString(pixelsPerMinute))); params.add(new BasicNameValuePair("minWidth", Integer.toString(minWidth)));
try { List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add(new BasicNameValuePair("captions", MediaPackageElementParser.getAsXml(input))); params.add(new BasicNameValuePair("input", inputFormat)); params.add(new BasicNameValuePair("output", outputFormat));
/** * {@inheritDoc} * * @see org.opencastproject.inspection.api.MediaInspectionService#enrich(org.opencastproject.mediapackage.MediaPackageElement, * boolean, java.util.Map) */ @Override public Job enrich(final MediaPackageElement element, final boolean override, final Map<String,String> options) throws MediaInspectionException, MediaPackageException { assert (options != null); try { return serviceRegistry.createJob(JOB_TYPE, Operation.Enrich.toString(), Arrays.asList(MediaPackageElementParser.getAsXml(element), Boolean.toString(override), Options.toJson(options)), enrichJobLoad); } catch (ServiceRegistryException e) { throw new MediaInspectionException(e); } }
List<NameValuePair> params = new ArrayList<NameValuePair>(); try { params.add(new BasicNameValuePair("mediaPackageElement", MediaPackageElementParser.getAsXml(original))); params.add(new BasicNameValuePair("override", new Boolean(override).toString())); params.add(new BasicNameValuePair("options", Options.toJson(options)));
try { List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add(new BasicNameValuePair("sourceAudioTrack", MediaPackageElementParser.getAsXml(sourceAudioTrack))); params.add(new BasicNameValuePair("targetRmsLevDb", targetRmsLevDb.toString())); post.setEntity(new UrlEncodedFormEntity(params));
try { List<BasicNameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("track", MediaPackageElementParser.getAsXml(sourceTrack))); params.add(new BasicNameValuePair("imageCount", Integer.toString(imageCount))); post.setEntity(new UrlEncodedFormEntity(params));
try { List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add(new BasicNameValuePair("sourceAudioTrack", MediaPackageElementParser.getAsXml(sourceAudioTrack))); post.setEntity(new UrlEncodedFormEntity(params)); } catch (Exception e) {
/** * {@inheritDoc} * * @see org.opencastproject.job.api.AbstractJobProducer#process(org.opencastproject.job.api.Job) */ @Override protected String process(Job job) throws Exception { Operation op = null; String operation = job.getOperation(); List<String> arguments = job.getArguments(); try { op = Operation.valueOf(operation); switch (op) { case Waveform: Track track = (Track) MediaPackageElementParser.getFromXml(arguments.get(0)); int pixelsPerMinute = Integer.parseInt(arguments.get(1)); int minWidth = Integer.parseInt(arguments.get(2)); int maxWidth = Integer.parseInt(arguments.get(3)); int height = Integer.parseInt(arguments.get(4)); Attachment waveformMpe = extractWaveform(track, pixelsPerMinute, minWidth, maxWidth, height); return MediaPackageElementParser.getAsXml(waveformMpe); default: throw new ServiceRegistryException("This service can't handle operations of type '" + op + "'"); } } catch (IndexOutOfBoundsException e) { throw new ServiceRegistryException("This argument list for operation '" + op + "' does not meet expectations", e); } catch (MediaPackageException | WaveformServiceException e) { throw new ServiceRegistryException("Error handling operation '" + op + "'", e); } }
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); try { params.add(new BasicNameValuePair("track", MediaPackageElementParser.getAsXml(sourceTrack))); if (referencedTracks != null && referencedTracks.length > 0) { String referencedTracksXml = MediaPackageElementParser.getArrayAsXml(Arrays.asList(referencedTracks));
throw new IllegalStateException("Don't know how to handle operation '" + operation + "'"); return MediaPackageElementParser.getAsXml(inspectedElement); } catch (IllegalArgumentException e) { throw new ServiceRegistryException("This service can't handle operations of type '" + op + "'", e);
/** * {@inheritDoc} * * @see org.opencastproject.job.api.AbstractJobProducer#process(org.opencastproject.job.api.Job) */ @Override protected String process(Job job) throws Exception { Operation op = null; String operation = job.getOperation(); List<String> arguments = job.getArguments(); try { op = Operation.valueOf(operation); switch (op) { case TimelinePreview: Track track = (Track) MediaPackageElementParser .getFromXml(arguments.get(0)); int imageCount = Integer.parseInt(arguments.get(1)); Attachment timelinePreviewsMpe = generatePreviewImages(job, track, imageCount); return MediaPackageElementParser.getAsXml(timelinePreviewsMpe); default: throw new IllegalStateException("Don't know how to handle operation '" + operation + "'"); } } catch (IllegalArgumentException e) { throw new ServiceRegistryException("This service can't handle operations of type '" + op + "'", e); } catch (IndexOutOfBoundsException e) { throw new ServiceRegistryException("This argument list for operation '" + op + "' does not meet expectations", e); } catch (Exception e) { throw new ServiceRegistryException("Error handling operation '" + op + "'", e); } }
case Analyze: audioTrack = (TrackImpl) MediaPackageElementParser.getFromXml(arguments.get(0)); serialized = analyze(job, audioTrack).map(MediaPackageElementParser.<Track> getAsXml()).getOrElse(""); break; case Normalize: audioTrack = (TrackImpl) MediaPackageElementParser.getFromXml(arguments.get(0)); Float targetRmsLevDb = new Float(arguments.get(1)); serialized = normalize(job, audioTrack, targetRmsLevDb).map(MediaPackageElementParser.<Track> getAsXml()) .getOrElse(""); break;