public static InputStream getXmlInputStream(MediaPackage mp) { return getInputStream(MediaPackageParser.getAsXml(mp)); }
public static InputStream getJsonInputStream(MediaPackage mp) { return getInputStream(MediaPackageParser.getAsJSON(mp)); }
/** * Parses the serialized media package list. * * @param xml * String to be parsed * @return parsed media package list * @throws MediaPackageException * if de-serialization fails */ public static List<MediaPackage> getArrayFromXml(String xml) throws MediaPackageException { try { List<MediaPackage> mediaPackages = new LinkedList<MediaPackage>(); if (StringUtils.isBlank(xml)) return mediaPackages; String[] xmlArray = xml.split("###"); for (String xmlElement : xmlArray) { mediaPackages.add(getFromXml(xmlElement.trim())); } return mediaPackages; } catch (Exception e) { if (e instanceof MediaPackageException) { throw (MediaPackageException) e; } else { throw new MediaPackageException(e); } } }
String filename = String.format("workflow-%d-%d-mediapackage-%s.json", workflowInstance.getId(), operation.getId(), mediaPackage.getIdentifier()); saveOrLog(MediaPackageParser.getAsJSON(mediaPackage), directory, filename); String filename = String.format("workflow-%d-%d-mediapackage-%s.xml", workflowInstance.getId(), operation.getId(), mediaPackage.getIdentifier()); saveOrLog(MediaPackageParser.getAsXml(mediaPackage), directory, filename);
/** Serializes a media package to a {@link Document} without any further processing. */ public static Document getAsXmlDocument(MediaPackage mp) { try { final Marshaller marshaller = MediaPackageImpl.context.createMarshaller(); final Document doc = newDocument(); marshaller.marshal(mp, doc); return doc; } catch (JAXBException e) { return chuck(e); } }
/** * Serializes media package list to a string. * * @param mediaPackages * media package list to be serialized * @return serialized media package list * @throws MediaPackageException * if serialization fails */ public static String getArrayAsXml(List<MediaPackage> mediaPackages) throws MediaPackageException { try { StringBuilder builder = new StringBuilder(); if (mediaPackages.isEmpty()) return builder.toString(); builder.append(getAsXml(mediaPackages.get(0))); for (int i = 1; i < mediaPackages.size(); i++) { builder.append("###"); builder.append(getAsXml(mediaPackages.get(i))); } return builder.toString(); } catch (Exception e) { if (e instanceof MediaPackageException) { throw (MediaPackageException) e; } else { throw new MediaPackageException(e); } } }
@Override public Job retract(MediaPackage mediaPackage) throws PublicationException { List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add(new BasicNameValuePair("mediapackage", MediaPackageParser.getAsXml(mediaPackage))); HttpPost post = new HttpPost("/retract"); HttpResponse response = null; try { post.setEntity(new UrlEncodedFormEntity(params)); response = getResponse(post); if (response != null) { logger.info("Retracting {} from youtube", mediaPackage); return JobParser.parseJob(response.getEntity().getContent()); } } catch (Exception e) { throw new PublicationException("Unable to retract mediapackage " + mediaPackage + " using a remote youtube publication service", e); } finally { closeConnection(response); } throw new PublicationException("Unable to retract mediapackage " + mediaPackage + " using a remote youtube publication service"); }
/** * {@inheritDoc} * * @see java.lang.Object#clone() */ @Override public Object clone() { try { String xml = MediaPackageParser.getAsXml(this); return MediaPackageBuilderFactory.newInstance().newMediaPackageBuilder().loadFromXml(xml); } catch (Exception e) { throw new RuntimeException(e); } }
@Override public Job publish(MediaPackage mediaPackage, Track track) throws PublicationException { final String trackId = track.getIdentifier(); List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>(); params.add(new BasicNameValuePair("mediapackage", MediaPackageParser.getAsXml(mediaPackage))); params.add(new BasicNameValuePair("elementId", trackId)); HttpPost post = new HttpPost(); HttpResponse response = null; try { post.setEntity(new UrlEncodedFormEntity(params)); response = getResponse(post); if (response != null) { logger.info("Publishing {} to youtube", trackId); return JobParser.parseJob(response.getEntity().getContent()); } } catch (Exception e) { throw new PublicationException("Unable to publish track " + trackId + " from mediapackage " + mediaPackage + " using a remote youtube publication service", e); } finally { closeConnection(response); } throw new PublicationException("Unable to publish track " + trackId + " from mediapackage " + mediaPackage + " using a remote youtube publication service"); }
Set<String> retractElementIds) throws PublicationException, MediaPackageException { final List<BasicNameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("mediapackage", MediaPackageParser.getAsXml(mediaPackage))); params.add(new BasicNameValuePair("channel", channelId)); params.add(new BasicNameValuePair("addElements", MediaPackageElementParser.getArrayAsXml(addElements)));
String mpStr = MediaPackageParser.getAsXml(mp); List<NameValuePair> formStringParams = new ArrayList<NameValuePair>(); formStringParams.add(new BasicNameValuePair(EXEC_FORM_PARAM, exec));
params.add(new BasicNameValuePair("mediapackage", MediaPackageParser.getAsXml(mediaPackage))); params.add(new BasicNameValuePair("channel", channelId)); params.add(new BasicNameValuePair("addElements", MediaPackageElementParser.getArrayAsXml(addElements)));
if (workflowDefinition != null) params.add(new BasicNameValuePair("definition", WorkflowParser.toXml(workflowDefinition))); params.add(new BasicNameValuePair("mediapackage", MediaPackageParser.getAsXml(mediaPackage))); if (parentWorkflowId != null) params.add(new BasicNameValuePair("parent", parentWorkflowId.toString()));