package com.limegroup.gnutella.metadata; /** * Encapsulates information about Weedified files. * See http://www.weedshare.com. */ public class WeedInfo extends WRMXML { public static final String LAINFO = "http://www.shmedlic.com/license/3play.aspx"; public static final String LDIST = "Shared Media Licensing, Inc."; public static final String LURL = "http://www.shmedlic.com/"; public static final String CID = " cid: "; public static final String VID = " vid: "; private String _versionId, _contentId, _ice9; private String _licenseDate, _licenseDistributor, _licenseDistributorURL; private String _publishDate; private String _contentDistributor, _contentDistributorURL; private String _price, _collection, _description, _copyright; private String _artistURL, _author, _title; /** * Constructs a new WeedInfo based off the given WRMXML. */ public WeedInfo(WRMXML data) { super(data._documentNode); //The XML should look something like: //<WRMHEADER version="2.0.0.0"> // <DATA> // <VersionID>0000000000001370651</VersionID> // <ContentID>214324</ContentID> // <ice9>ice9</ice9> // <License_Date></License_Date> // <License_Distributor_URL>http://www.shmedlic.com/</License_Distributor_URL> // <License_Distributor>Shared Media Licensing, Inc.</License_Distributor> // <Publish_Date>4/14/2005 4:13:50 PM</Publish_Date> // <Content_Distributor_URL>http://www.presidentsrock.com</Content_Distributor_URL> // <Content_Distributor>PUSA Inc.</Content_Distributor> // <Price>0.9900</Price> // <Collection>Love Everybody</Collection> // <Description></Description> // <Copyright>2004 PUSA Inc.</Copyright> // <Artist_URL>http://www.presidentsrock.com</Artist_URL> // <Author>The Presidents of the United States of America</Author> // <Title>Love Everybody</Title> // <SECURITYVERSION>2.2</SECURITYVERSION> // <CID>o9miGn4Z0k2gUeHhN9VxTA==</CID> // <LAINFO>http://www.shmedlic.com/license/3play.aspx</LAINFO> // <KID>ERVOYkZ8qkWZ75OQw9ihnA==</KID> // <CHECKSUM>t1ZpoYJF2w==</CHECKSUM> // </DATA> // <SIGNATURE> // <HASHALGORITHM type="SHA"></HASHALGORITHM> // <SIGNALGORITHM type="MSDRM"></SIGNALGORITHM> // <VALUE>XZkWZWCq919yum!bBGdxvnpiS38npAqAofxT8AkegyJ27zTlb9v4gA==</VALUE> // </SIGNATURE> //</WRMHEADER> } /** * Determines if this WeedInfo is valid. */ public boolean isValid() { return LAINFO.equals(_lainfo) && LURL.equals(_licenseDistributorURL) && LDIST.equals(_licenseDistributor) && _contentId != null && _versionId != null; } public String getIce9() { return _ice9; } public String getVersionId() { return _versionId; } public String getContentId() { return _contentId; } public String getLicenseDate() { return _licenseDate; } public String getLicenseDistributorURL() { return _licenseDistributorURL; } public String getLicenseDistributor() { return _licenseDistributor; } public String getPublishDate() { return _publishDate; } public String getContentDistributor() { return _contentDistributor; } public String getContentDistrubutorURL() { return _contentDistributorURL; } public String getPrice() { return _price; } public String getCollection() { return _collection; } public String getDescription() { return _description; } public String getAuthor() { return _author; } public String getArtistURL() { return _artistURL; } public String getTitle() { return _title; } public String getCopyright() { return _copyright; } public String getLicenseInfo() { return _lainfo + CID + _contentId + VID + _versionId; } /** * Extends WRMXML's parseChild to look for Weed-specific elements. */ protected void parseChild(String parentNodeName, String name, String attribute, String value) { super.parseChild(parentNodeName, name, attribute, value); if(attribute != null || !parentNodeName.equals("DATA")) return; if(name.equals("VersionID")) _versionId = value; else if(name.equals("ContentID")) _contentId = value; else if(name.equals("License_Date")) _licenseDate = value; else if(name.equals("License_Distributor")) _licenseDistributor = value; else if(name.equals("License_Distributor_URL")) _licenseDistributorURL = value; else if(name.equals("Publish_Date")) _publishDate = value; else if(name.equals("Content_Distributor")) _contentDistributor = value; else if(name.equals("Content_Distributor_URL")) _contentDistributorURL = value; else if(name.equals("Price")) _price = value; else if(name.equals("Collection")) _collection = value; else if(name.equals("Description")) _description = value; else if(name.equals("Copyright")) _copyright = value; else if(name.equals("Artist_URL")) _artistURL = value; else if(name.equals("Author")) _author = value; else if(name.equals("Title")) _title = value; else if(name.equals("ice9")) _ice9 = value; else if(name.equals("Copyright")) _copyright = value; } }