summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-chi Yeh <chiachi@android.com>2010-09-23 17:14:44 +0800
committerChia-chi Yeh <chiachi@android.com>2010-09-23 17:14:44 +0800
commit2fea0dd4d93ae38af69622213b7904d1c213a5ce (patch)
treee2bf003aea35be5ba1b98dc6c6a1a7d61ed20d15
parentdd6c3d1b961f3d1f19632070344f65596645561b (diff)
downloadandroid_external_nist-sip-2fea0dd4d93ae38af69622213b7904d1c213a5ce.tar.gz
android_external_nist-sip-2fea0dd4d93ae38af69622213b7904d1c213a5ce.tar.bz2
android_external_nist-sip-2fea0dd4d93ae38af69622213b7904d1c213a5ce.zip
nist-sip: remove javax.sdp.
Change-Id: I20a65bee4e4397aa8ae23d435fb3ea6cceebe529
-rw-r--r--java/gov/nist/core/HostNameParser.java7
-rw-r--r--java/gov/nist/javax/sdp/MediaDescriptionImpl.java763
-rw-r--r--java/gov/nist/javax/sdp/SdpEncoderImpl.java118
-rw-r--r--java/gov/nist/javax/sdp/SessionDescriptionImpl.java1092
-rw-r--r--java/gov/nist/javax/sdp/TimeDescriptionImpl.java143
-rw-r--r--java/gov/nist/javax/sdp/fields/AttributeField.java195
-rw-r--r--java/gov/nist/javax/sdp/fields/BandwidthField.java116
-rw-r--r--java/gov/nist/javax/sdp/fields/ConnectionAddress.java111
-rw-r--r--java/gov/nist/javax/sdp/fields/ConnectionField.java180
-rw-r--r--java/gov/nist/javax/sdp/fields/Email.java70
-rw-r--r--java/gov/nist/javax/sdp/fields/EmailAddress.java89
-rw-r--r--java/gov/nist/javax/sdp/fields/EmailField.java105
-rw-r--r--java/gov/nist/javax/sdp/fields/Indentation.java60
-rw-r--r--java/gov/nist/javax/sdp/fields/InformationField.java84
-rw-r--r--java/gov/nist/javax/sdp/fields/KeyField.java131
-rw-r--r--java/gov/nist/javax/sdp/fields/MediaField.java245
-rw-r--r--java/gov/nist/javax/sdp/fields/OriginField.java314
-rw-r--r--java/gov/nist/javax/sdp/fields/PhoneField.java113
-rw-r--r--java/gov/nist/javax/sdp/fields/PreconditionFields.java673
-rw-r--r--java/gov/nist/javax/sdp/fields/ProtoVersionField.java90
-rw-r--r--java/gov/nist/javax/sdp/fields/RepeatField.java217
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPField.java72
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPFieldList.java163
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPFieldNames.java59
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPFormat.java64
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPKeywords.java42
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPObject.java354
-rw-r--r--java/gov/nist/javax/sdp/fields/SDPObjectList.java117
-rw-r--r--java/gov/nist/javax/sdp/fields/SessionNameField.java77
-rw-r--r--java/gov/nist/javax/sdp/fields/TimeField.java175
-rw-r--r--java/gov/nist/javax/sdp/fields/TypedTime.java65
-rw-r--r--java/gov/nist/javax/sdp/fields/URIField.java93
-rw-r--r--java/gov/nist/javax/sdp/fields/ZoneAdjustment.java105
-rw-r--r--java/gov/nist/javax/sdp/fields/ZoneField.java188
-rw-r--r--java/gov/nist/javax/sdp/fields/package.html4
-rw-r--r--java/gov/nist/javax/sdp/package.html5
-rw-r--r--java/gov/nist/javax/sdp/parser/AttributeFieldParser.java187
-rw-r--r--java/gov/nist/javax/sdp/parser/BandwidthFieldParser.java162
-rw-r--r--java/gov/nist/javax/sdp/parser/ConnectionFieldParser.java194
-rw-r--r--java/gov/nist/javax/sdp/parser/EmailFieldParser.java248
-rw-r--r--java/gov/nist/javax/sdp/parser/InformationFieldParser.java149
-rw-r--r--java/gov/nist/javax/sdp/parser/KeyFieldParser.java176
-rw-r--r--java/gov/nist/javax/sdp/parser/Lexer.java109
-rw-r--r--java/gov/nist/javax/sdp/parser/MediaFieldParser.java224
-rw-r--r--java/gov/nist/javax/sdp/parser/OriginFieldParser.java225
-rw-r--r--java/gov/nist/javax/sdp/parser/ParserFactory.java170
-rw-r--r--java/gov/nist/javax/sdp/parser/PhoneFieldParser.java216
-rw-r--r--java/gov/nist/javax/sdp/parser/ProtoVersionFieldParser.java157
-rw-r--r--java/gov/nist/javax/sdp/parser/RepeatFieldParser.java242
-rw-r--r--java/gov/nist/javax/sdp/parser/SDPAnnounceParser.java212
-rw-r--r--java/gov/nist/javax/sdp/parser/SDPParser.java107
-rw-r--r--java/gov/nist/javax/sdp/parser/SessionNameFieldParser.java151
-rw-r--r--java/gov/nist/javax/sdp/parser/TimeFieldParser.java248
-rw-r--r--java/gov/nist/javax/sdp/parser/URIFieldParser.java162
-rw-r--r--java/gov/nist/javax/sdp/parser/ZoneFieldParser.java257
-rw-r--r--java/javax/sdp/Attribute.java29
-rw-r--r--java/javax/sdp/BandWidth.java29
-rw-r--r--java/javax/sdp/Connection.java31
-rw-r--r--java/javax/sdp/EMail.java24
-rw-r--r--java/javax/sdp/Info.java26
-rw-r--r--java/javax/sdp/Key.java31
-rw-r--r--java/javax/sdp/Media.java41
-rw-r--r--java/javax/sdp/MediaDescription.java48
-rw-r--r--java/javax/sdp/Origin.java45
-rw-r--r--java/javax/sdp/Phone.java27
-rw-r--r--java/javax/sdp/RepeatTime.java31
-rw-r--r--java/javax/sdp/SDPFieldNames.java23
-rw-r--r--java/javax/sdp/SdpConstants.java22
-rw-r--r--java/javax/sdp/SdpException.java31
-rw-r--r--java/javax/sdp/SdpFactory.java33
-rw-r--r--java/javax/sdp/SdpParseException.java27
-rw-r--r--java/javax/sdp/SessionDescription.java55
-rw-r--r--java/javax/sdp/SessionName.java26
-rw-r--r--java/javax/sdp/Time.java36
-rw-r--r--java/javax/sdp/TimeDescription.java26
-rw-r--r--java/javax/sdp/TimeZoneAdjustment.java28
-rw-r--r--java/javax/sdp/URI.java27
-rw-r--r--java/javax/sdp/Version.java26
78 files changed, 6 insertions, 10811 deletions
diff --git a/java/gov/nist/core/HostNameParser.java b/java/gov/nist/core/HostNameParser.java
index 31704fc..5feddd1 100644
--- a/java/gov/nist/core/HostNameParser.java
+++ b/java/gov/nist/core/HostNameParser.java
@@ -33,7 +33,9 @@
*/
package gov.nist.core;
-import gov.nist.javax.sdp.parser.Lexer;
+// BEGIN android-deleted
+//import gov.nist.javax.sdp.parser.Lexer;
+// END android-deleted
import java.text.ParseException;
@@ -46,6 +48,9 @@ import java.text.ParseException;
*/
public class HostNameParser extends ParserCore {
+// BEGIN android-added
+ private static LexerCore Lexer;
+// END android-added
/**
* Determines whether or not we should tolerate and strip address scope
diff --git a/java/gov/nist/javax/sdp/MediaDescriptionImpl.java b/java/gov/nist/javax/sdp/MediaDescriptionImpl.java
deleted file mode 100644
index 553bf5e..0000000
--- a/java/gov/nist/javax/sdp/MediaDescriptionImpl.java
+++ /dev/null
@@ -1,763 +0,0 @@
-/*
- * Conditions Of Use
- *
- * This software was developed by employees of the National Institute of
- * Standards and Technology (NIST), an agency of the Federal Government.
- * Pursuant to title 15 Untied States Code Section 105, works of NIST
- * employees are not subject to copyright protection in the United States
- * and are considered to be in the public domain. As a result, a formal
- * license is not needed to use the software.
- *
- * This software is provided by NIST as a service and is expressly
- * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
- * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
- * AND DATA ACCURACY. NIST does not warrant or make any representations
- * regarding the use of the software or the results thereof, including but
- * not limited to the correctness, accuracy, reliability or usefulness of
- * the software.
- *
- * Permission to use this software is contingent upon your acceptance
- * of the terms of this agreement
- *
- * .
- *
- */
-package gov.nist.javax.sdp;
-
-import javax.sdp.*;
-import gov.nist.javax.sdp.fields.*;
-import java.util.*;
-import gov.nist.core.*;
-
-/*
- * Includes code contributed by
- * Miguel Freitas (IT) PTInovacao -- modifications for IMS.
- */
-
-/**
- * Fieldementation of Media Description interface.
- *
- * @version JSR141-PUBLIC-REVIEW (subject to change).
- *
- * @author Olivier Deruelle <deruelle@antd.nist.gov>
- * @author M. Ranganathan <br/>
- *
- *
- */
-public class MediaDescriptionImpl implements javax.sdp.MediaDescription {
-
- protected MediaField mediaField;
-
- protected InformationField informationField;
-
- protected ConnectionField connectionField;
-
- protected Vector bandwidthFields;
-
- protected KeyField keyField;
-
- protected Vector attributeFields;
-
- /**
- * Encode to a canonical form.
- *
- * @since v1.0
- */
- public String encode() {
- StringBuffer retval = new StringBuffer();
-
- if (mediaField != null)
- retval.append(mediaField.encode());
-
- if (informationField != null)
- retval.append(informationField.encode());
-
- if (connectionField != null)
- retval.append(connectionField.encode());
-
- if (bandwidthFields != null) {
- for (int i = 0; i < bandwidthFields.size(); i++) {
-
- // issued by Miguel Freitas (IT) PTInovacao
- retval.append(((SDPField) bandwidthFields.elementAt(i))
- .encode());
-
- /*
- * original code BandwidthField bandwidthField =
- * (BandwidthField) bandwidthFields.elementAt(i);
- * retval.append(bandwidthField.encode());
- */
- // end //
- }
- if (preconditionFields != null) {
- int precondSize = preconditionFields.getPreconditionSize();
- for (int i = 0; i < precondSize; i++) {
- retval.append(((SDPField) preconditionFields
- .getPreconditions().elementAt(i)).encode());
- }
- }
- }
-
- if (keyField != null)
- retval.append(keyField.encode());
-
- if (attributeFields != null) {
- for (int i = 0; i < attributeFields.size(); i++)
- retval.append(((SDPField) attributeFields.elementAt(i))
- .encode());
- }
-
- return retval.toString();
- }
-
- public String toString() {
- return this.encode();
- }
-
- public MediaDescriptionImpl() {
- this.bandwidthFields = new Vector();
- this.attributeFields = new Vector();
-
- // issued by Miguel Freitas (AV) PTInovacao
- this.preconditionFields = new PreconditionFields();
- }
-
- public MediaField getMediaField() {
- return mediaField;
- }
-
- public InformationField getInformationField() {
- return informationField;
- }
-
- public ConnectionField getConnectionField() {
- return connectionField;
- }
-
- public KeyField getKeyField() {
- return keyField;
- }
-
- public Vector getAttributeFields() {
- return attributeFields;
- }
-
- /**
- * Set the mediaField member
- */
- public void setMediaField(MediaField m) {
- mediaField = m;
- }
-
- /**
- * Set the informationField member
- */
- public void setInformationField(InformationField i) {
- informationField = i;
- }
-
- /**
- * Set the connectionField member
- */
- public void setConnectionField(ConnectionField c) {
- connectionField = c;
- }
-
- /**
- * Set the bandwidthField member
- */
- public void addBandwidthField(BandwidthField b) {
- bandwidthFields.add(b);
- }
-
- /**
- * Set the keyField member
- */
- public void setKeyField(KeyField k) {
- keyField = k;
- }
-
- /**
- * Set the attributeFields member
- */
- public void setAttributeFields(Vector a) {
- attributeFields = a;
- }
-
- /**
- * Return the Media field of the description.
- *
- * @return the Media field of the description.
- */
- public Media getMedia() {
- return mediaField;
-
- }
-
- // issued by Miguel Freitas //
- public void addAttribute(AttributeField af) {
- // protected void addAttribute(AttributeField af) {
- // end //
- this.attributeFields.add(af);
- }
-
- protected boolean hasAttribute(String name) {
- for (int i = 0; i < this.attributeFields.size(); i++) {
- AttributeField af = (AttributeField) this.attributeFields
- .elementAt(i);
- if (af.getAttribute().getName().equals(name))
- return true;
- }
- return false;
- }
-
- /**
- * Set the Media field of the description.
- *
- * @param media
- * to set
- * @throws SdpException
- * if the media field is null
- */
- public void setMedia(Media media) throws SdpException {
- if (media == null)
- throw new SdpException("The media is null");
- if (media instanceof MediaField) {
- mediaField = (MediaField) media;
- } else
- throw new SdpException("A mediaField parameter is required");
- }
-
- /**
- * Returns value of the info field (i=) of this object.
- *
- * @return value of the info field (i=) of this object.
- */
- public Info getInfo() {
- InformationField informationField = getInformationField();
- if (informationField == null)
- return null;
- else {
- return informationField;
- }
- }
-
- /**
- * Sets the i= field of this object.
- *
- * @param i
- * to set
- * @throws SdpException
- * if the info is null
- */
- public void setInfo(Info i) throws SdpException {
- if (i == null)
- throw new SdpException("The info is null");
- if (i instanceof InformationField) {
- this.informationField = (InformationField) i;
- } else
- throw new SdpException("A informationField parameter is required");
- }
-
- /**
- * Returns the connection information associated with this object. This may
- * be null for SessionDescriptions if all Media objects have a connection
- * object and may be null for Media objects if the corresponding session
- * connection is non-null.
- *
- * @return connection
- */
- public Connection getConnection() {
-
- return connectionField;
-
- }
-
- /**
- * Set the connection data for this entity
- *
- * @param conn
- * to set
- * @throws SdpException
- * if the connexion is null
- */
- public void setConnection(Connection conn) throws SdpException {
- if (conn == null)
- throw new SdpException("The conn is null");
- if (conn instanceof ConnectionField) {
- connectionField = (ConnectionField) conn;
-
- } else
- throw new SdpException("bad implementation");
- }
-
- /**
- * Returns the Bandwidth of the specified type.
- *
- * @param create
- * type of the Bandwidth to return
- * @return the Bandwidth or null if undefined
- */
-
- public Vector getBandwidths(boolean create) {
- return bandwidthFields;
- }
-
- /**
- * set the value of the Bandwidth with the specified type
- *
- * @param bandwidths
- * type of the Bandwidth object whose value is requested
- * @throws SdpException
- * if vector is null
- */
- public void setBandwidths(Vector bandwidths) throws SdpException {
- if (bandwidths == null)
- throw new SdpException("The vector bandwidths is null");
- this.bandwidthFields = bandwidths;
- }
-
- /**
- * Returns the integer value of the specified bandwidth name.
- *
- * @param name
- * the name of the bandwidth type.
- * @throws SdpParseException
- * @return the value of the named bandwidth
- */
- public int getBandwidth(String name) throws SdpParseException {
-
- if (name == null)
- throw new NullPointerException("null parameter");
- if (bandwidthFields == null)
- return -1;
- else {
- for (int i = 0; i < bandwidthFields.size(); i++) {
- BandwidthField bandwidthField = (BandwidthField) bandwidthFields
- .elementAt(i);
- String type = bandwidthField.getBwtype();
- if (type != null && type.equals(name))
- return bandwidthField.getBandwidth();
- }
- return -1;
- }
- }
-
- /**
- * Sets the value of the specified bandwidth type.
- *
- * @param name
- * the name of the bandwidth type.
- * @param value
- * the value of the named bandwidth type.
- * @throws SdpException
- * if the name is null
- */
- public void setBandwidth(String name, int value) throws SdpException {
- if (name == null)
- throw new SdpException("The name is null");
- else {
- int i = 0; // issued by Miguel Freitas (IT) PTInovacao
- for (i = 0; i < bandwidthFields.size(); i++) {
- BandwidthField bandwidthField = (BandwidthField) this.bandwidthFields
- .elementAt(i);
- String type = bandwidthField.getBwtype();
- if (type != null && type.equals(name)) {
- bandwidthField.setBandwidth(value);
-
- break; // issued by Miguel Freitas (IT) PTInovacao
- }
- }
-
- // issued by Miguel Freitas (IT) PTInovacao
- if (i == this.bandwidthFields.size()) {
- BandwidthField bandwidthField = new BandwidthField();
- bandwidthField.setType(name);
- bandwidthField.setValue(value);
- this.bandwidthFields.add(bandwidthField);
- }
- // end //
- }
- }
-
- /**
- * Removes the specified bandwidth type.
- *
- * @param name
- * the name of the bandwidth type.
- */
- public void removeBandwidth(String name) {
- if (name == null) {
- throw new NullPointerException("null bandwidth type");
- } else {
- int i = 0;
- for (i = 0; i < bandwidthFields.size(); i++) {
- BandwidthField bandwidthField = (BandwidthField) bandwidthFields
- .elementAt(i);
- String type = bandwidthField.getBwtype();
- if (type != null && type.equals(name))
- break;
-
- }
- if (i < bandwidthFields.size())
- bandwidthFields.removeElementAt(i);
- }
- }
-
- /**
- * Returns the key data.
- *
- * @return the key data.
- */
- public Key getKey() {
- if (keyField == null)
- return null;
- else {
- return keyField;
- }
- }
-
- /**
- * Sets encryption key information. This consists of a method and an
- * encryption key included inline.
- *
- * @param key
- * the encryption key data; depending on method may be null
- * @throws SdpException
- * if the key is null
- */
- public void setKey(Key key) throws SdpException {
- if (key == null)
- throw new SdpException("The key is null");
- if (key instanceof KeyField) {
- KeyField keyField = (KeyField) key;
- setKeyField(keyField);
- } else
- throw new SdpException("A keyField parameter is required");
- }
-
- /**
- * Returns the set of attributes for this Description as a Vector of
- * Attribute objects in the order they were parsed.
- *
- * @param create
- * specifies whether to return null or a new empty Vector in case
- * no attributes exists for this Description
- * @return attributes for this Description
- */
- public Vector getAttributes(boolean create) {
- return attributeFields;
- }
-
- /**
- * Adds the specified Attribute to this Description object.
- *
- * @param attributes --
- * the attribute to add
- * @throws SdpException --
- * if the attributes is null
- */
- public void setAttributes(Vector attributes) throws SdpException {
- this.attributeFields = attributes;
- }
-
- /**
- * Returns the value of the specified attribute.
- *
- * @param name
- * the name of the attribute.
- * @throws SdpParseException
- * @return the value of the named attribute
- */
- public String getAttribute(String name) throws SdpParseException {
- if (name != null) {
- for (int i = 0; i < this.attributeFields.size(); i++) {
- AttributeField af = (AttributeField) this.attributeFields
- .elementAt(i);
- if (name.equals(af.getAttribute().getName()))
- return (String) af.getAttribute().getValueAsObject();
- }
- return null;
- } else
- throw new NullPointerException("null arg!");
- }
-
- /**
- * Sets the value of the specified attribute
- *
- * @param name
- * the name of the attribute.
- * @param value
- * the value of the named attribute.
- * @throws SdpException
- * if the parameters are null
- */
- public void setAttribute(String name, String value) throws SdpException {
- if (name == null)
- throw new SdpException("The parameters are null");
- else {
-
- int i = 0;
- for (i = 0; i < this.attributeFields.size(); i++) {
- AttributeField af = (AttributeField) this.attributeFields
- .elementAt(i);
- if (af.getAttribute().getName().equals(name)) {
- NameValue nv = af.getAttribute();
- nv.setValueAsObject(value);
- break;
- }
-
- }
-
- if (i == this.attributeFields.size()) {
- AttributeField af = new AttributeField();
- NameValue nv = new NameValue(name, value);
- af.setAttribute(nv);
- // Bug fix by Emil Ivov.
- this.attributeFields.add(af);
- }
-
- }
- }
-
- public void setDuplexity(String duplexity) {
- if ( duplexity == null ) throw new NullPointerException("Null arg");
- int i = 0;
- for (i = 0; i < this.attributeFields.size(); i++) {
- AttributeField af = (AttributeField) this.attributeFields
- .elementAt(i);
- if (af.getAttribute().getName().equalsIgnoreCase("sendrecv") ||
- af.getAttribute().getName().equalsIgnoreCase("recvonly") ||
- af.getAttribute().getName().equalsIgnoreCase("sendonly") ||
- af.getAttribute().getName().equalsIgnoreCase("inactive")) {
- NameValue nv = new NameValue(duplexity, null);
- af.setAttribute(nv);
- return;
- }
-
- }
-
- if (i == this.attributeFields.size()) {
- AttributeField af = new AttributeField();
- NameValue nv = new NameValue(duplexity, null);
- af.setAttribute(nv);
- // Bug fix by Emil Ivov.
- this.attributeFields.add(af);
- }
-
-
- }
-
- /**
- * Removes the attribute specified by the value parameter.
- *
- * @param name
- * the name of the attribute.
- */
- public void removeAttribute(String name) {
- if (name == null)
- throw new NullPointerException("null arg!");
- if (name != null) {
- int i = 0;
- for (i = 0; i < this.attributeFields.size(); i++) {
- AttributeField af = (AttributeField) this.attributeFields
- .elementAt(i);
- if (af.getAttribute().getName().equals(name))
- break;
- }
- if (i < attributeFields.size())
- attributeFields.removeElementAt(i);
-
- }
- }
-
- /**
- * Returns a Vector containing a string indicating the MIME type for each of
- * the codecs in this description.
- *
- * A MIME value is computed for each codec in the media description.
- *
- * The MIME type is computed in the following fashion: The type is the
- * mediaType from the media field. The subType is determined by the
- * protocol.
- *
- * The result is computed as the string of the form:
- *
- * type + '/' + subType
- *
- * The subType portion is computed in the following fashion. RTP/AVP the
- * subType is returned as the codec name. This will either be extracted from
- * the rtpmap attribute or computed. other the protocol is returned as the
- * subType.
- *
- * If the protocol is RTP/AVP and the rtpmap attribute for a codec is
- * absent, then the codec name will be computed in the following fashion.
- * String indexed in table SdpConstants.avpTypeNames if the value is an int
- * greater than or equal to 0 and less than AVP_DEFINED_STATIC_MAX, and has
- * been assigned a value. SdpConstant.RESERVED if the value is an int
- * greater than or equal to 0 and less than AVP_DEFINED_STATIC_MAX, and has
- * not been assigned a value. SdpConstant.UNASSIGNED An int greater than or
- * equal to AVP_DEFINED_STATIC_MAX and less than AVP_DYNAMIC_MIN - currently
- * unassigned. SdpConstant.DYNAMIC Any int less than 0 or greater than or
- * equal to AVP_DYNAMIC_MIN
- *
- * @throws SdpException
- * if there is a problem extracting the parameters.
- * @return a Vector containing a string indicating the MIME type for each of
- * the codecs in this description
- */
- public Vector getMimeTypes() throws SdpException {
- MediaField mediaField = (MediaField) getMedia();
- String type = mediaField.getMediaType();
- String protocol = mediaField.getProtocol();
- Vector formats = mediaField.getMediaFormats(false);
-
- Vector v = new Vector();
- for (int i = 0; i < formats.size(); i++) {
- String result = null;
- if (protocol.equals("RTP/AVP")) {
- if (getAttribute(SdpConstants.RTPMAP) != null)
- result = type + "/" + protocol;
- else {
-
- }
- } else
- result = type + "/" + protocol;
- v.addElement(result);
- }
- return v;
- }
-
- /**
- * Returns a Vector containing a string of parameters for each of the codecs
- * in this description.
- *
- * A parameter string is computed for each codec.
- *
- * The parameter string is computed in the following fashion.
- *
- * The rate is extracted from the rtpmap or static data.
- *
- * The number of channels is extracted from the rtpmap or static data.
- *
- * The ptime is extracted from the ptime attribute.
- *
- * The maxptime is extracted from the maxptime attribute.
- *
- * Any additional parameters are extracted from the ftmp attribute.
- *
- * @throws SdpException
- * if there is a problem extracting the parameters.
- * @return a Vector containing a string of parameters for each of the codecs
- * in this description.
- */
- public Vector getMimeParameters() throws SdpException {
- String rate = getAttribute("rate");
- String ptime = getAttribute("ptime");
- String maxptime = getAttribute("maxptime");
- String ftmp = getAttribute("ftmp");
- Vector result = new Vector();
- result.addElement(rate);
- result.addElement(ptime);
- result.addElement(maxptime);
- result.addElement(ftmp);
- return result;
- }
-
- /**
- * Adds dynamic media types to the description.
- *
- * @param payloadNames
- * a Vector of String - each one the name of a dynamic payload to
- * be added (usually an integer larger than
- * SdpConstants.AVP_DYNAMIC_MIN).
- * @param payloadValues
- * a Vector of String - each contains the value describing the
- * correlated dynamic payloads to be added
- * @throws SdpException
- * if either vector is null or empty. if the vector sizes are
- * unequal.
- */
- public void addDynamicPayloads(Vector payloadNames, Vector payloadValues)
- throws SdpException {
-
- if (payloadNames == null || payloadValues == null)
- throw new SdpException(" The vectors are null");
- else {
- if (payloadNames.isEmpty() || payloadValues.isEmpty())
- throw new SdpException(" The vectors are empty");
- else {
- if (payloadNames.size() != payloadValues.size())
- throw new SdpException(" The vector sizes are unequal");
- else {
- for (int i = 0; i < payloadNames.size(); i++) {
- String name = (String) payloadNames.elementAt(i);
- String value = (String) payloadValues.elementAt(i);
- setAttribute(name, value);
- }
- }
- }
- }
- }
-
- // /////////////////////////////////////////////////////////////////
- // Precondition Mechanism
- // based in 3GPP TS 24.229 and precondition mechanism (RFC 3312)
- // issued by Miguel Freitas (IT) PTinovacao
- // /////////////////////////////////////////////////////////////////
-
- /**
- * Precondition Mechanism - precondition fields for the media description
- */
- // Precondition Attribute Fields
- protected PreconditionFields preconditionFields;
-
- /**
- * <p>
- * Set the Media Description's Precondition Fields
- * </p>
- * <p>
- * issued by Miguel Freitas (IT) PTInovacao
- * </p>
- *
- * @param precondition
- * Vector containing PreconditionFields
- * @throws SdpException
- */
- public void setPreconditionFields(Vector precondition) throws SdpException {
- this.preconditionFields.setPreconditions(precondition);
- }
-
- /**
- * <p>
- * Set the Media Description's Precondition Fields
- * </p>
- * <p>
- * issued by Miguel Freitas (IT) PTInovacao
- * </p>
- *
- * @param precondition
- * PreconditionFields parameter
- */
- public void setPreconditions(PreconditionFields precondition) {
- this.preconditionFields = precondition;
- }
-
- /**
- * <p>
- * Get attribute fields of segmented precondition
- * </p>
- * <p>
- * issued by Miguel Freitas (IT) PTInovacao
- * </p>
- *
- * @return Vector of attribute fields (segmented precondition)
- */
- public Vector getPreconditionFields() {
- return this.preconditionFields.getPreconditions();
- }
-
- // end //
-
-}
diff --git a/java/gov/nist/javax/sdp/SdpEncoderImpl.java b/java/gov/nist/javax/sdp/SdpEncoderImpl.java
deleted file mode 100644
index 436514f..0000000
--- a/java/gov/nist/javax/sdp/SdpEncoderImpl.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * SdpEncoderImpl.java
- *
- * Created on January 14, 2002, 11:40 AM
- */
-
-package gov.nist.javax.sdp;
-import javax.sdp.*;
-import java.io.*;
-
-/** Implementation of SDP encoder.
-*
-*@version JSR141-PUBLIC-REVIEW (Subject to change).
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class SdpEncoderImpl {
-
- /** Creates new SdpEncoderImpl */
- public SdpEncoderImpl() {
- }
-
- /** Specifies the character set to be used to display the session name and
- * information data. By default, the ISO-10646
- * character set in UTF-8 encoding is used. If a more compact representation
- * is required, other character sets may be used
- * such as ISO-8859-1 for Northern European languages.
- * @param enc enc - name of character encoding to use for session name and
- * information data
- * @throws UnsupportedEncodingException if the named encoding is not supported
- */
- public void setEncoding(String enc) throws UnsupportedEncodingException {
- throw new UnsupportedEncodingException("Method not supported");
- }
-
- /** Specifies whether to try to write "typed-time" fields instead of raw integer
- * values. This
- * makes the session description more readable but may have an adverse effect on
- * serialization time.
- *
- * Ordinarily time values are given in numbers of seconds, but for readability
- * they may be
- * specified using logical units. From RFC 2327:
- *
- * To make announcements more compact, times may also be given in units of
- * days, hours or minutes. The syntax for these is a number immediately
- * followed by a single case-sensitive character. Fractional units are not
- * allowed - a smaller unit should be used instead. The following unit
- * specification characters are allowed:
- *
- * d - days (86400 seconds)
- * h - minutes (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds (allowed for completeness but not recommended)
- *
- * @param flag if true this Outputter should emit "typed" time specs in preference to
- * untyped times.
- */
- public void setTypedTime(boolean flag) {
-
- }
-
- /** Specifies whether to generate "a=rtpmap:" attributes for static RTP/AVP format strings.
- * This is recommended but makes messages bigger. The default is not to write such
- * attributes.
- * @param flag if true "a=rtpmap:" attributes are generated for all "RTP/AVP" formats
- */
- public void setRtpmapAttribute(boolean flag) {
-
- }
-
- /** Write the specified SessionDescription to the output stream using the current
- * settings.
- * @param sd SessionDescription to serialize
- * @param out OutputStream to write serialized SessionDescription to
- * @throws IOException
- */
- public void output(SessionDescription sd, OutputStream out)
- throws IOException {
- if (out instanceof ObjectOutputStream) {
- ObjectOutputStream output = (ObjectOutputStream) out;
- if (sd != null)
- output.writeObject(sd);
- else
- throw new IOException("The parameter is null");
- } else
- throw new IOException("The output stream has to be an instance of ObjectOutputStream");
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/SessionDescriptionImpl.java b/java/gov/nist/javax/sdp/SessionDescriptionImpl.java
deleted file mode 100644
index 9c92eeb..0000000
--- a/java/gov/nist/javax/sdp/SessionDescriptionImpl.java
+++ /dev/null
@@ -1,1092 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * SessionDescriptionImpl.java
- *
- * Created on January 10, 2002, 3:11 PM
- */
-package gov.nist.javax.sdp;
-
-import java.util.*;
-import javax.sdp.*;
-
-import gov.nist.javax.sdp.fields.*;
-
-import java.text.ParseException;
-
-/**
- * Implementation of the SessionDescription interface.
- *
- * @version JSR141-PUBLIC-REVIEW
- *
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan <br/>
- *
- *
- *
- */
-public class SessionDescriptionImpl implements SessionDescription {
- private TimeDescriptionImpl currentTimeDescription;
-
- private MediaDescriptionImpl currentMediaDescription;
-
- protected ProtoVersionField versionImpl;
-
- protected OriginField originImpl;
-
- protected SessionNameField sessionNameImpl;
-
- protected InformationField infoImpl;
-
- protected URIField uriImpl;
-
- protected ConnectionField connectionImpl;
-
- protected KeyField keyImpl;
-
- protected Vector timeDescriptions;
-
- protected Vector mediaDescriptions;
-
- protected Vector zoneAdjustments;
-
- protected Vector emailList;
-
- protected Vector phoneList;
-
- protected Vector bandwidthList;
-
- protected Vector attributesList;
-
- /** Creates new SessionDescriptionImpl */
- public SessionDescriptionImpl() {
- }
-
- /**
- * Copy constructor, creates a deep copy of another SessionDescription.
- *
- * @param otherSessionDescription - the SessionDescription to copy from.
- * @throws SdpException - if there is a problem constructing the SessionDescription.
- */
- public SessionDescriptionImpl(SessionDescription otherSessionDescription)
- throws SdpException
- {
- // If the other session description is null there's nothing to initialize
- if (otherSessionDescription == null) return;
-
- // OK to clone the version field, no deep copy required
- Version otherVersion = otherSessionDescription.getVersion();
- if (otherVersion != null) {
- this.setVersion((Version) otherVersion.clone());
- }
-
- // OK to clone the origin field, class already does a deep copy
- Origin otherOrigin = otherSessionDescription.getOrigin();
- if (otherOrigin != null) {
- this.setOrigin((Origin) otherOrigin.clone());
- }
-
- // OK to clone the session name, no deep copy required
- SessionName otherSessionName = otherSessionDescription.getSessionName();
- if (otherSessionName != null) {
- this.setSessionName((SessionName) otherSessionName.clone());
- }
-
- // OK to clone the information field, just a string, no deep copy required
- Info otherInfo = otherSessionDescription.getInfo();
- if (otherInfo != null) {
- this.setInfo((Info) otherInfo.clone());
- }
-
- // URI field requires deep copy
- URIField otherUriField = (URIField) otherSessionDescription.getURI();
- if (otherUriField != null) {
- URIField newUF = new URIField();
- newUF.setURI(otherUriField.toString());
- this.setURI(newUF);
- }
-
- // OK to clone the connection field, class already does a deep copy
- Connection otherConnection = (Connection) otherSessionDescription.getConnection();
- if (otherConnection != null) {
- this.setConnection((Connection) otherConnection.clone());
- }
-
- // OK to clone the key field, just a couple of strings
- Key otherKey = (Key) otherSessionDescription.getKey();
- if (otherKey != null) {
- this.setKey((Key) otherKey.clone());
- }
-
- // Deep copy each vector, starting with time descriptions
- Vector otherTimeDescriptions = otherSessionDescription.getTimeDescriptions(false);
- if (otherTimeDescriptions != null) {
- Vector newTDs = new Vector();
- Iterator itTimeDescriptions = otherTimeDescriptions.iterator();
- while (itTimeDescriptions.hasNext()) {
- TimeDescriptionImpl otherTimeDescription = (TimeDescriptionImpl) itTimeDescriptions.next();
- if (otherTimeDescription != null) {
- TimeField otherTimeField = (TimeField) otherTimeDescription.getTime().clone();
- TimeDescriptionImpl newTD = new TimeDescriptionImpl(otherTimeField);
- Vector otherRepeatTimes = otherTimeDescription.getRepeatTimes(false);
- if (otherRepeatTimes != null) {
- Iterator itRepeatTimes = otherRepeatTimes.iterator();
- while (itRepeatTimes.hasNext()) {
- RepeatField otherRepeatField = (RepeatField) itRepeatTimes.next();
- if (otherRepeatField != null) {
- // RepeatField clone is a deep copy
- RepeatField newRF = (RepeatField) otherRepeatField.clone();
- newTD.addRepeatField(newRF);
- }
- }
- }
- newTDs.add(newTD);
- }
- }
- this.setTimeDescriptions(newTDs);
- }
-
- // Deep copy the email list
- Vector otherEmails = otherSessionDescription.getEmails(false);
- if (otherEmails != null) {
- Vector newEmails = new Vector();
- Iterator itEmails = otherEmails.iterator();
- while (itEmails.hasNext()) {
- EmailField otherEmailField = (EmailField) itEmails.next();
- if (otherEmailField != null) {
- // Email field clone is a deep copy
- EmailField newEF = (EmailField) otherEmailField.clone();
- newEmails.add(newEF);
- }
- }
- this.setEmails(newEmails);
- }
-
- // Deep copy the phone list
- Vector otherPhones = otherSessionDescription.getPhones(false);
- if (otherPhones != null) {
- Vector newPhones = new Vector();
- Iterator itPhones = otherPhones.iterator();
- while (itPhones.hasNext()) {
- PhoneField otherPhoneField = (PhoneField) itPhones.next();
- if (otherPhoneField != null) {
- // Phone field clone is a deep copy
- PhoneField newPF = (PhoneField) otherPhoneField.clone();
- newPhones.add(newPF);
- }
- }
- this.setPhones(newPhones);
- }
-
- // Deep copy the zone adjustments list
- Vector otherZAs = otherSessionDescription.getZoneAdjustments(false);
- if (otherZAs != null) {
- Vector newZAs = new Vector();
- Iterator itZAs = otherZAs.iterator();
- while (itZAs.hasNext()) {
- ZoneField otherZoneField = (ZoneField) itZAs.next();
- if (otherZoneField != null) {
- // Zone field clone is a deep copy
- ZoneField newPF = (ZoneField) otherZoneField.clone();
- newZAs.add(newPF);
- }
- }
- this.setZoneAdjustments(newZAs);
- }
-
- // Deep copy the bandwidth list
- Vector otherBandwidths = otherSessionDescription.getBandwidths(false);
- if (otherBandwidths != null) {
- Vector newBandwidths = new Vector();
- Iterator itBandwidths = otherBandwidths.iterator();
- while (itBandwidths.hasNext()) {
- BandwidthField otherBandwidthField = (BandwidthField) itBandwidths.next();
- if (otherBandwidthField != null) {
- // Bandwidth field clone() is a shallow copy but object is not deep
- BandwidthField newBF = (BandwidthField) otherBandwidthField.clone();
- newBandwidths.add(newBF);
- }
- }
- this.setBandwidths(newBandwidths);
- }
-
- // Deep copy the attribute list
- Vector otherAttributes = otherSessionDescription.getAttributes(false);
- if (otherAttributes != null) {
- Vector newAttributes = new Vector();
- Iterator itAttributes = otherAttributes.iterator();
- while (itAttributes.hasNext()) {
- AttributeField otherAttributeField = (AttributeField) itAttributes.next();
- if (otherAttributeField != null) {
- // Attribute field clone() makes a deep copy but be careful: it may use reflection to copy one of its members
- AttributeField newBF = (AttributeField) otherAttributeField.clone();
- newAttributes.add(newBF);
- }
- }
- this.setAttributes(newAttributes);
- }
-
- // Deep copy the media descriptions
- Vector otherMediaDescriptions = otherSessionDescription.getMediaDescriptions(false);
- if (otherMediaDescriptions != null) {
- Vector newMDs = new Vector();
- Iterator itMediaDescriptions = otherMediaDescriptions.iterator();
- while (itMediaDescriptions.hasNext()) {
- MediaDescriptionImpl otherMediaDescription = (MediaDescriptionImpl) itMediaDescriptions.next();
- if (otherMediaDescription != null) {
- MediaDescriptionImpl newMD = new MediaDescriptionImpl();
-
- // Copy the media field
- MediaField otherMediaField = otherMediaDescription.getMediaField();
- if (otherMediaField != null) {
- // Media field clone() makes a shallow copy, so don't use clone()
- MediaField newMF = new MediaField();
- newMF.setMedia(otherMediaField.getMedia());
- newMF.setPort(otherMediaField.getPort());
- newMF.setNports(otherMediaField.getNports());
- newMF.setProto(otherMediaField.getProto());
- Vector otherFormats = otherMediaField.getFormats();
- if (otherFormats != null) {
- Vector newFormats = new Vector();
- Iterator itFormats = otherFormats.iterator();
- while (itFormats.hasNext()) {
- Object otherFormat = itFormats.next();
- if (otherFormat != null) {
- // Convert all format objects to strings in order to avoid reflection
- newFormats.add(String.valueOf(otherFormat));
- }
- }
- newMF.setFormats(newFormats);
- }
- newMD.setMedia(newMF);
- }
-
- // Copy the information field (it's a shallow object, ok to clone)
- InformationField otherInfoField = otherMediaDescription.getInformationField();
- if (otherInfoField != null) {
- newMD.setInformationField((InformationField) otherInfoField.clone());
- }
-
- // Copy the connection field. OK to use clone(), already does a deep copy.
- ConnectionField otherConnectionField = otherMediaDescription.getConnectionField();
- if (otherConnectionField != null) {
- newMD.setConnectionField((ConnectionField) otherConnectionField.clone());
- }
-
- // Copy the bandwidth fields
- Vector otherBFs = otherMediaDescription.getBandwidths(false);
- if (otherBFs != null) {
- Vector newBFs = new Vector();
- Iterator itBFs = otherBFs.iterator();
- while (itBFs.hasNext()) {
- BandwidthField otherBF = (BandwidthField) itBFs.next();
- if (otherBF != null) {
- // BandwidthField is a shallow object, ok to use clone
- newBFs.add((BandwidthField) otherBF.clone());
- }
- }
- newMD.setBandwidths(newBFs);
- }
-
- // Copy the key field (shallow object)
- KeyField otherKeyField = otherMediaDescription.getKeyField();
- if (otherKeyField != null) {
- newMD.setKeyField((KeyField) otherKeyField.clone());
- }
-
- // Copy the attributes
- Vector otherAFs = otherMediaDescription.getAttributeFields();
- if (otherAFs != null) {
- Vector newAFs = new Vector();
- Iterator itAFs = otherAFs.iterator();
- while (itAFs.hasNext()) {
- AttributeField otherAF = (AttributeField) itAFs.next();
- if (otherAF != null) {
- // AttributeField clone() already makes a deep copy, but be careful. It will use reflection
- // unless the attribute is a String or any other immutable object.
- newAFs.add((AttributeField) otherAF.clone());
- }
- }
- newMD.setAttributeFields(newAFs);
- }
- newMDs.add(newMD);
- }
- }
- this.setMediaDescriptions(newMDs);
- }
- }
-
- public void addField(SDPField sdpField) throws ParseException {
- try {
- if (sdpField instanceof ProtoVersionField) {
- versionImpl = (ProtoVersionField) sdpField;
- } else if (sdpField instanceof OriginField) {
- originImpl = (OriginField) sdpField;
- } else if (sdpField instanceof SessionNameField) {
- sessionNameImpl = (SessionNameField) sdpField;
- } else if (sdpField instanceof InformationField) {
- if (currentMediaDescription != null)
- currentMediaDescription
- .setInformationField((InformationField) sdpField);
- else
- this.infoImpl = (InformationField) sdpField;
- } else if (sdpField instanceof URIField) {
- uriImpl = (URIField) sdpField;
- } else if (sdpField instanceof ConnectionField) {
- if (currentMediaDescription != null)
- currentMediaDescription
- .setConnectionField((ConnectionField) sdpField);
- else
- this.connectionImpl = (ConnectionField) sdpField;
- } else if (sdpField instanceof KeyField) {
- if (currentMediaDescription != null)
- currentMediaDescription.setKey((KeyField) sdpField);
- else
- keyImpl = (KeyField) sdpField;
- } else if (sdpField instanceof EmailField) {
- getEmails(true).add(sdpField);
- } else if (sdpField instanceof PhoneField) {
- getPhones(true).add(sdpField);
- } else if (sdpField instanceof TimeField) {
- currentTimeDescription = new TimeDescriptionImpl(
- (TimeField) sdpField);
- getTimeDescriptions(true).add(currentTimeDescription);
- } else if (sdpField instanceof RepeatField) {
- if (currentTimeDescription == null) {
- throw new ParseException("no time specified", 0);
- } else {
- currentTimeDescription
- .addRepeatField((RepeatField) sdpField);
- }
- } else if (sdpField instanceof ZoneField) {
- getZoneAdjustments(true).add(sdpField);
- } else if (sdpField instanceof BandwidthField) {
- if (currentMediaDescription != null)
- currentMediaDescription
- .addBandwidthField((BandwidthField) sdpField);
- else
- getBandwidths(true).add(sdpField);
- } else if (sdpField instanceof AttributeField) {
- if (currentMediaDescription != null) {
- AttributeField af = (AttributeField) sdpField;
- String s = af.getName();
- // Bug report from Andreas Bystrom
- currentMediaDescription
- .addAttribute((AttributeField) sdpField);
- } else {
- getAttributes(true).add(sdpField);
- }
-
- } else if (sdpField instanceof MediaField) {
- currentMediaDescription = new MediaDescriptionImpl();
- getMediaDescriptions(true).add(currentMediaDescription);
- // Bug report from Andreas Bystrom
- currentMediaDescription.setMediaField((MediaField) sdpField);
- }
- } catch (SdpException ex) {
- throw new ParseException(sdpField.encode(), 0);
- }
- }
-
- /**
- * Creates and returns a deep copy of this object
- *
- * @return a clone of this instance.
- * @exception CloneNotSupportedException if this instance cannot be cloned.
- */
- public Object clone() throws CloneNotSupportedException {
- try {
- return new SessionDescriptionImpl(this);
- } catch (SdpException e) {
- // throw this exception to indicate that this instance cannot be cloned
- throw new CloneNotSupportedException();
- }
- }
-
- /**
- * Returns the version of SDP in use. This corresponds to the v= field of
- * the SDP data.
- *
- * @return the integer version (-1 if not set).
- */
- public Version getVersion() {
- return versionImpl;
- }
-
- /**
- * Sets the version of SDP in use. This corresponds to the v= field of the
- * SDP data.
- *
- * @param v
- * version - the integer version.
- * @throws SdpException
- * if the version is null
- */
- public void setVersion(Version v) throws SdpException {
- if (v == null)
- throw new SdpException("The parameter is null");
- if (v instanceof ProtoVersionField) {
- versionImpl = (ProtoVersionField) v;
- } else
- throw new SdpException(
- "The parameter must be an instance of VersionField");
- }
-
- /**
- * Returns information about the originator of the session. This corresponds
- * to the o= field of the SDP data.
- *
- * @return the originator data.
- */
- public Origin getOrigin() {
- return originImpl;
- }
-
- /**
- * Sets information about the originator of the session. This corresponds to
- * the o= field of the SDP data.
- *
- * @param origin
- * origin - the originator data.
- * @throws SdpException
- * if the origin is null
- */
- public void setOrigin(Origin origin) throws SdpException {
- if (origin == null)
- throw new SdpException("The parameter is null");
- if (origin instanceof OriginField) {
- OriginField o = (OriginField) origin;
- originImpl = o;
- } else
- throw new SdpException(
- "The parameter must be an instance of OriginField");
- }
-
- /**
- * Returns the name of the session. This corresponds to the s= field of the
- * SDP data.
- *
- * @return the session name.
- */
- public SessionName getSessionName() {
- return sessionNameImpl;
- }
-
- /**
- * Sets the name of the session. This corresponds to the s= field of the SDP
- * data.
- *
- * @param sessionName
- * name - the session name.
- * @throws SdpException
- * if the sessionName is null
- */
- public void setSessionName(SessionName sessionName) throws SdpException {
- if (sessionName == null)
- throw new SdpException("The parameter is null");
- if (sessionName instanceof SessionNameField) {
- SessionNameField s = (SessionNameField) sessionName;
- sessionNameImpl = s;
- } else
- throw new SdpException(
- "The parameter must be an instance of SessionNameField");
- }
-
- /**
- * Returns value of the info field (i=) of this object.
- *
- * @return info
- */
- public Info getInfo() {
- return infoImpl;
- }
-
- /**
- * Sets the i= field of this object.
- *
- * @param i
- * s - new i= value; if null removes the field
- * @throws SdpException
- * if the info is null
- */
- public void setInfo(Info i) throws SdpException {
- if (i == null)
- throw new SdpException("The parameter is null");
- if (i instanceof InformationField) {
- InformationField info = (InformationField) i;
- infoImpl = info;
- } else
- throw new SdpException(
- "The parameter must be an instance of InformationField");
- }
-
- /**
- * Returns a uri to the location of more details about the session. This
- * corresponds to the u= field of the SDP data.
- *
- * @return the uri.
- */
- public URI getURI() {
- return uriImpl;
- }
-
- /**
- * Sets the uri to the location of more details about the session. This
- * corresponds to the u= field of the SDP data.
- *
- * @param uri
- * uri - the uri.
- * @throws SdpException
- * if the uri is null
- */
- public void setURI(URI uri) throws SdpException {
- if (uri == null)
- throw new SdpException("The parameter is null");
- if (uri instanceof URIField) {
- URIField u = (URIField) uri;
- uriImpl = u;
- } else
- throw new SdpException(
- "The parameter must be an instance of URIField");
- }
-
- /**
- * Returns an email address to contact for further information about the
- * session. This corresponds to the e= field of the SDP data.
- *
- * @param create
- * boolean to set
- * @throws SdpParseException
- * @return the email address.
- */
- public Vector getEmails(boolean create) throws SdpParseException {
- if (emailList == null) {
- if (create)
- emailList = new Vector();
- }
- return emailList;
- }
-
- /**
- * Sets a an email address to contact for further information about the
- * session. This corresponds to the e= field of the SDP data.
- *
- * @param emails
- * email - the email address.
- * @throws SdpException
- * if the vector is null
- */
- public void setEmails(Vector emails) throws SdpException {
- if (emails == null)
- throw new SdpException("The parameter is null");
- else
- emailList = emails;
- }
-
- /**
- * Returns a phone number to contact for further information about the
- * session. This corresponds to the p= field of the SDP data.
- *
- * @param create
- * boolean to set
- * @throws SdpException
- * @return the phone number.
- */
- public Vector getPhones(boolean create) throws SdpException {
- if (phoneList == null) {
- if (create)
- phoneList = new Vector();
- }
- return phoneList;
- }
-
- /**
- * Sets a phone number to contact for further information about the session.
- * This corresponds to the p= field of the SDP data.
- *
- * @param phones
- * phone - the phone number.
- * @throws SdpException
- * if the vector is null
- */
- public void setPhones(Vector phones) throws SdpException {
- if (phones == null)
- throw new SdpException("The parameter is null");
- else
- phoneList = phones;
- }
-
- /**
- * Returns a TimeField indicating the start, stop, repetition and time zone
- * information of the session. This corresponds to the t= field of the SDP
- * data.
- *
- * @param create
- * boolean to set
- * @throws SdpException
- * @return the Time Field.
- */
- public Vector getTimeDescriptions(boolean create) throws SdpException {
- if (timeDescriptions == null) {
- if (create)
- timeDescriptions = new Vector();
- }
- return timeDescriptions;
- }
-
- /**
- * Sets a TimeField indicating the start, stop, repetition and time zone
- * information of the session. This corresponds to the t= field of the SDP
- * data.
- *
- * @param times
- * time - the TimeField.
- * @throws SdpException
- * if the vector is null
- */
- public void setTimeDescriptions(Vector times) throws SdpException {
- if (times == null)
- throw new SdpException("The parameter is null");
- else {
- timeDescriptions = times;
- }
- }
-
- /**
- * Returns the time zone adjustments for the Session
- *
- * @param create
- * boolean to set
- * @throws SdpException
- * @return a Hashtable containing the zone adjustments, where the key is the
- * Adjusted Time Zone and the value is the offset.
- */
- public Vector getZoneAdjustments(boolean create) throws SdpException {
- if (zoneAdjustments == null) {
- if (create)
- zoneAdjustments = new Vector();
- }
- return zoneAdjustments;
- }
-
- /**
- * Sets the time zone adjustment for the TimeField.
- *
- * @param zoneAdjustments
- * zoneAdjustments - a Hashtable containing the zone adjustments,
- * where the key is the Adjusted Time Zone and the value is the
- * offset.
- * @throws SdpException
- * if the vector is null
- */
- public void setZoneAdjustments(Vector zoneAdjustments) throws SdpException {
- if (zoneAdjustments == null)
- throw new SdpException("The parameter is null");
- else
- this.zoneAdjustments = zoneAdjustments;
- }
-
- /**
- * Returns the connection information associated with this object. This may
- * be null for SessionDescriptions if all Media objects have a connection
- * object and may be null for Media objects if the corresponding session
- * connection is non-null.
- *
- * @return connection
- */
- public Connection getConnection() {
- return connectionImpl;
- }
-
- /**
- * Set the connection data for this entity.
- *
- * @param conn
- * to set
- * @throws SdpException
- * if the parameter is null
- */
- public void setConnection(Connection conn) throws SdpException {
- if (conn == null)
- throw new SdpException("The parameter is null");
- if (conn instanceof ConnectionField) {
- ConnectionField c = (ConnectionField) conn;
- connectionImpl = c;
- } else
- throw new SdpException("Bad implementation class ConnectionField");
- }
-
- /**
- * Returns the Bandwidth of the specified type.
- *
- * @param create
- * type - type of the Bandwidth to return
- * @return the Bandwidth or null if undefined
- */
- public Vector getBandwidths(boolean create) {
- if (bandwidthList == null) {
- if (create)
- bandwidthList = new Vector();
- }
- return bandwidthList;
- }
-
- /**
- * set the value of the Bandwidth with the specified type.
- *
- * @param bandwidthList
- * to set
- * @throws SdpException
- * if the vector is null
- */
- public void setBandwidths(Vector bandwidthList) throws SdpException {
- if (bandwidthList == null)
- throw new SdpException("The parameter is null");
- else
- this.bandwidthList = bandwidthList;
- }
-
- /**
- * Returns the integer value of the specified bandwidth name.
- *
- * @param name
- * name - the name of the bandwidth type
- * @throws SdpParseException
- * @return the value of the named bandwidth
- */
- public int getBandwidth(String name) throws SdpParseException {
- if (name == null)
- return -1;
- else if (bandwidthList == null)
- return -1;
- for (int i = 0; i < bandwidthList.size(); i++) {
- Object o = bandwidthList.elementAt(i);
- if (o instanceof BandwidthField) {
- BandwidthField b = (BandwidthField) o;
- String type = b.getType();
- if (type != null) {
- if (name.equals(type)) {
- return b.getValue();
- }
- }
- }
- }
- return -1;
- }
-
- /**
- * Sets the value of the specified bandwidth type.
- *
- * @param name
- * name - the name of the bandwidth type.
- * @param value
- * value - the value of the named bandwidth type.
- * @throws SdpException
- * if the name is null
- */
- public void setBandwidth(String name, int value) throws SdpException {
- if (name == null)
- throw new SdpException("The parameter is null");
- else if (bandwidthList != null) {
- for (int i = 0; i < bandwidthList.size(); i++) {
- Object o = bandwidthList.elementAt(i);
- if (o instanceof BandwidthField) {
- BandwidthField b = (BandwidthField) o;
- String type = b.getType();
- if (type != null) {
- if (name.equals(type)) {
- b.setValue(value);
- }
- }
- }
- }
- }
- }
-
- /**
- * Removes the specified bandwidth type.
- *
- * @param name
- * name - the name of the bandwidth type
- */
- public void removeBandwidth(String name) {
- if (name != null)
- if (bandwidthList != null) {
- for (int i = 0; i < bandwidthList.size(); i++) {
- Object o = bandwidthList.elementAt(i);
- if (o instanceof BandwidthField) {
- BandwidthField b = (BandwidthField) o;
- try {
- String type = b.getType();
- if (type != null) {
- if (name.equals(type)) {
- bandwidthList.remove(b);
- }
- }
- } catch (SdpParseException e) {
- }
- }
- }
- }
- }
-
- /**
- * Returns the key data.
- *
- * @return key
- */
- public Key getKey() {
- return keyImpl;
- }
-
- /**
- * Sets encryption key information. This consists of a method and an
- * encryption key included inline.
- *
- * @param key
- * key - the encryption key data; depending on method may be null
- * @throws SdpException
- * if the parameter is null
- */
- public void setKey(Key key) throws SdpException {
- if (key == null)
- throw new SdpException("The parameter is null");
- if (key instanceof KeyField) {
- KeyField k = (KeyField) key;
- keyImpl = k;
- } else
- throw new SdpException(
- "The parameter must be an instance of KeyField");
- }
-
- /**
- * Returns the value of the specified attribute.
- *
- * @param name
- * name - the name of the attribute
- * @throws SdpParseException
- * @return the value of the named attribute
- */
- public String getAttribute(String name) throws SdpParseException {
- if (name == null)
- return null;
- else if (attributesList == null)
- return null;
- for (int i = 0; i < attributesList.size(); i++) {
- Object o = attributesList.elementAt(i);
- if (o instanceof AttributeField) {
- AttributeField a = (AttributeField) o;
- String n = a.getName();
- if (n != null) {
- if (name.equals(n)) {
- return a.getValue();
- }
- }
- }
- }
- return null;
- }
-
- /**
- * Returns the set of attributes for this Description as a Vector of
- * Attribute objects in the order they were parsed.
- *
- * @param create
- * create - specifies whether to return null or a new empty
- * Vector in case no attributes exists for this Description
- * @return attributes for this Description
- */
- public Vector getAttributes(boolean create) {
- if (attributesList == null) {
- if (create)
- attributesList = new Vector();
- }
- return attributesList;
- }
-
- /**
- * Removes the attribute specified by the value parameter.
- *
- * @param name
- * name - the name of the attribute
- */
- public void removeAttribute(String name) {
- if (name != null)
- if (attributesList != null) {
- for (int i = 0; i < attributesList.size(); i++) {
- Object o = attributesList.elementAt(i);
- if (o instanceof AttributeField) {
- AttributeField a = (AttributeField) o;
- try {
- String n = a.getName();
- if (n != null) {
- if (name.equals(n)) {
- attributesList.remove(a);
- }
- }
- } catch (SdpParseException e) {
- }
-
- }
- }
- }
- }
-
- /**
- * Sets the value of the specified attribute.
- *
- * @param name
- * name - the name of the attribute.
- * @param value
- * value - the value of the named attribute.
- * @throws SdpException
- * if the name or the value is null
- */
- public void setAttribute(String name, String value) throws SdpException {
- if (name == null || value == null)
- throw new SdpException("The parameter is null");
- else if (attributesList != null) {
- for (int i = 0; i < attributesList.size(); i++) {
- Object o = attributesList.elementAt(i);
- if (o instanceof AttributeField) {
- AttributeField a = (AttributeField) o;
- String n = a.getName();
- if (n != null) {
- if (name.equals(n)) {
- a.setValue(value);
- }
- }
- }
- }
- }
- }
-
- /**
- * Adds the specified Attribute to this Description object.
- *
- * @param attributes - the attribute to add
- * @throws SdpException
- * if the vector is null
- */
- public void setAttributes(Vector attributes) throws SdpException {
- if (attributes == null)
- throw new SdpException("The parameter is null");
- else
- attributesList = attributes;
- }
-
- /**
- * Adds a MediaDescription to the session description. These correspond to
- * the m= fields of the SDP data.
- *
- * @param create
- * boolean to set
- * @throws SdpException
- * @return media - the field to add.
- */
- public Vector getMediaDescriptions(boolean create) throws SdpException {
- if (mediaDescriptions == null) {
- if (create)
- mediaDescriptions = new Vector();
- }
- return mediaDescriptions;
- }
-
- /**
- * Removes all MediaDescriptions from the session description.
- *
- * @param mediaDescriptions
- * to set
- * @throws SdpException
- * if the parameter is null
- */
- public void setMediaDescriptions(Vector mediaDescriptions)
- throws SdpException {
- if (mediaDescriptions == null)
- throw new SdpException("The parameter is null");
- else
- this.mediaDescriptions = mediaDescriptions;
- }
-
- private String encodeVector(Vector vector) {
- StringBuffer encBuff = new StringBuffer();
-
- for (int i = 0; i < vector.size(); i++)
- encBuff.append(vector.elementAt(i));
-
- return encBuff.toString();
- }
-
- /**
- * Returns the canonical string representation of the current
- * SessionDescrption. Acknowledgement - this code was contributed by Emil
- * Ivov.
- *
- * @return Returns the canonical string representation of the current
- * SessionDescrption.
- */
-
- public String toString() {
- StringBuffer encBuff = new StringBuffer();
-
- // Encode single attributes
- encBuff.append(getVersion() == null ? "" : getVersion().toString());
- encBuff.append(getOrigin() == null ? "" : getOrigin().toString());
- encBuff.append(getSessionName() == null ? "" : getSessionName()
- .toString());
- encBuff.append(getInfo() == null ? "" : getInfo().toString());
-
- // Encode attribute vectors
- try {
- encBuff.append(getURI() == null ? "" : getURI().toString());
- encBuff.append(getEmails(false) == null ? ""
- : encodeVector(getEmails(false)));
- encBuff.append(getPhones(false) == null ? ""
- : encodeVector(getPhones(false)));
- encBuff.append(getConnection() == null ? "" : getConnection()
- .toString());
- encBuff.append(getBandwidths(false) == null ? ""
- : encodeVector(getBandwidths(false)));
- encBuff.append(getTimeDescriptions(false) == null ? ""
- : encodeVector(getTimeDescriptions(false)));
- encBuff.append(getZoneAdjustments(false) == null ? ""
- : encodeVector(getZoneAdjustments(false)));
- encBuff.append(getKey() == null ? "" : getKey().toString());
- encBuff.append(getAttributes(false) == null ? ""
- : encodeVector(getAttributes(false)));
- encBuff.append(getMediaDescriptions(false) == null ? ""
- : encodeVector(getMediaDescriptions(false)));
- // adds the final crlf
- } catch (SdpException exc) {
- // add exception handling if necessary
- }
- return encBuff.toString();
- }
-
-}
-
-
diff --git a/java/gov/nist/javax/sdp/TimeDescriptionImpl.java b/java/gov/nist/javax/sdp/TimeDescriptionImpl.java
deleted file mode 100644
index 882b71a..0000000
--- a/java/gov/nist/javax/sdp/TimeDescriptionImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Conditions Of Use
- *
- * This software was developed by employees of the National Institute of
- * Standards and Technology (NIST), an agency of the Federal Government.
- * Pursuant to title 15 Untied States Code Section 105, works of NIST
- * employees are not subject to copyright protection in the United States
- * and are considered to be in the public domain. As a result, a formal
- * license is not needed to use the software.
- *
- * This software is provided by NIST as a service and is expressly
- * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
- * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
- * AND DATA ACCURACY. NIST does not warrant or make any representations
- * regarding the use of the software or the results thereof, including but
- * not limited to the correctness, accuracy, reliability or usefulness of
- * the software.
- *
- * Permission to use this software is contingent upon your acceptance
- * of the terms of this agreement
- *
- * .
- *
- */
-package gov.nist.javax.sdp;
-
-import gov.nist.javax.sdp.fields.*;
-import javax.sdp.*;
-import java.util.*;
-
-/**
- * Implementation of Time Description
- *
- * @version 1.2
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan <br/>
- *
- *
- *
- */
-public class TimeDescriptionImpl implements TimeDescription {
-
- private TimeField timeImpl;
-
- private Vector repeatList;
-
- /** Creates new TimeDescriptionImpl */
- public TimeDescriptionImpl() {
- timeImpl = new TimeField();
- repeatList = new Vector();
-
- }
-
- /**
- * constructor
- *
- * @param timeField
- * time field to create this descrition from
- */
- public TimeDescriptionImpl(TimeField timeField) {
- this.timeImpl = timeField;
- repeatList = new Vector();
- }
-
- /**
- * Returns the Time field.
- *
- * @return Time
- */
- public Time getTime() {
- return timeImpl;
- }
-
- /**
- * Sets the Time field.
- *
- * @param timeField
- * Time to set
- * @throws SdpException
- * if the time is null
- */
- public void setTime(Time timeField) throws SdpException {
- if (timeField == null) {
- throw new SdpException("The parameter is null");
- } else {
- if (timeField instanceof TimeField) {
- this.timeImpl = (TimeField) timeField;
- } else
- throw new SdpException(
- "The parameter is not an instance of TimeField");
- }
- }
-
- /**
- * Returns the list of repeat times (r= fields) specified in the
- * SessionDescription.
- *
- * @param create
- * boolean to set
- * @return Vector
- */
- public Vector getRepeatTimes(boolean create) {
- return this.repeatList;
- }
-
- /**
- * Returns the list of repeat times (r= fields) specified in the
- * SessionDescription.
- *
- * @param repeatTimes
- * Vector to set
- * @throws SdpException
- * if the parameter is null
- */
- public void setRepeatTimes(Vector repeatTimes) throws SdpException {
- this.repeatList = repeatTimes;
- }
-
- /**
- * Add a repeat field.
- *
- * @param repeatField --
- * repeat field to add.
- */
- public void addRepeatField(RepeatField repeatField) {
- if (repeatField == null)
- throw new NullPointerException("null repeatField");
- this.repeatList.add(repeatField);
- }
-
- public String toString() {
- String retval = timeImpl.encode();
- for (int i = 0; i < this.repeatList.size(); i++) {
- RepeatField repeatField = (RepeatField) this.repeatList
- .elementAt(i);
- retval += repeatField.encode();
- }
- return retval;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/AttributeField.java b/java/gov/nist/javax/sdp/fields/AttributeField.java
deleted file mode 100644
index cb6d62d..0000000
--- a/java/gov/nist/javax/sdp/fields/AttributeField.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-
-/**
-* Attribute Field.
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class AttributeField extends SDPField implements javax.sdp.Attribute {
- protected NameValue attribute;
-
- public NameValue getAttribute() {
- return attribute;
- }
-
- public AttributeField() {
- super(ATTRIBUTE_FIELD);
- }
- /**
- * Set the attribute member
- */
- public void setAttribute(NameValue a) {
- attribute = a;
- attribute.setSeparator(Separators.COLON);
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String encoded_string = ATTRIBUTE_FIELD;
- if (attribute != null)
- encoded_string += attribute.encode();
- return encoded_string + Separators.NEWLINE;
- }
-
- public String toString() {
- return this.encode();
- }
-
- /** Returns the name of this attribute
- * @throws SdpParseException if the name is not well formatted.
- * @return a String identity or null.
- */
- public String getName() throws SdpParseException {
- NameValue nameValue = getAttribute();
- if (nameValue == null)
- return null;
- else {
- String name = nameValue.getName();
- if (name == null)
- return null;
- else
- return name;
- }
- }
-
- /** Sets the id of this attribute.
- * @param name the string name/id of the attribute.
- * @throws SdpException if the name is null
- */
- public void setName(String name) throws SdpException {
- if (name == null)
- throw new SdpException("The name is null");
- else {
- NameValue nameValue = getAttribute();
- if (nameValue == null)
- nameValue = new NameValue();
- nameValue.setName(name);
- setAttribute(nameValue);
- }
- }
-
- /** Determines if this attribute has an associated value.
- * @throws SdpParseException if the value is not well formatted.
- * @return true if the attribute has a value.
- */
- public boolean hasValue() throws SdpParseException {
- NameValue nameValue = getAttribute();
- if (nameValue == null)
- return false;
- else {
- Object value = nameValue.getValueAsObject();
- if (value == null)
- return false;
- else
- return true;
- }
- }
-
- /** Returns the value of this attribute.
- * @throws SdpParseException if the value is not well formatted.
- * @return the value; null if the attribute has no associated value.
- */
- public String getValue() throws SdpParseException {
- NameValue nameValue = getAttribute();
- if (nameValue == null)
- return null;
- else {
- Object value = nameValue.getValueAsObject();
- if (value == null)
- return null;
- else if (value instanceof String)
- return (String) value;
- else
- return value.toString();
- }
- }
-
- /** Sets the value of this attribute.
- * @param value the - attribute value
- * @throws SdpException if the value is null.
- */
- public void setValue(String value) throws SdpException {
- if (value == null)
- throw new SdpException("The value is null");
- else {
- NameValue nameValue = getAttribute();
- if (nameValue == null)
- nameValue = new NameValue();
- nameValue.setValueAsObject(value);
- setAttribute(nameValue);
- }
- }
-
- /**
- * Allow for null value when setting the value.
- *
- * @param value -- can be null.
- */
-
- public void setValueAllowNull(String value) {
- NameValue nameValue = getAttribute();
- if (nameValue == null)
- nameValue = new NameValue();
- nameValue.setValueAsObject(value);
- setAttribute(nameValue);
- }
-
- public Object clone() {
- AttributeField retval = (AttributeField) super.clone();
- if (this.attribute != null)
- retval.attribute = (NameValue) this.attribute.clone();
- return retval;
- }
-
- public boolean equals(Object that ) {
- if ( ! (that instanceof AttributeField)) return false;
- AttributeField other = (AttributeField) that;
- return other.getAttribute().getName().equalsIgnoreCase(this.getAttribute().getName()) &&
- this.getAttribute().getValueAsObject().equals(other.getAttribute().getValueAsObject());
- }
-
- @Override
- public int hashCode() {
- if (getAttribute() == null ) throw new UnsupportedOperationException("Attribute is null cannot compute hashCode ");
- return this.encode().hashCode();
- }
-}
diff --git a/java/gov/nist/javax/sdp/fields/BandwidthField.java b/java/gov/nist/javax/sdp/fields/BandwidthField.java
deleted file mode 100644
index a2ac0c8..0000000
--- a/java/gov/nist/javax/sdp/fields/BandwidthField.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-/**
-* Bandwidth field of a SDP header.
-*
-*@version JSR141-PUBLIC-REVIEW (Subject to change)
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-
-public class BandwidthField extends SDPField implements javax.sdp.BandWidth {
- protected String bwtype;
- protected int bandwidth;
- public BandwidthField() {
- super(SDPFieldNames.BANDWIDTH_FIELD);
- }
- public String getBwtype() {
- return bwtype;
- }
- public int getBandwidth() {
- return bandwidth;
- }
- /**
- * Set the bwtype member
- */
- public void setBwtype(String b) {
- bwtype = b;
- }
- /**
- * Set the bandwidth member
- */
- public void setBandwidth(int b) {
- bandwidth = b;
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String encoded_string = BANDWIDTH_FIELD;
-
- if (bwtype != null)
- encoded_string += bwtype + Separators.COLON;
- return encoded_string + bandwidth + Separators.NEWLINE;
- }
-
- /** Returns the bandwidth type.
- * @throws SdpParseException
- * @return type
- */
- public String getType() throws SdpParseException {
- return getBwtype();
- }
-
- /** Sets the bandwidth type.
- * @param type to set
- * @throws SdpException if the type is null
- */
- public void setType(String type) throws SdpException {
- if (type == null)
- throw new SdpException("The type is null");
- else
- setBwtype(type);
- }
-
- /** Returns the bandwidth value measured in kilobits per second.
- * @throws SdpParseException
- * @return the bandwidth value
- */
- public int getValue() throws SdpParseException {
- return getBandwidth();
- }
-
- /** Sets the bandwidth value.
- * @param value to set
- * @throws SdpException
- */
- public void setValue(int value) throws SdpException {
- setBandwidth(value);
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/ConnectionAddress.java b/java/gov/nist/javax/sdp/fields/ConnectionAddress.java
deleted file mode 100644
index e8e3a26..0000000
--- a/java/gov/nist/javax/sdp/fields/ConnectionAddress.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-/**
-* Connection Address of the SDP header (appears as part of the Connection field)
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change)
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class ConnectionAddress extends SDPObject {
- protected Host address;
- protected int ttl;
- protected int port;
-
- public Host getAddress() {
- return address;
- }
- public int getTtl() {
- return ttl;
- }
- public int getPort() {
- return port;
- }
- /**
- * Set the address member
- */
- public void setAddress(Host a) {
- address = a;
- }
- /**
- * Set the ttl member
- */
- public void setTtl(int ttl) {
- this.ttl = ttl;
- }
- /**
- * Set the port member
- */
- public void setPort(int p) {
- port = p;
- }
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String encoded_string = "";
-
- if (address != null){
- encoded_string = address.encode();
-
- //it appears that SDP does not allow square brackets
- //in the connection address (see RFC4566) so make sure
- //we lose them
- if(Host.isIPv6Reference(encoded_string))
- {
- //the isIPv6Reference == true means we have a minimum
- //of 2 symbols, so substring bravely
- encoded_string = encoded_string
- .substring(1, encoded_string.length()-1);
- }
- }
- if (ttl != 0 && port != 0) {
- encoded_string += Separators.SLASH + ttl + Separators.SLASH + port;
- } else if (ttl != 0) {
- encoded_string += Separators.SLASH + ttl;
- }
- return encoded_string;
- }
-
- public Object clone() {
- ConnectionAddress retval = (ConnectionAddress) super.clone();
- if (this.address != null)
- retval.address = (Host) this.address.clone();
- return retval;
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/ConnectionField.java b/java/gov/nist/javax/sdp/fields/ConnectionField.java
deleted file mode 100644
index 8e0b1f0..0000000
--- a/java/gov/nist/javax/sdp/fields/ConnectionField.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-/**
-* Connectin Field of the SDP request.
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class ConnectionField extends SDPField implements javax.sdp.Connection {
- protected String nettype;
- protected String addrtype;
- protected ConnectionAddress address;
-
- public ConnectionField() {
- super(SDPFieldNames.CONNECTION_FIELD);
- }
- public String getNettype() {
- return nettype;
- }
- public String getAddrtype() {
- return addrtype;
- }
- public ConnectionAddress getConnectionAddress() {
- return address;
- }
- /**
- * Set the nettype member
- */
- public void setNettype(String n) {
- nettype = n;
- }
- /**
- * Set the addrtype member
- */
- public void setAddrType(String a) {
- addrtype = a;
- }
- /**
- * Set the address member
- */
- public void setAddress(ConnectionAddress a) {
- address = a;
- }
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String encoded_string = CONNECTION_FIELD;
- if (nettype != null)
- encoded_string += nettype;
- if (addrtype != null)
- encoded_string += Separators.SP + addrtype;
- if (address != null)
- encoded_string += Separators.SP + address.encode();
- return encoded_string += Separators.NEWLINE;
- }
-
- public String toString() {
- return this.encode();
- }
- /** Returns the type of the network for this Connection.
- * @throws SdpParseException
- * @return the type of the network
- */
- public String getAddress() throws SdpParseException {
- ConnectionAddress connectionAddress = getConnectionAddress();
- if (connectionAddress == null)
- return null;
- else {
- Host host = connectionAddress.getAddress();
- if (host == null)
- return null;
- else
- return host.getAddress();
- }
- }
-
- /** Returns the type of the address for this Connection.
- * @throws SdpParseException
- * @return the type of the address
- */
- public String getAddressType() throws SdpParseException {
- return getAddrtype();
- }
-
- /** Returns the type of the network for this Connection.
- * @throws SdpParseException
- * @return the type of the network
- */
- public String getNetworkType() throws SdpParseException {
- return getNettype();
- }
-
- /** Sets the type of the address for this Connection.
- * @param addr to set
- * @throws SdpException if the type is null
- */
- public void setAddress(String addr) throws SdpException {
- if (addr == null)
- throw new SdpException("the addr is null");
- else {
- if (address == null) {
- address = new ConnectionAddress();
- Host host = new Host(addr);
- address.setAddress(host);
- } else {
- Host host = address.getAddress();
- if (host == null) {
- host = new Host(addr);
- address.setAddress(host);
- } else
- host.setAddress(addr);
- }
- setAddress(address);
- }
- }
-
- /** Returns the type of the network for this Connection.
- * @param type to set
- * @throws SdpException if the type is null
- */
- public void setAddressType(String type) throws SdpException {
- if (type == null)
- throw new SdpException("the type is null");
- this.addrtype = type;
- }
-
- /** Sets the type of the network for this Connection.
- * @param type to set
- * @throws SdpException if the type is null
- */
- public void setNetworkType(String type) throws SdpException {
- if (type == null)
- throw new SdpException("the type is null");
- else
- setNettype(type);
- }
- public Object clone() {
- ConnectionField retval = (ConnectionField) super.clone();
- if (this.address != null)
- retval.address = (ConnectionAddress) this.address.clone();
- return retval;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/Email.java b/java/gov/nist/javax/sdp/fields/Email.java
deleted file mode 100644
index 5e1255a..0000000
--- a/java/gov/nist/javax/sdp/fields/Email.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-
-/** Email address record.
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*/
-public class Email extends SDPObject {
- protected String userName;
- protected String hostName;
- public String getUserName() {
- return userName;
- }
- public String getHostName() {
- return hostName;
- }
- /**
- * Set the userName member
- */
- public void setUserName(String u) {
- userName = u;
- }
- /**
- * Set the hostName member
- */
- public void setHostName(String h) {
- hostName = h.trim();
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- return userName + Separators.AT + hostName;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/EmailAddress.java b/java/gov/nist/javax/sdp/fields/EmailAddress.java
deleted file mode 100644
index ff363bb..0000000
--- a/java/gov/nist/javax/sdp/fields/EmailAddress.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-/**
-* email address field of the SDP header.
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change)
-*
-*@author Oliver Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class EmailAddress extends SDPObject {
- protected String displayName;
- protected Email email;
-
- public String getDisplayName() {
- return displayName;
- }
- /**
- * Set the displayName member
- */
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
- }
- /**
- * Set the email member
- */
- public void setEmail(Email email) {
- this.email = email;
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- * Here, we implement only the "displayName <email>" form
- * and not the "email (displayName)" form
- */
- public String encode() {
- String encoded_string;
-
- if (displayName != null) {
- encoded_string = displayName + Separators.LESS_THAN;
- } else {
- encoded_string = "";
- }
- encoded_string += email.encode();
- if (displayName != null) {
- encoded_string += Separators.GREATER_THAN;
- }
- return encoded_string;
- }
- public Object clone() {
- EmailAddress retval = (EmailAddress) super.clone();
- if (this.email != null)
- retval.email = (Email) this.email.clone();
- return retval;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/EmailField.java b/java/gov/nist/javax/sdp/fields/EmailField.java
deleted file mode 100644
index 4594dcd..0000000
--- a/java/gov/nist/javax/sdp/fields/EmailField.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-/**
-* email field in the SDP announce.
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*/
-public class EmailField extends SDPField implements javax.sdp.EMail {
-
- protected EmailAddress emailAddress;
-
- public EmailField() {
- super(SDPFieldNames.EMAIL_FIELD);
- emailAddress = new EmailAddress();
- }
-
- public EmailAddress getEmailAddress() {
- return emailAddress;
- }
- /**
- * Set the emailAddress member
- */
- public void setEmailAddress(EmailAddress emailAddress) {
- this.emailAddress = emailAddress;
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- return EMAIL_FIELD + emailAddress.encode() + Separators.NEWLINE;
- }
-
- public String toString() {
- return this.encode();
- }
-
- /** Returns the value.
- * @throws SdpParseException
- * @return the value
- */
- public String getValue() throws SdpParseException {
- if (emailAddress == null)
- return null;
- else {
- return emailAddress.getDisplayName();
- }
- }
-
- /** Set the value.
- * @param value to set
- * @throws SdpException if the value is null
- */
- public void setValue(String value) throws SdpException {
- if (value == null)
- throw new SdpException("The value is null");
- else {
-
- emailAddress.setDisplayName(value);
- }
- }
-
- public Object clone() {
- EmailField retval = (EmailField) super.clone();
- if (this.emailAddress != null)
- retval.emailAddress = (EmailAddress) this.emailAddress.clone();
- return retval;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/Indentation.java b/java/gov/nist/javax/sdp/fields/Indentation.java
deleted file mode 100644
index adc7b43..0000000
--- a/java/gov/nist/javax/sdp/fields/Indentation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-/**
-* Internal utility class for pretty printing and header formatting.
-*/
-class Indentation {
- private int indentation;
- protected Indentation() {
- indentation = 0;
- }
- protected Indentation(int initval) {
- indentation = initval;
- }
- protected void setIndentation(int initval) {
- indentation = initval;
- }
- protected int getCount() {
- return indentation;
- }
- protected void increment() {
- indentation++;
- }
- protected void decrement() {
- indentation--;
- }
- protected String getIndentation() {
- char [] chars = new char [indentation];
- java.util.Arrays.fill (chars, ' ');
- return new String (chars);
- }
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/InformationField.java b/java/gov/nist/javax/sdp/fields/InformationField.java
deleted file mode 100644
index 6846cc0..0000000
--- a/java/gov/nist/javax/sdp/fields/InformationField.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-
-/** Information field implementation
-*@version JSR141-PUBLIC-REVIEW (subject to change)
-*
-*@author Oliver Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*/
-
-public class InformationField extends SDPField implements javax.sdp.Info {
- protected String information;
-
- public InformationField() {
- super(INFORMATION_FIELD);
- }
-
- public String getInformation() {
- return information;
- }
-
- public void setInformation(String info) {
- information = info;
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- return INFORMATION_FIELD + information + Separators.NEWLINE;
- }
-
- /** Returns the value.
- * @throws SdpParseException
- * @return the value
- */
- public String getValue() throws SdpParseException {
- return information;
- }
-
- /** Set the value.
- * @param value to set
- * @throws SdpException if the value is null
- */
- public void setValue(String value) throws SdpException {
- if (value == null)
- throw new SdpException("The value is null");
- else {
- setInformation(value);
- }
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/KeyField.java b/java/gov/nist/javax/sdp/fields/KeyField.java
deleted file mode 100644
index 867aa0a..0000000
--- a/java/gov/nist/javax/sdp/fields/KeyField.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-import gov.nist.core.*;
-import javax.sdp.*;
-
-/**
-* Key field part of an SDP header.
-* Acknowledgement. Bug fix contributed by espen@java.net
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change)
-*
-*@author Oliver Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*/
-public class KeyField extends SDPField implements javax.sdp.Key {
- protected String type;
- protected String keyData;
-
- public KeyField() {
- super(KEY_FIELD);
- }
-
- public String getType() {
- return type;
- }
-
- public String getKeyData() {
- return keyData;
- }
-
- /**
- * Set the type member
- */
- public void setType(String t) {
- type = t;
- }
- /**
- * Set the keyData member
- */
- public void setKeyData(String k) {
- keyData = k;
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String encoded_string;
- encoded_string = KEY_FIELD + type;
- if (keyData != null) {
- encoded_string += Separators.COLON;
- encoded_string += keyData;
- }
- encoded_string += Separators.NEWLINE;
- return encoded_string;
- }
-
- /** Returns the name of this attribute
- * @throws SdpParseException
- * @return the name of this attribute
- */
- public String getMethod() throws SdpParseException {
- return this.type;
- }
-
- /** Sets the id of this attribute.
- * @param name to set
- * @throws SdpException if the name is null
- */
- public void setMethod(String name) throws SdpException {
- this.type = name;
- }
-
- /** Determines if this attribute has an associated value.
- * @throws SdpParseException
- * @return if this attribute has an associated value.
- */
- public boolean hasKey() throws SdpParseException {
- String key = getKeyData();
- return key != null;
- }
-
- /** Returns the value of this attribute.
- * @throws SdpParseException
- * @return the value of this attribute
- */
- public String getKey() throws SdpParseException {
- return getKeyData();
- }
-
- /** Sets the value of this attribute.
- * @param key to set
- * @throws SdpException if key is null
- */
- public void setKey(String key) throws SdpException {
- if (key == null)
- throw new SdpException("The key is null");
- else
- setKeyData(key);
- }
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/MediaField.java b/java/gov/nist/javax/sdp/fields/MediaField.java
deleted file mode 100644
index a3b3a94..0000000
--- a/java/gov/nist/javax/sdp/fields/MediaField.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-import java.util.*;
-/**
-* Media field SDP header.
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class MediaField extends SDPField implements Media {
- protected String media;
- protected int port;
- protected int nports;
- protected String proto;
- protected Vector formats;
-
- public MediaField() {
- super(SDPFieldNames.MEDIA_FIELD);
- formats = new Vector();
- }
-
- public String getMedia() {
- return media;
- }
- public int getPort() {
- return port;
- }
- public int getNports() {
- return nports;
- }
- public String getProto() {
- return proto;
- }
- public Vector getFormats() {
- return formats;
- }
- /**
- * Set the media member
- */
- public void setMedia(String m) {
- media = m;
- }
- /**
- * Set the port member
- */
- public void setPort(int p) {
- port = p;
- }
- /**
- * Set the nports member
- */
- public void setNports(int n) {
- nports = n;
- }
- /**
- * Set the proto member
- */
- public void setProto(String p) {
- proto = p;
- }
- /**
- * Set the fmt member
- */
- public void setFormats(Vector formats) {
- this.formats = formats;
- }
- /** Returns the type (audio,video etc) of the
- * media defined by this description.
- * @throws SdpParseException
- * @return the string media type.
- */
- public String getMediaType() throws SdpParseException {
- return getMedia();
- }
-
- /** Sets the type (audio,video etc) of the media defined by this description.
- * @param mediaType to set
- * @throws SdpException if mediaType is null
- */
- public void setMediaType(String mediaType) throws SdpException {
- if (mediaType == null)
- throw new SdpException("The mediaType is null");
- else
- setMedia(mediaType);
- }
-
- /** Returns the port of the media defined by this description
- * @throws SdpParseException
- * @return the integer media port.
- */
- public int getMediaPort() throws SdpParseException {
- return getPort();
- }
-
- /** Sets the port of the media defined by this description
- * @param port to set
- * @throws SdpException
- */
- public void setMediaPort(int port) throws SdpException {
- if (port < 0)
- throw new SdpException("The port is < 0");
- else
- setPort(port);
- }
-
- /** Returns the number of ports associated with this media description
- * @throws SdpParseException
- * @return the integer port count.
- */
- public int getPortCount() throws SdpParseException {
- return getNports();
- }
-
- /** Sets the number of ports associated with this media description.
- * @param portCount portCount - the integer port count.
- * @throws SdpException
- */
- public void setPortCount(int portCount) throws SdpException {
- if (portCount < 0)
- throw new SdpException("The port count is < 0");
- else
- setNports(portCount);
- }
-
- /** Returns the protocol over which this media should be transmitted.
- * @throws SdpParseException
- * @return the String protocol, e.g. RTP/AVP.
- */
- public String getProtocol() throws SdpParseException {
- return getProto();
- }
-
- /** Sets the protocol over which this media should be transmitted.
- * @param protocol - the String protocol, e.g. RTP/AVP.
- * @throws SdpException if the protocol is null
- */
- public void setProtocol(String protocol) throws SdpException {
- if (protocol == null)
- throw new SdpException("The protocol is null");
- else
- setProto(protocol);
- }
-
- /** Returns an Vector of the media formats supported by this description.
- * Each element in this Vector will be an String value which matches one of
- * the a=rtpmap: attribute fields of the media description.
- * @param create to set
- * @throws SdpException
- * @return the Vector.
- */
- public Vector getMediaFormats(boolean create) throws SdpParseException {
-
- if (!create && formats.size() == 0)
- return null;
- else
- return formats;
- }
-
- /** Adds a media format to the media description.
- * Each element in this Vector should be an String value which matches one of the
- * a=rtpmap: attribute fields of the media description.
- * @param mediaFormats the format to add.
- * @throws SdpException if the vector is null
- */
- public void setMediaFormats(Vector mediaFormats) throws SdpException {
- if (mediaFormats == null)
- throw new SdpException("The mediaFormats is null");
- this.formats = mediaFormats;
- }
-
- private String encodeFormats() {
- StringBuffer retval = new StringBuffer(3 * formats.size ());
- for (int i = 0; i < formats.size(); i++) {
- retval.append(formats.elementAt(i));
- if (i < formats.size() - 1)
- retval.append(Separators.SP);
- }
- return retval.toString();
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String encoded_string;
- encoded_string = MEDIA_FIELD;
- if (media != null)
- encoded_string += media.toLowerCase() + Separators.SP + port;
- // Workaround for Microsoft Messenger contributed by Emil Ivov
- // Leave out the nports parameter as this confuses the messenger.
- if (nports > 1)
- encoded_string += Separators.SLASH + nports;
-
- if (proto != null)
- encoded_string += Separators.SP + proto;
-
- if (formats != null)
- encoded_string += Separators.SP + encodeFormats();
-
- encoded_string += Separators.NEWLINE;
- return encoded_string;
- }
-
- public Object clone() {
- MediaField retval = (MediaField) super.clone();
- if (this.formats != null)
- retval.formats = (Vector) this.formats.clone();
- return retval;
- }
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/OriginField.java b/java/gov/nist/javax/sdp/fields/OriginField.java
deleted file mode 100644
index 46329df..0000000
--- a/java/gov/nist/javax/sdp/fields/OriginField.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.Host;
-import gov.nist.core.Separators;
-
-import javax.sdp.SdpException;
-import javax.sdp.SdpParseException;
-/**
-* Origin Field SDP header
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class OriginField extends SDPField implements javax.sdp.Origin {
- protected String username;
- //protected long sessId;
- //protected long sessVersion;
- protected String nettype; // IN
- protected String addrtype; // IPV4/6
- protected Host address;
- private String sessIdString;
- private String sessVersionString;
-
- public OriginField() {
- super(ORIGIN_FIELD);
- }
-
- /** Returns the name of the session originator.
- * @throws SdpParseException
- * @return the string username.
- */
- public String getUsername() throws SdpParseException {
- return username;
- }
- /**
- * Get the sessionID member.
- */
- public long getSessId() {
-
- return Long.valueOf(this.sessIdString).longValue();
- }
-
- public String getSessIdAsString() {
- return this.sessIdString;
- }
- /**
- * Get the sessionVersion member.
- */
- public long getSessVersion() {
-
- return Long.valueOf(sessVersionString).longValue();
- }
-
- public String getSessVersionAsString() {
- return this.sessVersionString;
- }
- /**
- * Get the netType member.
- */
- public String getNettype() {
- return nettype;
- }
- /**
- * Get the address type member.
- */
- public String getAddrtype() {
- return addrtype;
- }
- /**
- * Get the host member.
- */
- public Host getHost() {
- return address;
- }
- /**
- * Set the sessId member
- */
- public void setSessId(long s) {
- this.sessIdString = Long.toString(s);
- }
-
- /**
- * This is a work around for some implementations that do not set a long
- * session id.
- */
- public void setSessionId(String sessId) {
- this.sessIdString = sessId;
- }
- /**
- * Set the sessVersion member
- */
- public void setSessVersion(long s) {
- sessVersionString = Long.toString(s);
- }
-
- /**
- * Set the session version as a string.
- */
- public void setSessVersion(String s) {
- this.sessVersionString = s;
- }
- /**
- * Set the nettype member
- */
- public void setNettype(String n) {
- nettype = n;
- }
- /**
- * Set the addrtype member
- */
- public void setAddrtype(String a) {
- addrtype = a;
- }
- /**
- * Set the address member
- */
- public void setAddress(Host a) {
- address = a;
- }
-
- /** Sets the name of the session originator.
- * @param user the string username.
- * @throws SdpException if the parameter is null
- */
- public void setUsername(String user) throws SdpException {
- if (user == null)
- throw new SdpException("The user parameter is null");
- else {
- this.username = user;
- }
- }
-
- /** Returns the unique identity of the session.
- * @throws SdpParseException
- * @return the session id.
- */
- public long getSessionId() throws SdpParseException {
- return getSessId();
- }
-
- /** Sets the unique identity of the session.
- * @param id the session id.
- * @throws SdpException if the id is <0
- */
- public void setSessionId(long id) throws SdpException {
- if (id < 0)
- throw new SdpException("The is parameter is <0");
- else
- setSessId(id);
- }
-
- /** Returns the unique version of the session.
- * @throws SdpException
- * @return the session version.
- */
- public long getSessionVersion() throws SdpParseException {
- return getSessVersion();
- }
-
- /** Sets the unique version of the session.
- * @param version the session version.
- * @throws SdpException if the version is <0
- */
- public void setSessionVersion(long version) throws SdpException {
- if (version < 0)
- throw new SdpException("The version parameter is <0");
- else
- setSessVersion(version);
- }
-
- /** Returns the type of the network for this Connection.
- * @throws SdpParseException
- * @return the string network type.
- */
- public String getAddress() throws SdpParseException {
- Host addr = getHost();
- if (addr == null)
- return null;
- else
- return addr.getAddress();
- }
-
- /** Returns the type of the address for this Connection.
- * @throws SdpParseException
- * @return the string address type.
- */
- public String getAddressType() throws SdpParseException {
- return getAddrtype();
- }
-
- /** Returns the type of the network for this Connection
- * @throws SdpParseException
- * @return the string network type.
- */
- public String getNetworkType() throws SdpParseException {
- return getNettype();
- }
-
- /** Sets the type of the address for this Connection.
- * @param addr string address type.
- * @throws SdpException if the addr is null
- */
- public void setAddress(String addr) throws SdpException {
- if (addr == null)
- throw new SdpException("The addr parameter is null");
- else {
- Host host = getHost();
- if (host == null)
- host = new Host();
- host.setAddress(addr);
- setAddress(host);
- }
- }
-
- /** Returns the type of the network for this Connection.
- * @param type the string network type.
- * @throws SdpException if the type is null
- */
- public void setAddressType(String type) throws SdpException {
- if (type == null)
- throw new SdpException("The type parameter is <0");
- else
- setAddrtype(type);
- }
-
- /** Sets the type of the network for this Connection.
- * @param type the string network type.
- * @throws SdpException if the type is null
- */
- public void setNetworkType(String type) throws SdpException {
- if (type == null)
- throw new SdpException("The type parameter is <0");
- else
- setNettype(type);
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- String addressStr = null;
-
- if (address != null){
- addressStr = address.encode();
-
- //it appears that SDP does not allow square brackets
- //in the connection address (see RFC4566) so make sure
- //we lose them
- if(Host.isIPv6Reference(addressStr))
- {
- //the isIPv6Reference == true means we have a minimum
- //of 2 symbols, so substring bravely
- addressStr = addressStr
- .substring(1, addressStr.length()-1);
- }
- }
-
- return ORIGIN_FIELD
- + username
- + Separators.SP
- + sessIdString
- + Separators.SP
- + sessVersionString
- + Separators.SP
- + nettype
- + Separators.SP
- + addrtype
- + Separators.SP
- + addressStr
- + Separators.NEWLINE;
- }
-
- public Object clone() {
- OriginField retval = (OriginField) super.clone();
- if (this.address != null)
- retval.address = (Host) this.address.clone();
- return retval;
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/PhoneField.java b/java/gov/nist/javax/sdp/fields/PhoneField.java
deleted file mode 100644
index 12641e4..0000000
--- a/java/gov/nist/javax/sdp/fields/PhoneField.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-/**
-* Phone Field SDP header
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class PhoneField extends SDPField implements javax.sdp.Phone {
- protected String name;
- protected String phoneNumber;
-
- public PhoneField() {
- super(PHONE_FIELD);
- }
-
- public String getName() {
- return name;
- }
- public String getPhoneNumber() {
- return phoneNumber;
- }
- /**
- * Set the name member
- *
- *@param name - the name to set.
- */
- public void setName(String name) {
- this.name = name;
- }
- /**
- * Set the phoneNumber member
- *@param phoneNumber - phone number to set.
- */
- public void setPhoneNumber(String phoneNumber) {
- this.phoneNumber = phoneNumber;
- }
-
- /** Returns the value.
- * @throws SdpParseException
- * @return the value.
- */
- public String getValue() throws SdpParseException {
- return getName();
- }
-
- /** Sets the value.
- * @param value the - new information.
- * @throws SdpException if the value is null
- */
- public void setValue(String value) throws SdpException {
- if (value == null)
- throw new SdpException("The value parameter is null");
- else
- setName(value);
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- * Here, we implement only the "name <phoneNumber>" form
- * and not the "phoneNumber (name)" form
- */
- public String encode() {
- String encoded_string;
- encoded_string = PHONE_FIELD;
- if (name != null) {
- encoded_string += name + Separators.LESS_THAN;
- }
- encoded_string += phoneNumber;
- if (name != null) {
- encoded_string += Separators.GREATER_THAN;
- }
- encoded_string += Separators.NEWLINE;
- return encoded_string;
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/PreconditionFields.java b/java/gov/nist/javax/sdp/fields/PreconditionFields.java
deleted file mode 100644
index 3a528a9..0000000
--- a/java/gov/nist/javax/sdp/fields/PreconditionFields.java
+++ /dev/null
@@ -1,673 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*****************************************************************************
- * PRODUCT OF PT INOVACAO - EST DEPARTMENT and Aveiro University - Portugal) *
- *****************************************************************************/
-
-
-package gov.nist.javax.sdp.fields;
-
-
-import java.util.Vector;
-import javax.sdp.SdpException;
-import javax.sdp.SdpParseException;
-import gov.nist.core.NameValue;
-
-
-
-
-/**
- * Precondition fields (segmented / end-to-end).
- *
- * <p>For one media description, precondition attributes should
- * be only of one type (segmented or end-to-end) </p>
- * <p>3GPP TS 24.299, </p>
- * IETF RFC3312 + RFC4032 (Precondition Mechanism).
- *
- * @author Miguel Freitas (IT) PT-Inovacao
- */
-
-
-public class PreconditionFields
-{
-
- // Media Description attributes for precondition
- protected Vector preconditionAttributes;
-
-
- /**
- * Constructor
- *
- */
- public PreconditionFields()
- {
- preconditionAttributes = new Vector();
- }
-
-
- /**
- * Get the number of Precondition attributes
- *
- * @return int size of segmented precondition vector of attribute fields
- */
- public int getPreconditionSize()
- {
- if (preconditionAttributes != null)
- return preconditionAttributes.size();
-
- else // TODO treat this exception well
- return -1;
- }
-
- /**
- * Get Precondition
- *
- * @return Vector of attribute fields (segmented precondition)
- */
- public Vector getPreconditions()
- {
- return preconditionAttributes;
- }
-
-
- /**
- * Set Preconditions
- *
- * @param preconditions - vector with precondition attributes
- * @throws SdpException -- if precondition attributes is null
- */
- public void setPreconditions(Vector preconditions) throws SdpException
- {
- if (preconditions == null)
- throw new SdpException("Precondition attributes are null");
- else
- preconditionAttributes = preconditions;
- }
-
-
-
- /**
- * <p>Set attribute line for current precondition state, given
- * a string value encoded like the "curr" attribute value</p>
- *
- * @param precondCurrValue - a string with the value for a "curr" attribute
- * @throws SdpException
- */
- public void setPreconditionCurr(String precondCurrValue) throws SdpException
- {
- if (precondCurrValue == null)
- throw new SdpException("The Precondition \"curr\" attribute value is null");
- else if (preconditionAttributes == null)
- throw new SdpException("The Precondition Attributes is null");
- else
- {
- try
- {
- /* split the "curr" attribute value into words
- * attributes[0] = "qos"
- * attributes[1] = status-type (e2e/local/remote)
- * attributes[2] = direction-tag (none/send/recv/sendrecv)
- *
- * split() - regular expression:
- * \s -> a whitespace character [ \t\n\x0B\f\r]
- * \b -> a word boundary
- */
- String[] attributes = precondCurrValue.split(" ");
-
-
- // which is this length?! of the string or the []?
- /*
- if (attributes.length < 3)
- {
- throw new SdpException
- ("The Precondition \"curr\" attribute value mal-formed (<3words)");
- }*/
-
- setPreconditionCurr(attributes[1], // status-type
- attributes[2] // direction-tag
- );
- }
- catch (ArrayIndexOutOfBoundsException ex)
- {
- throw new SdpException
- ("Error spliting the \"curr\" attribute into words", ex);
- }
- }
- }
-
-
-
-
-
- /**
- * <p>Set the value of the attributes with the name "curr"
- * for current precondition.</p>
- * <p>- eg: a=curr:qos local none</p>
- *
- * <p>If there is an attribute "curr" for the same status-type,
- * the direction-tag is updated with the one supplied.</p>
- *
- * @param status - (local, remote, e2e)
- * @param directionTag - (none, send, recv, sendrecv)
- * @throws SdpParseException
- */
- public void setPreconditionCurr(String status, String directionTag)
- throws SdpException
- {
- if (status == null)
- throw new SdpException("The status-type is null");
- if (directionTag == null)
- throw new SdpException("The direction-tag is null");
-
- if (preconditionAttributes == null)
- throw new SdpException("Precondition Attributes is null");
-
- int i = 0;
- // search for attributes "curr"
- for (i = 0; i < preconditionAttributes.size(); i++)
- {
- AttributeField af =
- (AttributeField) this.preconditionAttributes.elementAt(i);
-
- // go to next attribute if this is not "curr"
- if (!af.getAttribute().getName().equals("curr"))
- continue;
-
- // if it is "curr" attribute, check the status-type
- // if it matches the value supplied, update the direction-tag
- // with the value supplied
- if (af.getValue().indexOf(status) != -1)
- {
- if (af.getValue().indexOf(directionTag) == -1)
- {
- // attribute exists with same status, directionTag updated
- af.setValue("qos " + status + " " + directionTag);
- preconditionAttributes.setElementAt(af,i);
- }
- // else, exit and do nothing (attribute already exists)
- else
- break;
- }
- }
-
- // attribute "curr" not found
- if (i == preconditionAttributes.size())
- {
- // create attribute for the status-type supplied
- NameValue nv = new NameValue("curr", "qos " + status + " " + directionTag);
-
- AttributeField newAF = new AttributeField();
- newAF.setAttribute(nv);
- preconditionAttributes.add(newAF);
- }
- }
-
-
-
-
-
-
-
- /**
- * <p>Set attribute line for desired precondition state, given
- * a string value encoded like the "des" attribute value</p>
- *
- * @param precondDesValue - a string with the value for a "des" attribute
- * @throws SdpException
- */
- public void setPreconditionDes(String precondDesValue) throws SdpException
- {
- if (precondDesValue == null)
- throw new SdpException("The Precondition \"des\" attribute value is null");
- else if (preconditionAttributes == null)
- throw new SdpException("The Precondition Attributes is null");
- else
- {
- /* split the "des" attribute value into words
- * attributes[0] = "qos"
- * attributes[1] = strength-tag (unknown/failure/none/optional/mandatory)
- * attributes[2] = status-type (e2e/local/remote)
- * attributes[3] = direction-tag (none/send/recv/sendrecv)
- *
- * split() - regular expression:
- * \s -> a whitespace character [ \t\n\x0B\f\r]
- * \b -> a word boundary
- */
- try
- {
- String[] attributes = precondDesValue.split(" ");
-
- // which is this length?! of the string or the []?
- /*
- if (attributes.length < 4)
- {
- throw new SdpException
- ("The Precondition \"des\" attribute value mal-formed (<4words)");
- }*/
-
- setPreconditionDes( attributes[1], // strength-tag
- attributes[2], // status-type
- attributes[3] // direction-tag
- );
- }
- catch (ArrayIndexOutOfBoundsException ex)
- {
- throw new SdpException
- ("Error spliting the \"des\" attribute into words", ex);
- }
- }
- }
-
-
-
-
-
-
- /**
- * <p>Set the value of the attributes with the name "des"
- * for desired precondition. </p>
- * <p>- eg: a=des:qos mandatory remote sendrecv</p>
- *
- * <p>There can be more than one desired precondition line
- * for a status-type, specially if strength-tag is different.</p>
- *
- * <p>If there is an attribute "des" for the same status-type,
- * the strength-tag and direction-tag are updated with the
- * ones supplied.<p>
- *
- * <p>IETF RFC4032: strength should only be downgraded within SDP offers</p>
- *
- *
- * @param strength - (none, optional,
- * @param status - (local, remote, e2e)
- * @param direction - (none, send, recv, sendrecv)
- * @throws SdpParseException
- */
- public void setPreconditionDes(String strength, String status, String direction)
- throws SdpException
- {
- if (strength == null)
- throw new SdpException("The strength-tag is null");
- if (status == null)
- throw new SdpException("The status-type is null");
- if (direction == null)
- throw new SdpException("The direction-tag is null");
-
- if (preconditionAttributes == null)
- throw new SdpException("Precondition Attributes is null");
-
- int i = 0;
- // search for attributes "des"
- for (i = 0; i < preconditionAttributes.size(); i++)
- {
- AttributeField af =
- (AttributeField) this.preconditionAttributes.elementAt(i);
-
- // go to next attribute if this is not "des"
- if (!af.getAttribute().getName().equals("des"))
- continue;
-
- // if it is "des" attribute, check the status-type
- // if it match, update the strength-tag and direction-tag
- if (af.getValue().indexOf(status) != -1)
- {
- // attribute exists with same status-type,
- // strength-tag and direction-tag updated
- af.setValue("qos " + strength + " " + status + " " + direction);
- preconditionAttributes.setElementAt(af,i);
-
- }
- }
-
- // attribute "des" not found
- if (i == preconditionAttributes.size())
- {
- // create attribute for the status-type supplied
- // with the values strength-tag and direction-tag
- NameValue nv =
- new NameValue("des", "qos " + strength + " " + status + " " + direction);
-
- AttributeField newAF = new AttributeField();
- newAF.setAttribute(nv);
- preconditionAttributes.add(newAF);
- }
- }
-
-
-
-
-
-
-
- /**
- * <p>Set attribute line for confirmation precondition request, given
- * a string value encoded like the "conf" attribute value</p>
- *
- * @param precondConfValue - a string with the value for a "conf" attribute
- * @throws SdpException
- */
- public void setPreconditionConfirmStatus(String precondConfValue)
- throws SdpException
- {
- if (precondConfValue == null || precondConfValue.length()==0)
- throw new SdpException("The Precondition \"conf\" attribute value is null");
- else if (preconditionAttributes == null)
- throw new SdpException("The Precondition Attributes is null");
- else
- {
- /* split the "conf" attribute value into words
- * attributes[0] = "qos"
- * attributes[1] = status-type (e2e/local/remote)
- * attributes[2] = direction-tag (none/send/recv/sendrecv)
- */
- try
- {
- String[] attributes = precondConfValue.split(" ");
-
- setPreconditionConfirmStatus(
- attributes[1], // status-type
- attributes[2] // direction-tag
- );
- }
- catch (ArrayIndexOutOfBoundsException ex)
- {
- throw new SdpException
- ("Error spliting the \"conf\" attribute into words", ex);
- }
- }
- }
-
-
-
-
-
- /**
- * <p>IETF RFC3312</p>
- * <p>"The confirmation status attribute carries threshold conditions
- * for a media stream. When the status of network resources reach
- * these conditions, the peer UA will send an update of the
- * session description".</p>
- *
- * <p>- eg: a=conf:qos remote sendrecv</p>
- *
- * @param status - (e2e, local, remote)
- * @param direction - (none, send, recv, sendrecv)
- * @throws SdpException -- if param are null
- */
- public void setPreconditionConfirmStatus(String status, String direction)
- throws SdpException
- {
- if (status == null || direction.length()==0)
- throw new SdpException("The status-type is null");
- if (direction == null || direction.length()==0)
- throw new SdpException("The direction-tag is null");
-
- if (preconditionAttributes == null)
- throw new SdpException("Precondition Attributes is null");
-
- int i = 0;
- // search for attributes "conf"
- for (i = 0; i < preconditionAttributes.size(); i++)
- {
- AttributeField af =
- (AttributeField) this.preconditionAttributes.elementAt(i);
-
-
- //System.out.println("--> PreconditionField -> (i="+i+") > attribute field: " + af.toString());
-
-
- // go to next attribute if this is not "conf"
- if (!af.getAttribute().getName().equals("conf"))
- continue;
-
- // if it is "conf" attribute, check the status-type
- // if it matches, update the direction-tag
- // with the value supplied
- if (af.getValue().indexOf(status) != -1)
- {
- if (af.getValue().indexOf(direction) == -1)
- {
- // attribute exists with same status, directionTag updated
- af.setValue("qos " + status + " " + direction);
- preconditionAttributes.setElementAt(af,i);
- }
- // else, exit and do nothing (attribute already exists)
- break;
- }
- }
-
- // attribute "conf" not found
- if (i == preconditionAttributes.size())
- {
- // create attribute for the status-type supplied
- // with the values strength-tag and direction-tag
- NameValue nv =
- new NameValue("conf", "qos " + status + " " + direction);
-
- AttributeField newAF = new AttributeField();
- newAF.setAttribute(nv);
- preconditionAttributes.add(newAF);
-
-
- //System.out.println("--> PreconditionField -> new \"conf\" attribute created: " + newAF.toString() );
- }
- }
-
-
-
-
-
-
-
-
-
-
- /**
- * <p>Get the attribute fields with the name "curr"
- * for current precondition.</p>
- * <p>One attribute field per status-type.
- * (eg: a=curr:qos local none)</p>
- *
- * @param status - (local, remote, e2e)
- * @return a vector with the attribute field that match status-type
- * (with only one element or null if none exists)
- * @throws SdpParseException
- */
- public Vector getPreconditionCurr(String status)
- throws SdpException, SdpParseException
- {
- if (status == null)
- throw new SdpException("The status-type is null");
-
- if (preconditionAttributes == null)
- return null;
- else
- {
- Vector vCurr = new Vector();
- for (int i=0; i < preconditionAttributes.size(); i++)
- {
- AttributeField af =
- (AttributeField) this.preconditionAttributes.elementAt(i);
-
- // go to next attribute if this is not "curr"
- if (!af.getAttribute().getName().equals("curr"))
- continue;
-
- // if it is "curr" attribute, check the status-type
- // and add the attribute value to the vector if it
- // matches the status desired
- if (af.getValue().indexOf(status) != -1)
- vCurr.addElement(af);
- }
-
- // if none "curr" attribute found
- if (vCurr.size() == 0)
- return null;
- else
- return vCurr;
- }
- }
-
-
-
-
- /**
- * <p>Get the attribute fields with the name "des"
- * for desired precondition</p>
- *
- * <p>There can be more than one current precondition line
- * for a status-type (with different direction-tag values),
- * specially if strength-tag is different</p>
- *
- * @param status - (local, remote, e2e)
- * @return a vector with the attribute fields that match location-tag
- * @throws SdpParseException
- */
- public Vector getPreconditionDes(String status)
- throws SdpException, SdpParseException
- {
- if (status == null)
- throw new SdpException("The status-type is null");
-
- if (preconditionAttributes == null)
- return null;
- else
- {
- Vector vCurr = new Vector();
- for (int i=0; i < preconditionAttributes.size(); i++)
- {
- AttributeField af =
- (AttributeField) this.preconditionAttributes.elementAt(i);
-
- // go to next attribute if this is not "des"
- if (!af.getAttribute().getName().equals("des"))
- continue;
-
- // if it is "des" attribute, check the status-type
- // and add the attribute value to the vector if it
- // matches the status desired
- if (af.getValue().indexOf(status) != -1)
- vCurr.addElement(af);
- }
-
- // if none "des" attribute found
- if (vCurr.size() == 0)
- return null;
- else
- return vCurr;
- }
- }
-
-
-
- /**
- * <p>Get the attribute fields with the name "conf"
- * for confirmation precondition.</p>
- *
- * <p>IETF RFC3312</p>
- * <p>"The confirmation status attribute carries threshold conditions
- * for a media stream. When the status of network resources reach
- * these conditions, the peer UA will send an update of the
- * session description".</p>
- *
- * <p>(eg: a=conf:qos remote sendrecv)</p>
- *
- * @return a vector with the "conf" attribute fields
- * @throws SdpException
- */
- public Vector getPreconditionConfirmStatus() throws SdpException
- {
- if (preconditionAttributes == null)
- return null; // ignore or send SdpException?
- else
- {
- Vector vCurr = new Vector();
- for (int i=0; i < preconditionAttributes.size(); i++)
- {
- AttributeField af =
- (AttributeField) this.preconditionAttributes.elementAt(i);
-
- // go to next attribute if this is not "conf"
- if (!af.getAttribute().getName().equals("conf"))
- continue;
- else
- // add the attribute value to the vector
- vCurr.addElement(af);
- }
-
- // if none "conf" attribute found
- if (vCurr.size() == 0)
- return null;
- else
- return vCurr;
- }
- }
-
-
-
- /* strength-tag */
- public static final int STRENGTH_UNKNOWN = 0;
- public static final int STRENGTH_FAILURE = 1;
- public static final int STRENGTH_NONE = 2;
- public static final int STRENGTH_OPTIONAL = 3;
- public static final int STRENGTH_MANDATORY = 4;
- public static final String[] STRENGTH = { "unknown",
- "failure",
- "none",
- "optional",
- "mandatory"
- };
- /* direction-tag */
- public static final int DIRECTION_NONE = 0;
- public static final int DIRECTION_SEND = 1;
- public static final int DIRECTION_RECV = 2;
- public static final int DIRECTION_SENDRECV = 3;
- public static final String[] DIRECTION = { "none",
- "send",
- "recv",
- "sendrecv"
- };
-
- /* status-tag */
- public static final int STATUS_E2E = 0;
- public static final int STATUS_LOCAL = 1;
- public static final int STATUS_REMOTE = 2;
- public static final String[] STATUS = { "e2e",
- "local",
- "remote"
- };
-
- /* precondition type */
- public static final int PRECONDITION_QOS = 0;
- public static final String[] PRECONDITION = { "qos"
- };
-
-
-
-
-
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/ProtoVersionField.java b/java/gov/nist/javax/sdp/fields/ProtoVersionField.java
deleted file mode 100644
index 615c2a7..0000000
--- a/java/gov/nist/javax/sdp/fields/ProtoVersionField.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-
-/** Proto version field of SDP announce.
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*
-*/
-public class ProtoVersionField extends SDPField implements javax.sdp.Version {
- protected int protoVersion;
-
- public ProtoVersionField() {
- super(PROTO_VERSION_FIELD);
- }
-
- public int getProtoVersion() {
- return protoVersion;
- }
-
- /**
- * Set the protoVersion member
- */
- public void setProtoVersion(int pv) {
- protoVersion = pv;
- }
-
- /** Returns the version number.
- * @throws SdpParseException
- * @return int
- */
- public int getVersion() throws SdpParseException {
- return getProtoVersion();
- }
-
- /** Sets the version.
- * @param value the - new version value.
- * @throws SdpException if the value is <=0
- */
- public void setVersion(int value) throws SdpException {
- if (value < 0)
- throw new SdpException("The value is <0");
- else
- setProtoVersion(value);
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- return PROTO_VERSION_FIELD + protoVersion + Separators.NEWLINE;
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/RepeatField.java b/java/gov/nist/javax/sdp/fields/RepeatField.java
deleted file mode 100644
index 8c5f1a4..0000000
--- a/java/gov/nist/javax/sdp/fields/RepeatField.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import java.util.LinkedList;
-import java.util.ListIterator;
-import javax.sdp.*;
-/**
-* Repeat SDP Field (part of the time field).
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class RepeatField extends SDPField implements javax.sdp.RepeatTime {
-
- private static final long serialVersionUID = -6415338212212641819L;
- protected TypedTime repeatInterval;
- protected TypedTime activeDuration;
- protected SDPObjectList offsets;
-
- public RepeatField() {
- super(REPEAT_FIELD);
- offsets = new SDPObjectList();
- }
-
- public void setRepeatInterval(TypedTime interval) {
- repeatInterval = interval;
- }
-
- public void setActiveDuration(TypedTime duration) {
- activeDuration = duration;
- }
-
- public void addOffset(TypedTime offset) {
- offsets.add(offset);
- }
-
- public LinkedList getOffsets() {
- return offsets;
- }
-
- /** Returns the "repeat interval" in seconds.
- * @throws SdpParseException
- * @return the "repeat interval" in seconds.
- */
- public int getRepeatInterval() throws SdpParseException {
- if (repeatInterval == null)
- return -1;
- else {
- return repeatInterval.getTime();
- }
- }
-
- /** Set the "repeat interval" in seconds.
- * @param repeatInterval the "repeat interval" in seconds.
- * @throws SdpException if repeatInterval is <0
- */
- public void setRepeatInterval(int repeatInterval) throws SdpException {
- if (repeatInterval < 0)
- throw new SdpException("The repeat interval is <0");
- else {
- if (this.repeatInterval == null)
- this.repeatInterval = new TypedTime();
- this.repeatInterval.setTime(repeatInterval);
- }
- }
-
- /** Returns the "active duration" in seconds.
- * @throws SdpParseException
- * @return the "active duration" in seconds.
- */
- public int getActiveDuration() throws SdpParseException {
- if (activeDuration == null)
- return -1;
- else {
- return activeDuration.getTime();
- }
- }
-
- /** Sets the "active duration" in seconds.
- * @param activeDuration the "active duration" in seconds.
- * @throws SdpException if the active duration is <0
- */
- public void setActiveDuration(int activeDuration) throws SdpException {
- if (activeDuration < 0)
- throw new SdpException("The active Duration is <0");
- else {
- if (this.activeDuration == null)
- this.activeDuration = new TypedTime();
- this.activeDuration.setTime(activeDuration);
- }
- }
-
- /** Returns the list of offsets. These are relative to the start-time given
- * in the Time object (t=
- * field) with which this RepeatTime is associated.
- * @throws SdpParseException
- * @return the list of offsets
- */
- public int[] getOffsetArray() throws SdpParseException {
- LinkedList linkedList = getOffsets();
- int[] result = new int[linkedList.size()];
- for (int i = 0; i < linkedList.size(); i++) {
- TypedTime typedTime = (TypedTime) linkedList.get(i);
- result[i] = typedTime.getTime();
- }
- return result;
- }
-
- /** Set the list of offsets. These are relative to the start-time given in the
- * Time object (t=
- * field) with which this RepeatTime is associated.
- * @param offsets array of repeat time offsets
- * @throws SdpException
- */
- public void setOffsetArray(int[] offsets) throws SdpException {
- for (int i = 0; i < offsets.length; i++) {
- TypedTime typedTime = new TypedTime();
- typedTime.setTime(offsets[i]);
- addOffset(typedTime);
- }
-
- }
-
- /** Returns whether the field will be output as a typed time or a integer value.
- *
- * Typed time is formatted as an integer followed by a unit character. The unit indicates an
- * appropriate multiplier for the integer.
- *
- * The following unit types are allowed.
- * d - days (86400 seconds)
- * h - hours (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds ( 1 seconds)
- * @throws SdpParseException
- * @return true, if the field will be output as a typed time; false, if as an integer value.
- */
- public boolean getTypedTime() throws SdpParseException {
- return true;
- }
-
- /** Sets whether the field will be output as a typed time or a integer value.
- *
- * Typed time is formatted as an integer followed by a unit character. The unit indicates an
- * appropriate multiplier for the integer.
- *
- * The following unit types are allowed.
- * d - days (86400 seconds)
- * h - hours (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds ( 1 seconds)
- * @param typedTime typedTime - if set true, the start and stop times will be output in an optimal typed
- * time format; if false, the times will be output as integers.
- */
- public void setTypedTime(boolean typedTime) {
-
- }
-
- public String encode() {
- StringBuffer retval = new StringBuffer();
- retval.append(REPEAT_FIELD)
- .append(repeatInterval.encode())
- .append(Separators.SP)
- .append(activeDuration.encode());
- ListIterator li = offsets.listIterator();
- while (li.hasNext()) {
- TypedTime off = (TypedTime) li.next();
- retval.append (Separators.SP).append (off.encode());
- }
- retval.append (Separators.NEWLINE);
- return retval.toString ();
- }
-
- public Object clone() {
- RepeatField retval = (RepeatField) super.clone();
- if (this.repeatInterval != null)
- retval.repeatInterval = (TypedTime) this.repeatInterval.clone();
- if (this.activeDuration != null)
- retval.activeDuration = (TypedTime) this.activeDuration.clone();
- if (this.offsets != null)
- retval.offsets = (SDPObjectList) this.offsets.clone();
- return retval;
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/SDPField.java b/java/gov/nist/javax/sdp/fields/SDPField.java
deleted file mode 100644
index ac3cb59..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPField.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-/**
-* Placeholder root class for SDP headers.
-*
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-
-public abstract class SDPField extends SDPObject {
- protected String fieldName;
-
- public abstract String encode();
-
- protected SDPField(String hname) {
- fieldName = hname;
- }
-
- public String getFieldName() {
- return fieldName;
- }
-
- /** Returns the type character for the field.
- * @return the type character for the field.
- */
- public char getTypeChar() {
- if (fieldName == null)
- return '\0';
- else
- return fieldName.charAt(0);
- }
-
- public SDPField() {
- }
-
- public String toString() {
- return this.encode();
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/SDPFieldList.java b/java/gov/nist/javax/sdp/fields/SDPFieldList.java
deleted file mode 100644
index c25e405..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPFieldList.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import java.util.ListIterator;
-
-/**
-* A list of SDP Fields.
-*
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-
-public abstract class SDPFieldList extends SDPField {
- protected SDPObjectList sdpFields;
-
- public SDPFieldList() {
- }
-
- /** Return a list iterator for the embedded field list.
- */
- public ListIterator listIterator() {
- return sdpFields.listIterator();
- }
-
- public SDPFieldList(String fieldName) {
- super(fieldName);
- sdpFields = new SDPObjectList(fieldName);
- }
-
- public SDPFieldList(String fieldName, String classname) {
- super(fieldName);
- sdpFields = new SDPObjectList(fieldName, classname);
- }
-
- /**
- *add a SDP Field to the list of headers that we maintain.
- *@param h is the sdp field to add to our list.
- */
- public void add(SDPField h) {
- sdpFields.add(h);
- }
-
- public SDPObject first() {
- return (SDPObject) sdpFields.first();
- }
-
- public SDPObject next() {
- return (SDPObject) sdpFields.next();
- }
-
- /**
- * Encode into a canonical string.
- */
- public String encode() {
- StringBuffer retval = new StringBuffer();
- ListIterator li = sdpFields.listIterator();
- while (li.hasNext()) {
- SDPField sdphdr = (SDPField) li.next();
- retval.append(sdphdr.encode());
- }
- return retval.toString();
- }
- /**
- * convert to a string representation (for printing).
- * @param indentation int to set
- * @return String string representation of object (for printing).
- */
- public String debugDump(int indentation) {
- stringRepresentation = "";
- String indent = new Indentation(indentation).getIndentation();
- ;
- String className = this.getClass().getName();
- sprint(indent + className);
- sprint(indent + "{");
- sprint(indent + sdpFields.debugDump(indentation));
- sprint(indent + "}");
- return stringRepresentation;
- }
-
- /** convert to a string representation
- * @return String
- */
- public String debugDump() {
- return debugDump(0);
- }
-
- /** Return a string representation.
- *
- *@return String representation.
- */
- public String toString() {
- return encode();
- }
-
- /**
- * Equality checking predicate.
- *@param other is the other object to compare ourselves against.
- */
- public boolean equals(Object other) {
- if (other == null ) return false;
- if (!this.getClass().equals(other.getClass()))
- return false;
- SDPFieldList that = (SDPFieldList) other;
- if (sdpFields == null)
- return that.sdpFields == null;
- return this.sdpFields.equals(that.sdpFields);
- }
-
- /**
- * Do a template match of fields.
- *@param template is the template to match against.
- */
- public boolean match(Object template) {
- if (template == null)
- return true;
- if (!template.getClass().equals(this.getClass()))
- return false;
- SDPFieldList other = (SDPFieldList) template;
- if (sdpFields == other.sdpFields)
- return true;
- else if (sdpFields == null)
- return false;
- return sdpFields.match(other.sdpFields);
- }
-
- public Object clone() {
- SDPFieldList retval = (SDPFieldList) super.clone();
- if (this.sdpFields != null)
- retval.sdpFields = (SDPObjectList) this.sdpFields.clone();
- return retval;
- }
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/SDPFieldNames.java b/java/gov/nist/javax/sdp/fields/SDPFieldNames.java
deleted file mode 100644
index a73379c..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPFieldNames.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*****************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-/**
-*Field names for SDP Fields.
-*
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-
-public interface SDPFieldNames {
-
- public static final String SESSION_NAME_FIELD = "s=";
- public static final String INFORMATION_FIELD = "i=";
- public static final String EMAIL_FIELD = "e=";
- public static final String PHONE_FIELD = "p=";
- public static final String CONNECTION_FIELD = "c=";
- public static final String BANDWIDTH_FIELD = "b=";
- public static final String ORIGIN_FIELD = "o=";
- public static final String TIME_FIELD = "t=";
- public static final String KEY_FIELD = "k=";
- public static final String ATTRIBUTE_FIELD = "a=";
- public static final String PROTO_VERSION_FIELD = "v=";
- public static final String URI_FIELD = "u=";
- public static final String MEDIA_FIELD = "m=";
- public static final String REPEAT_FIELD = "r=";
- public static final String ZONE_FIELD = "z=";
-}
diff --git a/java/gov/nist/javax/sdp/fields/SDPFormat.java b/java/gov/nist/javax/sdp/fields/SDPFormat.java
deleted file mode 100644
index adba422..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPFormat.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-/**
-* Media Description SDP header
-*
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class SDPFormat extends SDPObject {
- protected String format;
-
- public void setFormat(String fmt) {
- format = fmt;
- }
-
- public String getFormat() {
- return format;
- }
-
- public SDPFormat(String s) {
- format = s;
- }
-
- public SDPFormat() {
- }
-
- public String encode() {
- return format;
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/SDPKeywords.java b/java/gov/nist/javax/sdp/fields/SDPKeywords.java
deleted file mode 100644
index c2422f2..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPKeywords.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-/**
-* A context sensitive list of keyowrds for SDP Headers.
-*/
-public interface SDPKeywords {
- public static final String BASE64="base64";
- public static final String PROMPT="prompt";
- public static final String CLEAR = "clear";
- public static final String URI="URI";
- public static final String IPV4="IP4";
- public static final String IPV6="IP6";
- public static final String IN="IN";
-}
diff --git a/java/gov/nist/javax/sdp/fields/SDPObject.java b/java/gov/nist/javax/sdp/fields/SDPObject.java
deleted file mode 100644
index b4bed6f..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPObject.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import java.lang.reflect.*;
-
-/**
-* Root class for everything in this package.
-*/
-public abstract class SDPObject
- extends GenericObject
- implements SDPFieldNames {
-
- protected static final String SDPFIELDS_PACKAGE =
- PackageNames.SDP_PACKAGE + ".fields";
- protected static final String CORE_PACKAGE = PackageNames.CORE_PACKAGE;
-
- // should make this a property during the compile.
-
- public abstract String encode();
-
- protected void sprint(String s) {
- super.sprint(s);
- }
-
- protected void initSprint() {
- super.stringRepresentation = "";
- }
-
- public String toString() {
- return encode();
- }
-
- protected String getStringRepresentation() {
- return super.stringRepresentation;
- }
-
- /**
- * An introspection based equality predicate for SDPObjects.
- *@param that is the other object to test against.
- *@return true if the objects are equal.
- */
- public boolean equals(Object that) {
- if (!this.getClass().equals(that.getClass()))
- return false;
- Class myclass = this.getClass();
- Field[] fields = myclass.getDeclaredFields();
- Class hisclass = that.getClass();
- Field[] hisfields = hisclass.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- Field f = fields[i];
- Field g = hisfields[i];
- // Only print protected and public members.
- int modifier = f.getModifiers();
- if (modifier == Modifier.PRIVATE)
- continue;
- Class fieldType = f.getType();
- String fieldName = f.getName();
- if (fieldName.compareTo("stringRepresentation") == 0) {
- continue;
- }
- if (fieldName.compareTo("indentation") == 0) {
- continue;
- }
- try {
- // Primitive fields are printed with type: value
- if (fieldType.isPrimitive()) {
- String fname = fieldType.toString();
- if (fname.compareTo("int") == 0) {
- if (f.getInt(this) != g.getInt(that))
- return false;
- } else if (fname.compareTo("short") == 0) {
- if (f.getShort(this) != g.getShort(that))
- return false;
- } else if (fname.compareTo("char") == 0) {
- if (f.getChar(this) != g.getChar(that))
- return false;
- } else if (fname.compareTo("long") == 0) {
- if (f.getLong(this) != g.getLong(that))
- return false;
- } else if (fname.compareTo("boolean") == 0) {
- if (f.getBoolean(this) != g.getBoolean(that))
- return false;
- } else if (fname.compareTo("double") == 0) {
- if (f.getDouble(this) != g.getDouble(that))
- return false;
- } else if (fname.compareTo("float") == 0) {
- if (f.getFloat(this) != g.getFloat(that))
- return false;
- }
- } else if (g.get(that) == f.get(this))
- continue;
- else if (f.get(this) == null && g.get(that) != null)
- return false;
- else if (g.get(that) == null && f.get(that) != null)
- return false;
- else if (!f.get(this).equals(g.get(that)))
- return false;
- } catch (IllegalAccessException ex1) {
- InternalErrorHandler.handleException(ex1);
- }
- }
- return true;
- }
-
- /**
- * Generic introspection based printing funciton for this package.
- * Because we use introspection, this must reside in this package
- * and we cannot use the superclass defintion (even though it
- * is virtually identical.
- */
- public String debugDump() {
- stringRepresentation = "";
- Class myclass = getClass();
- sprint(myclass.getName());
- sprint("{");
- Field[] fields = myclass.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- Field f = fields[i];
- // Only print protected and public members.
- int modifier = f.getModifiers();
- if (modifier == Modifier.PRIVATE)
- continue;
- Class fieldType = f.getType();
- String fieldName = f.getName();
- if (fieldName.compareTo("stringRepresentation") == 0) {
- // avoid nasty recursions...
- continue;
- }
- if (fieldName.compareTo("indentation") == 0) {
- // formatting stuff - not relevant here.
- continue;
- }
- sprint(fieldName + ":");
- try {
- // Primitive fields are printed with type: value
- if (fieldType.isPrimitive()) {
- String fname = fieldType.toString();
- sprint(fname + ":");
- if (fname.compareTo("int") == 0) {
- int intfield = f.getInt(this);
- sprint(intfield);
- } else if (fname.compareTo("short") == 0) {
- short shortField = f.getShort(this);
- sprint(shortField);
- } else if (fname.compareTo("char") == 0) {
- char charField = f.getChar(this);
- sprint(charField);
- } else if (fname.compareTo("long") == 0) {
- long longField = f.getLong(this);
- sprint(longField);
- } else if (fname.compareTo("boolean") == 0) {
- boolean booleanField = f.getBoolean(this);
- sprint(booleanField);
- } else if (fname.compareTo("double") == 0) {
- double doubleField = f.getDouble(this);
- sprint(doubleField);
- } else if (fname.compareTo("float") == 0) {
- float floatField = f.getFloat(this);
- sprint(floatField);
- }
- } else if (
- Class.forName(
- CORE_PACKAGE + ".GenericObject").isAssignableFrom(
- fieldType)) {
- if (f.get(this) != null) {
- sprint(
- ((GenericObject) f.get(this)).debugDump(
- indentation + 1));
- } else {
- sprint("<null>");
- }
-
- } else if (
- Class.forName(
- CORE_PACKAGE + ".GenericObjectList").isAssignableFrom(
- fieldType)) {
- if (f.get(this) != null) {
- sprint(
- ((GenericObjectList) f.get(this)).debugDump(
- indentation + 1));
- } else {
- sprint("<null>");
- }
-
- } else {
- // Dont do recursion on things that are not
- // of our header type...
- if (f.get(this) != null) {
- sprint(f.get(this).getClass().getName() + ":");
- } else {
- sprint(fieldType.getName() + ":");
- }
-
- sprint("{");
- if (f.get(this) != null) {
- sprint(f.get(this).toString());
- } else {
- sprint("<null>");
- }
- sprint("}");
- }
- } catch (IllegalAccessException ex1) {
- continue; // we are accessing a private field...
- } catch (ClassNotFoundException ex) {
- System.out.println("Cound not find " + ex.getMessage());
- ex.printStackTrace();
- System.exit(0);
- }
- }
- sprint("}");
- return stringRepresentation;
- }
-
- /** An introspection based predicate matching using a template
- * object. Allows for partial match of two protocl Objects.
- *@param other the match pattern to test against. The match object
- * has to be of the same type (class). Primitive types
- * and non-sip fields that are non null are matched for equality.
- * Null in any field matches anything. Some book-keeping fields
- * are ignored when making the comparison.
- */
-
- public boolean match(Object other) {
- if (other == null)
- return true;
- if (!this.getClass().equals(other.getClass()))
- return false;
- GenericObject that = (GenericObject) other;
- Class myclass = this.getClass();
- Field[] fields = myclass.getDeclaredFields();
- Class hisclass = other.getClass();
- Field[] hisfields = hisclass.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- Field f = fields[i];
- Field g = hisfields[i];
- // Only print protected and public members.
- int modifier = f.getModifiers();
- if (modifier == Modifier.PRIVATE)
- continue;
- Class fieldType = f.getType();
- String fieldName = f.getName();
- if (fieldName.compareTo("stringRepresentation") == 0) {
- continue;
- }
- if (fieldName.compareTo("indentation") == 0) {
- continue;
- }
- try {
- // Primitive fields are printed with type: value
- if (fieldType.isPrimitive()) {
- String fname = fieldType.toString();
- if (fname.compareTo("int") == 0) {
- if (f.getInt(this) != g.getInt(that))
- return false;
- } else if (fname.compareTo("short") == 0) {
- if (f.getShort(this) != g.getShort(that))
- return false;
- } else if (fname.compareTo("char") == 0) {
- if (f.getChar(this) != g.getChar(that))
- return false;
- } else if (fname.compareTo("long") == 0) {
- if (f.getLong(this) != g.getLong(that))
- return false;
- } else if (fname.compareTo("boolean") == 0) {
- if (f.getBoolean(this) != g.getBoolean(that))
- return false;
- } else if (fname.compareTo("double") == 0) {
- if (f.getDouble(this) != g.getDouble(that))
- return false;
- } else if (fname.compareTo("float") == 0) {
- if (f.getFloat(this) != g.getFloat(that))
- return false;
- }
- } else {
- Object myObj = f.get(this);
- Object hisObj = g.get(that);
- if (hisObj == myObj)
- return true;
- else if (hisObj != null && myObj == null)
- return false;
- else if (
- hisObj instanceof java.lang.String
- && myObj instanceof java.lang.String) {
- if (((String) myObj)
- .compareToIgnoreCase((String) hisObj)
- != 0)
- return false;
- } else if (
- hisObj != null
- && GenericObject.isMySubclass(myObj.getClass())
- && GenericObject.isMySubclass(hisObj.getClass())
- && myObj.getClass().equals(hisObj.getClass())
- && ((GenericObject) hisObj).getMatcher() != null) {
- String myObjEncoded = ((GenericObject) myObj).encode();
- return ((GenericObject) hisObj).getMatcher().match(
- myObjEncoded);
- } else if (
- GenericObject.isMySubclass(myObj.getClass())
- && !((GenericObject) myObj).match(hisObj))
- return false;
- else if (
- GenericObjectList.isMySubclass(myObj.getClass())
- && !((GenericObjectList) myObj).match(hisObj))
- return false;
- }
- } catch (IllegalAccessException ex1) {
- InternalErrorHandler.handleException(ex1);
- }
- }
- return true;
- }
-
-
- /**
- * Formatter with a given starting indentation.
- */
- public String dbgPrint(int indent) {
- int save = indentation;
- indentation = indent;
- String retval = this.toString();
- indentation = save;
- return retval;
- }
-
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/SDPObjectList.java b/java/gov/nist/javax/sdp/fields/SDPObjectList.java
deleted file mode 100644
index 782640c..0000000
--- a/java/gov/nist/javax/sdp/fields/SDPObjectList.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import java.util.ListIterator;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.lang.reflect.*;
-
-public class SDPObjectList extends GenericObjectList {
- protected static final String SDPFIELDS_PACKAGE =
- PackageNames.SDP_PACKAGE + ".fields";
-
- /**
- * Do a merge of the GenericObjects contained in this list with the
- * GenericObjects in the mergeList. Note that this does an inplace
- * modification of the given list. This does an object by object
- * merge of the given objects.
- *
- *@param mergeList is the list of Generic objects that we want to do
- * an object by object merge with. Note that no new objects are
- * added to this list.
- *
- */
-
- public void mergeObjects(GenericObjectList mergeList) {
-
- Iterator<GenericObject> it1 = this.listIterator();
- Iterator<GenericObject> it2 = mergeList.listIterator();
- while (it1.hasNext()) {
- GenericObject outerObj = (GenericObject) it1.next();
- while (it2.hasNext()) {
- Object innerObj = it2.next();
- outerObj.merge(innerObj);
- }
- }
- }
-
- /**
- * Add an sdp object to this list.
- */
- public void add(SDPObject s) {
- super.add(s);
- }
-
- /**
- * Get the input text of the sdp object (from which the object was
- * generated).
- */
-
- public SDPObjectList(String lname, String classname) {
- super(lname, classname);
- }
-
- public SDPObjectList() {
- super(null, SDPObject.class);
- }
-
- public SDPObjectList(String lname) {
- super(lname, SDPFIELDS_PACKAGE + ".SDPObject");
- }
-
- public GenericObject first() {
- return (SDPObject) super.first();
- }
-
- public GenericObject next() {
- return (SDPObject) super.next();
- }
-
-
-
- public String encode() {
- StringBuffer retval = new StringBuffer();
- SDPObject sdpObject;
- for (sdpObject = (SDPObject) this.first();
- sdpObject != null;
- sdpObject = (SDPObject) this.next()) {
- retval.append (sdpObject.encode());
- }
- return retval.toString();
- }
-
- public String toString() {
- return this.encode();
- }
-
-
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/SessionNameField.java b/java/gov/nist/javax/sdp/fields/SessionNameField.java
deleted file mode 100644
index 3eeb88f..0000000
--- a/java/gov/nist/javax/sdp/fields/SessionNameField.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-
-public class SessionNameField extends SDPField implements SessionName {
- protected String sessionName;
-
- public SessionNameField() {
- super(SDPFieldNames.SESSION_NAME_FIELD);
- }
- public String getSessionName() {
- return sessionName;
- }
- /**
- * Set the sessionName member
- */
- public void setSessionName(String s) {
- sessionName = s;
- }
-
- /** Returns the value.
- * @throws SdpParseException
- * @return the value
- */
- public String getValue() throws SdpParseException {
- return getSessionName();
- }
-
- /** Sets the value
- * @param value the - new information.
- * @throws SdpException if the value is null
- */
- public void setValue(String value) throws SdpException {
- if (value == null)
- throw new SdpException("The value is null");
- else {
- setSessionName(value);
- }
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- return SESSION_NAME_FIELD + sessionName + Separators.NEWLINE;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/TimeField.java b/java/gov/nist/javax/sdp/fields/TimeField.java
deleted file mode 100644
index b88cca0..0000000
--- a/java/gov/nist/javax/sdp/fields/TimeField.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import javax.sdp.*;
-import java.util.*;
-/**
-* Time Field.
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan
-*
-*Bug Report contributed by Brian J. Collins.
-*
-*/
-public class TimeField extends SDPField implements Time {
- protected long startTime;
- protected long stopTime;
- public TimeField() {
- super(TIME_FIELD);
- }
- public long getStartTime() {
- return startTime;
- }
- public long getStopTime() {
- return stopTime;
- }
- /**
- * Set the startTime member
- */
- public void setStartTime(long startTime) {
- this.startTime = startTime;
- }
- /**
- * Set the stopTime member
- */
- public void setStopTime(long stopTime) {
- this.stopTime = stopTime;
- }
-
- /** Returns the start time of the conference/session.
- * @throws SdpParseException
- * @return the date
- */
- public Date getStart() throws SdpParseException {
- return SdpFactory.getDateFromNtp(startTime);
- }
-
- /** Returns the stop time of the session
- * @throws SdpParseException
- * @return the stop time of the session.
- */
- public Date getStop() throws SdpParseException {
- return SdpFactory.getDateFromNtp(stopTime);
- }
-
- /** Sets the stop time of the session.
- * @param stop start - the start time
- * @throws SdpException if the date is null
- */
- public void setStop(Date stop) throws SdpException {
- if (stop == null)
- throw new SdpException("The date is null");
- else {
- this.stopTime = SdpFactory.getNtpTime(stop);
- }
- }
-
- /** Sets the start time of the conference/session.
- * @param start start - the start time for the session.
- * @throws SdpException if the date is null
- */
- public void setStart(Date start) throws SdpException {
- if (start == null)
- throw new SdpException("The date is null");
- else {
- this.startTime = SdpFactory.getNtpTime(start);
- }
- }
-
- /** Returns whether the field will be output as a typed time
- * or a integer value.
- *
- * Typed time is formatted as an integer followed by a unit character.
- * The unit indicates an appropriate multiplier for
- * the integer.
- *
- * The following unit types are allowed.
- * d - days (86400 seconds)
- * h - hours (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds ( 1 seconds)
- * @return true, if the field will be output as a
- * typed time; false, if as an integer value.
- */
- public boolean getTypedTime() {
- return false;
- }
-
- /** Sets whether the field will be output as a typed time or a integer value.
- *
- * Typed time is formatted as an integer followed by a unit character.
- * The unit indicates an appropriate multiplier for
- * the integer.
- *
- * The following unit types are allowed.
- * d - days (86400 seconds)
- * h - hours (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds ( 1 seconds)
- * @param typedTime typedTime - if set true, the start and stop times will
- * be output in an optimal typed time format; if false, the
- * times will be output as integers.
- */
- public void setTypedTime(boolean typedTime) {
-
- }
-
- /** Returns whether the start and stop times were set to zero (in NTP).
- * @return boolean
- */
- public boolean isZero() {
- return getStartTime()==0 && getStopTime()==0;
- }
-
- /** Sets the start and stop times to zero (in NTP).
- */
- public void setZero() {
- setStopTime(0);
- setStartTime(0);
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- return new StringBuffer()
- .append(TIME_FIELD)
- .append(startTime)
- .append(Separators.SP)
- .append(stopTime)
- .append(Separators.NEWLINE)
- .toString();
- }
-
-}
-
diff --git a/java/gov/nist/javax/sdp/fields/TypedTime.java b/java/gov/nist/javax/sdp/fields/TypedTime.java
deleted file mode 100644
index 936a582..0000000
--- a/java/gov/nist/javax/sdp/fields/TypedTime.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/**************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-***************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-/**
- * Typed time SDP field.
- *
- * @author M. Ranganathan
- *
- */
-public class TypedTime extends SDPObject {
- String unit;
- int time;
-
- public String encode() {
- String retval = "";
- retval += Integer.toString(time);
- if (unit != null)
- retval += unit;
- return retval;
- }
-
- public void setTime(int t) {
- time = t;
- }
-
- public int getTime() {
- return time;
- }
-
- public String getUnit() {
- return unit;
- }
-
- public void setUnit(String u) {
- unit = u;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/URIField.java b/java/gov/nist/javax/sdp/fields/URIField.java
deleted file mode 100644
index bf2db7e..0000000
--- a/java/gov/nist/javax/sdp/fields/URIField.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-
-import gov.nist.core.*;
-import java.net.*;
-
-/** Implementation of URI field.
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*/
-
-public class URIField extends SDPField implements javax.sdp.URI {
-
- private static final long serialVersionUID = -4322063343955734258L;
- protected URL url;
- protected String urlString;
-
- public URIField() {
- super(URI_FIELD);
- }
-
- public String getURI() {
- return urlString;
- }
-
- public void setURI(String uri) {
- this.urlString = uri;
- this.url = null;
- }
-
- public URL get() {
- if (this.url != null) {
- return this.url;
- } else {
- try {
- this.url = new URL(this.urlString);
- return this.url;
- } catch (Exception ex) {
- return null;
- }
- }
- }
-
- public void set(URL uri) {
- this.url = uri;
- this.urlString = null;
- }
-
- /**
- * Get the string encoded version of this object
- * @since v1.0
- */
- public String encode() {
- if (urlString != null) {
- return URI_FIELD + urlString + Separators.NEWLINE;
- } else if (url != null) {
- return URI_FIELD + url.toString() + Separators.NEWLINE;
- } else
- return "";
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/ZoneAdjustment.java b/java/gov/nist/javax/sdp/fields/ZoneAdjustment.java
deleted file mode 100644
index 3d51283..0000000
--- a/java/gov/nist/javax/sdp/fields/ZoneAdjustment.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-
-/**
-* Zone adjustment class.
-*
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public class ZoneAdjustment extends SDPObject {
- protected long time;
- protected String sign;
- protected TypedTime offset;
-
- /**
- * Set the time.
- *@param t time to set.
- */
- public void setTime(long t) {
- time = t;
- }
-
- /**
- * Get the time.
- */
- public long getTime() {
- return time;
- }
-
- /**
- * get the offset.
- */
- public TypedTime getOffset() {
- return offset;
- }
-
- /**
- * Set the offset.
- *@param off typed time offset to set.
- */
- public void setOffset(TypedTime off) {
- offset = off;
- }
-
- /**
- * Set the sign.
- *@param s sign for the offset.
- */
- public void setSign(String s) {
- sign = s;
- }
-
- /**
- * Encode this structure into canonical form.
- *@return encoded form of the header.
- */
- public String encode() {
- String retval = Long.toString(time);
- retval += Separators.SP;
- if (sign != null)
- retval += sign;
- retval += offset.encode();
- return retval;
- }
-
- public Object clone() {
- ZoneAdjustment retval = (ZoneAdjustment) super.clone();
- if (this.offset != null)
- retval.offset = (TypedTime) this.offset.clone();
- return retval;
- }
-
-}
diff --git a/java/gov/nist/javax/sdp/fields/ZoneField.java b/java/gov/nist/javax/sdp/fields/ZoneField.java
deleted file mode 100644
index c67f63e..0000000
--- a/java/gov/nist/javax/sdp/fields/ZoneField.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*******************************************************************************
-* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
-*******************************************************************************/
-package gov.nist.javax.sdp.fields;
-import gov.nist.core.*;
-import java.util.*;
-import javax.sdp.*;
-
-/**
-* Z= SDP field.
-*
-*@version JSR141-PUBLIC-REVIEW (subject to change).
-*
-*@author Olivier Deruelle <deruelle@antd.nist.gov>
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-
-public class ZoneField
- extends SDPField
- implements javax.sdp.TimeZoneAdjustment {
-
- protected SDPObjectList zoneAdjustments;
-
- /**
- * Constructor.
- */
- public ZoneField() {
- super(ZONE_FIELD);
- zoneAdjustments = new SDPObjectList();
- }
-
- /**
- * Add an element to the zone adjustment list.
- *@param za zone adjustment to add.
- */
- public void addZoneAdjustment(ZoneAdjustment za) {
- zoneAdjustments.add(za);
- }
-
- /**
- * Get the zone adjustment list.
- *@return the list of zone adjustments.
- */
-
- public SDPObjectList getZoneAdjustments() {
- return zoneAdjustments;
- }
-
- /**
- * Encode this structure into a canonical form.
- */
- public String encode() {
- StringBuffer retval = new StringBuffer(ZONE_FIELD);
- ListIterator li = zoneAdjustments.listIterator();
- int num = 0;
- while (li.hasNext()) {
- ZoneAdjustment za = (ZoneAdjustment) li.next();
- if (num > 0)
- retval.append(Separators.SP);
- retval.append(za.encode());
- num++;
- }
- retval.append(Separators.NEWLINE);
- return retval.toString();
- }
-
- /** Returns a Hashtable of adjustment times, where:
- * key = Date. This is the equivalent of the decimal NTP time value.
- * value = Int Adjustment. This is a relative time value in seconds.
- * @param create to set
- * @throws SdpParseException
- * @return create - when true, an empty Hashtable is created, if it is null.
- */
- public Hashtable getZoneAdjustments(boolean create)
- throws SdpParseException {
- Hashtable result = new Hashtable();
- SDPObjectList zoneAdjustments = getZoneAdjustments();
- ZoneAdjustment zone;
- if (zoneAdjustments == null)
- if (create)
- return new Hashtable();
- else
- return null;
- else {
- while ((zone = (ZoneAdjustment) zoneAdjustments.next()) != null) {
- Long l = Long.valueOf(zone.getTime());
- Integer time = Integer.valueOf(l.toString());
- Date date = new Date(zone.getTime());
- result.put(date, time);
- }
- return result;
- }
- }
-
- /** Sets the Hashtable of adjustment times, where:
- * key = Date. This is the equivalent of the decimal NTP time value.
- * value = Int Adjustment. This is a relative time value in seconds.
- * @param map Hashtable to set
- * @throws SdpException if the parameter is null
- */
- public void setZoneAdjustments(Hashtable map) throws SdpException {
- if (map == null)
- throw new SdpException("The map is null");
- else {
- for (Enumeration e = map.keys(); e.hasMoreElements();) {
- Object o = e.nextElement();
- if (o instanceof Date) {
- Date date = (Date) o;
- ZoneAdjustment zone = new ZoneAdjustment();
- zone.setTime(date.getTime());
- addZoneAdjustment(zone);
- } else
- throw new SdpException("The map is not well-formated ");
- }
- }
- }
-
- /** Sets whether the field will be output as a typed time or a integer value.
- *
- * Typed time is formatted as an integer followed by a unit character.
- * The unit indicates an appropriate multiplier for
- * the integer.
- *
- * The following unit types are allowed.
- * d - days (86400 seconds)
- * h - hours (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds ( 1 seconds)
- * @param typedTime typedTime - if set true, the start and stop times will be
- * output in an optimal typed time format; if false, the
- * times will be output as integers.
- */
- public void setTypedTime(boolean typedTime) {
- // Dummy -- feature not implemented.
- }
-
- /** Returns whether the field will be output as a typed time or a integer value.
- *
- * Typed time is formatted as an integer followed by a unit character.
- * The unit indicates an appropriate multiplier for
- * the integer.
- *
- * The following unit types are allowed.
- * d - days (86400 seconds)
- * h - hours (3600 seconds)
- * m - minutes (60 seconds)
- * s - seconds ( 1 seconds)
- * @return true, if the field will be output as a typed time; false, if as an integer value.
- */
- public boolean getTypedTime() {
- return false;
- }
-
- public Object clone() {
- ZoneField retval = (ZoneField) super.clone();
- if (this.zoneAdjustments != null)
- retval.zoneAdjustments = (SDPObjectList) this.zoneAdjustments.clone();
- return retval;
- }
-}
diff --git a/java/gov/nist/javax/sdp/fields/package.html b/java/gov/nist/javax/sdp/fields/package.html
deleted file mode 100644
index a438088..0000000
--- a/java/gov/nist/javax/sdp/fields/package.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-<body>
-Classes for SDP Fields.
-</body>
diff --git a/java/gov/nist/javax/sdp/package.html b/java/gov/nist/javax/sdp/package.html
deleted file mode 100644
index f88067f..0000000
--- a/java/gov/nist/javax/sdp/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-<body>
-Preliminary
-implementation of the javax.sdp package (JSR 141 see <a href="http://www.jcp.org/jsr/detail/141.jsp"> JSR 141 </a> )
-</body>
diff --git a/java/gov/nist/javax/sdp/parser/AttributeFieldParser.java b/java/gov/nist/javax/sdp/parser/AttributeFieldParser.java
deleted file mode 100644
index a99d95d..0000000
--- a/java/gov/nist/javax/sdp/parser/AttributeFieldParser.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * AttributeFieldParser.java
- *
- * Created on February 19, 2002, 10:09 AM
- */
-
-package gov.nist.javax.sdp.parser;
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.*;
-
-/**
- * @author Olivier Deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.6 $ $Date: 2009/07/17 18:57:15 $
- */
-public class AttributeFieldParser extends SDPParser {
-
- /** Creates new AttributeFieldParser */
- public AttributeFieldParser(String attributeField) {
-
- this.lexer = new Lexer("charLexer", attributeField);
- }
-
- public AttributeField attributeField() throws ParseException {
- try {
- AttributeField attributeField = new AttributeField();
-
- this.lexer.match('a');
-
- this.lexer.SPorHT();
- this.lexer.match('=');
-
- this.lexer.SPorHT();
-
- NameValue nameValue = new NameValue();
-
- int ptr = this.lexer.markInputPosition();
- try {
- String name = lexer.getNextToken(':');
- this.lexer.consume(1);
- String value = lexer.getRest();
- nameValue = new NameValue(name.trim(), value.trim());
- } catch (ParseException ex) {
- this.lexer.rewindInputPosition(ptr);
- String rest = this.lexer.getRest();
- if (rest == null)
- throw new ParseException(
- this.lexer.getBuffer(),
- this.lexer.getPtr());
- nameValue = new NameValue(rest.trim(), null);
- }
- attributeField.setAttribute(nameValue);
-
- this.lexer.SPorHT();
-
- return attributeField;
- } catch (Exception e) {
- e.printStackTrace();
- throw new ParseException(e.getMessage(), 0);
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.attributeField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String attribute[] = {
- "a=rtpmap:0 PCMU/8000\n",
- "a=rtpmap:31 LPC\n",
- "a=rtpmap:0 PCMU/8000\n",
- "a=rtpmap:4 G723/8000\n",
- "a=rtpmap:18 G729A/8000\n",
- "a=ptime:30\n",
- "a=orient:landscape\n",
- "a=recvonly\n",
- "a=T38FaxVersion:0\n",
- "a=T38maxBitRate:14400\n",
- "a=T38FaxFillBitRemoval:0\n",
- "a=T38FaxTranscodingMMR:0\n",
- "a=T38FaxTranscodingJBIG:0\n",
- "a=T38FaxRateManagement:transferredTCF\n",
- "a=T38FaxMaxBuffer:72\n",
- "a=T38FaxMaxDatagram:316\n",
- "a=T38FaxUdpEC:t38UDPRedundancy\n"
- };
-
- for (int i = 0; i < attribute.length; i++) {
- AttributeFieldParser attributeFieldParser = new AttributeFieldParser(
- attribute[i] );
- AttributeField attributeField= attributeFieldParser.attributeField();
- System.out.println("encoded: " + attributeField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: AttributeFieldParser.java,v $
- * Revision 1.6 2009/07/17 18:57:15 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.5 2006/07/13 09:02:35 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/BandwidthFieldParser.java b/java/gov/nist/javax/sdp/parser/BandwidthFieldParser.java
deleted file mode 100644
index ef2b4df..0000000
--- a/java/gov/nist/javax/sdp/parser/BandwidthFieldParser.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.*;
-
-/**
- * @author deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.6 $ $Date: 2009/07/17 18:57:15 $
- */
-public class BandwidthFieldParser extends SDPParser {
-
- /** Creates new BandwidthFieldParser */
- public BandwidthFieldParser(String bandwidthField) {
- this.lexer = new Lexer("charLexer", bandwidthField);
- }
-
- public BandwidthField bandwidthField() throws ParseException {
- try {
- this.lexer.match('b');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- BandwidthField bandwidthField = new BandwidthField();
-
- NameValue nameValue = nameValue(':');
- String name = nameValue.getName();
- String value = (String) nameValue.getValueAsObject();
-
- bandwidthField.setBandwidth(Integer.parseInt(value.trim()));
- bandwidthField.setBwtype(name);
-
- this.lexer.SPorHT();
- return bandwidthField;
- } catch (Exception e) {
- e.printStackTrace();
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.bandwidthField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String bandwidth[] = {
- "b=X-YZ:128\n",
- "b=CT: 31\n",
- "b=AS:0 \n",
- "b= AS:4\n"
- };
-
- for (int i = 0; i < bandwidth.length; i++) {
- BandwidthFieldParser bandwidthFieldParser=new BandwidthFieldParser(
- bandwidth[i] );
- System.out.println("toParse: " + bandwidth[i]);
- BandwidthField bandwidthField = bandwidthFieldParser.bandwidthField();
- System.out.println("encoded: " + bandwidthField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: BandwidthFieldParser.java,v $
- * Revision 1.6 2009/07/17 18:57:15 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.5 2007/10/22 03:38:26 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: mranga
- * Reviewed by: mranga
- *
- * Java 5 porting.
- *
- * Revision 1.4 2006/07/13 09:02:41 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/ConnectionFieldParser.java b/java/gov/nist/javax/sdp/parser/ConnectionFieldParser.java
deleted file mode 100644
index fd3ec31..0000000
--- a/java/gov/nist/javax/sdp/parser/ConnectionFieldParser.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-
-import java.text.*;
-
-/**
- * Parser for Connection Field.
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.5 $ $Date: 2009/07/17 18:57:15 $
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan
- *
- *
- */
-public class ConnectionFieldParser extends SDPParser {
-
- /** Creates new ConnectionFieldParser */
- public ConnectionFieldParser(String connectionField) {
- this.lexer = new Lexer("charLexer", connectionField);
- }
-
- public ConnectionAddress connectionAddress(String address) {
- ConnectionAddress connectionAddress = new ConnectionAddress();
-
- int begin = address.indexOf("/");
-
- if (begin != -1) {
- connectionAddress.setAddress(new Host(address.substring(0, begin)));
-
- int middle = address.indexOf("/", begin + 1);
- if (middle != -1) {
- String ttl = address.substring(begin + 1, middle);
- connectionAddress.setTtl(Integer.parseInt(ttl.trim()));
-
- String addressNumber = address.substring(middle + 1);
- connectionAddress.setPort(
- Integer.parseInt(addressNumber.trim()));
- } else {
- String ttl = address.substring(begin + 1);
- connectionAddress.setTtl(Integer.parseInt(ttl.trim()));
- }
- } else
- connectionAddress.setAddress(new Host(address));
-
- return connectionAddress;
- }
-
- public ConnectionField connectionField() throws ParseException {
- try {
- this.lexer.match('c');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- ConnectionField connectionField = new ConnectionField();
-
- lexer.match(LexerCore.ID);
- this.lexer.SPorHT();
- Token token = lexer.getNextToken();
- connectionField.setNettype(token.getTokenValue());
-
- lexer.match(LexerCore.ID);
- this.lexer.SPorHT();
- token = lexer.getNextToken();
- connectionField.setAddressType(token.getTokenValue());
- this.lexer.SPorHT();
- String rest = lexer.getRest();
- ConnectionAddress connectionAddress =
- connectionAddress(rest.trim());
-
- connectionField.setAddress(connectionAddress);
-
- return connectionField;
- } catch (Exception e) {
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.connectionField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String connection[] = {
- "c=IN IP4 224.2.17.12/127\n",
- "c=IN IP4 224.2.1.1/127/3 \n",
- "c=IN IP4 135.180.130.88\n"
- };
-
- for (int i = 0; i < connection.length; i++) {
- ConnectionFieldParser connectionFieldParser=
- new ConnectionFieldParser(
- connection[i] );
- ConnectionField connectionField=connectionFieldParser.
- connectionField();
- System.out.println("toParse: " +connection[i]);
- System.out.println("encoded: " +connectionField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: ConnectionFieldParser.java,v $
- * Revision 1.5 2009/07/17 18:57:15 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:43 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/EmailFieldParser.java b/java/gov/nist/javax/sdp/parser/EmailFieldParser.java
deleted file mode 100644
index b12c937..0000000
--- a/java/gov/nist/javax/sdp/parser/EmailFieldParser.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import java.text.ParseException;
-
-/**
- * Parser for Email Field
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.6 $ $Date: 2009/07/17 18:57:16 $
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan
- *
- *
- */
-public class EmailFieldParser extends SDPParser {
-
- /** Creates new EmailFieldParser */
- public EmailFieldParser(String emailField) {
- this.lexer = new Lexer("charLexer", emailField);
- }
-
- public String getDisplayName(String rest) {
- String retval = null;
-
- try {
- int begin = rest.indexOf("(");
- int end = rest.indexOf(")");
-
- if (begin != -1) {
- // e=mjh@isi.edu (Mark Handley)
- retval = rest.substring(begin + 1, end);
- } else {
- // The alternative RFC822 name quoting convention
- // is also allowed for
- // email addresses. ex: e=Mark Handley <mjh@isi.edu>
- int ind = rest.indexOf("<");
- if (ind != -1) {
- retval = rest.substring(0, ind);
- } else {
- // There is no display name !!!
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- return retval;
- }
-
- public Email getEmail(String rest) {
- Email email = new Email();
-
- try {
- int begin = rest.indexOf("(");
-
- if (begin != -1) {
- // e=mjh@isi.edu (Mark Handley)
- String emailTemp = rest.substring(0, begin);
- int i = emailTemp.indexOf("@");
- if (i != -1) {
- email.setUserName(emailTemp.substring(0, i));
- email.setHostName(emailTemp.substring(i + 1));
- } else {
- // Pb: the email is not well formatted
- }
- } else {
- // The alternative RFC822 name quoting convention is
- // also allowed for
- // email addresses. ex: e=Mark Handley <mjh@isi.edu>
- int ind = rest.indexOf("<");
- int end = rest.indexOf(">");
-
- if (ind != -1) {
- String emailTemp = rest.substring(ind + 1, end);
- int i = emailTemp.indexOf("@");
- if (i != -1) {
- email.setUserName(emailTemp.substring(0, i));
- email.setHostName(emailTemp.substring(i + 1));
- } else {
- // Pb: the email is not well formatted
- }
-
- } else {
- int i = rest.indexOf("@");
- int j = rest.indexOf("\n");
- if (i != -1) {
- email.setUserName(rest.substring(0, i));
- email.setHostName(rest.substring(i + 1));
- } else {
- // Pb: the email is not well formatted
- }
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- return email;
- }
-
- public EmailField emailField() throws ParseException {
- try {
-
- this.lexer.match('e');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- EmailField emailField = new EmailField();
- EmailAddress emailAddress = new EmailAddress();
-
- String rest = lexer.getRest();
-
- String displayName = getDisplayName(rest.trim());
- emailAddress.setDisplayName(displayName);
- Email email = getEmail(rest);
- emailAddress.setEmail(email);
-
- emailField.setEmailAddress(emailAddress);
- return emailField;
- } catch (Exception e) {
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.emailField();
- }
-
-
-/*
- public static void main(String[] args) throws ParseException {
- String email[] = {
- "e=mjh@isi.edu (Mark Handley)\n",
- "e=Mark Handley <mjh@isi.edu>\n",
- "e= <mjh@isi.edu>\n",
- "e=mjh@isi.edu\n"
- };
-
- for (int i = 0; i < email.length; i++) {
- EmailFieldParser emailFieldParser=new EmailFieldParser(
- email[i] );
- EmailField emailFields=emailFieldParser.emailField();
- System.out.println("toParse: " +email[i]);
- System.out.println("encoded: " +emailFields.encode());
- }
-
- }
-*/
-
-}
-/*
- * $Log: EmailFieldParser.java,v $
- * Revision 1.6 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.5 2006/07/13 09:02:36 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.3 2004/12/13 15:01:39 mranga
- * Issue number: 47
- * Submitted by: espen@dev.java.net
- * Reviewed by: mranga
- *
- * Bug in parsing email field.
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/InformationFieldParser.java b/java/gov/nist/javax/sdp/parser/InformationFieldParser.java
deleted file mode 100644
index f938f15..0000000
--- a/java/gov/nist/javax/sdp/parser/InformationFieldParser.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * InformationFieldParser.java
- *
- * Created on February 19, 2002, 5:28 PM
- */
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import java.text.*;
-
-/**
- * @author deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.5 $ $Date: 2009/07/17 18:57:16 $
- */
-public class InformationFieldParser extends SDPParser {
-
- /** Creates new InformationFieldParser */
- public InformationFieldParser(String informationField) {
- this.lexer = new Lexer("charLexer", informationField);
- }
-
- public InformationField informationField() throws ParseException {
- try {
- this.lexer.match('i');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- InformationField informationField = new InformationField();
- String rest = lexer.getRest();
- informationField.setInformation(rest.trim());
-
- return informationField;
- } catch (Exception e) {
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.informationField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String information[] = {
- "i=A Seminar on the session description protocol\n"
- };
-
- for (int i = 0; i < information.length; i++) {
- InformationFieldParser informationFieldParser=new InformationFieldParser(
- information[i] );
- InformationField informationField=
- informationFieldParser.informationField();
-
- System.out.println("encoded: " +informationField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: InformationFieldParser.java,v $
- * Revision 1.5 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:34 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/KeyFieldParser.java b/java/gov/nist/javax/sdp/parser/KeyFieldParser.java
deleted file mode 100644
index 82a75d4..0000000
--- a/java/gov/nist/javax/sdp/parser/KeyFieldParser.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.*;
-
-/**
- * Parser for key field. Ack: bug fix contributed by espen@java.net
- *
- * @author deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.7 $ $Date: 2009/07/17 18:57:16 $
- */
-public class KeyFieldParser extends SDPParser {
-
- /** Creates new KeyFieldParser */
- public KeyFieldParser(String keyField) {
- this.lexer = new Lexer("charLexer", keyField);
- }
-
- public KeyField keyField() throws ParseException {
- try {
- this.lexer.match('k');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- KeyField keyField = new KeyField();
- //Espen: Stealing the approach from AttributeFieldParser from from here...
- NameValue nameValue = new NameValue();
-
- int ptr = this.lexer.markInputPosition();
- try {
- String name = lexer.getNextToken(':');
- this.lexer.consume(1);
- String value = lexer.getRest();
- nameValue = new NameValue(name.trim(), value.trim());
- } catch (ParseException ex) {
- this.lexer.rewindInputPosition(ptr);
- String rest = this.lexer.getRest();
- if (rest == null)
- throw new ParseException(
- this.lexer.getBuffer(),
- this.lexer.getPtr());
- nameValue = new NameValue(rest.trim(), null);
- }
- keyField.setType(nameValue.getName());
- keyField.setKeyData((String) nameValue.getValueAsObject());
- this.lexer.SPorHT();
-
- return keyField;
- } catch (Exception e) {
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.keyField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String key[] = {
- "k=clear:1234124\n",
- "k=base64:12\n",
- "k=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps\n",
- "k=prompt\n"
- };
-
- for (int i = 0; i < key.length; i++) {
- KeyFieldParser keyFieldParser=new KeyFieldParser(
- key[i] );
- KeyField keyField=keyFieldParser.keyField();
- System.out.println("toParse: " +key[i]);
- System.out.println("encoded: " +keyField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: KeyFieldParser.java,v $
- * Revision 1.7 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.6 2007/10/22 03:38:26 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: mranga
- * Reviewed by: mranga
- *
- * Java 5 porting.
- *
- * Revision 1.5 2006/07/13 09:02:42 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.3 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/Lexer.java b/java/gov/nist/javax/sdp/parser/Lexer.java
deleted file mode 100644
index 5c68105..0000000
--- a/java/gov/nist/javax/sdp/parser/Lexer.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-import gov.nist.core.*;
-
-public class Lexer extends LexerCore {
- public Lexer(String lexerName, String buffer) {
- super(lexerName, buffer);
-
- }
-
- public void selectLexer(String lexerName) {
- }
-
- public static String getFieldName(String line) {
- int i = line.indexOf("=");
- if (i == -1)
- return null;
- else
- return line.substring(0, i);
- }
-}
-/*
- * $Log: Lexer.java,v $
- * Revision 1.5 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:41 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/MediaFieldParser.java b/java/gov/nist/javax/sdp/parser/MediaFieldParser.java
deleted file mode 100644
index 3d35f5b..0000000
--- a/java/gov/nist/javax/sdp/parser/MediaFieldParser.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.*;
-import java.util.*;
-
-/**
- * Parser for Media field.
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.6 $ $Date: 2009/07/17 18:57:16 $
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan <br/>
- *
- *
- *
- */
-public class MediaFieldParser extends SDPParser {
-
- /** Creates new MediaFieldParser */
- public MediaFieldParser(String mediaField) {
- lexer = new Lexer("charLexer", mediaField);
- }
-
- public MediaField mediaField() throws ParseException {
- if (Debug.parserDebug)
- dbg_enter("mediaField");
- try {
- MediaField mediaField = new MediaField();
-
- lexer.match('m');
- lexer.SPorHT();
- lexer.match('=');
- lexer.SPorHT();
-
- lexer.match(Lexer.ID);
- Token media = lexer.getNextToken();
- mediaField.setMedia(media.getTokenValue());
- this.lexer.SPorHT();
-
- lexer.match(Lexer.ID);
- Token port = lexer.getNextToken();
- mediaField.setPort(Integer.parseInt(port.getTokenValue()));
-
- this.lexer.SPorHT();
-
- // Some strange media formatting from Sun Ray systems with media
- // reported by Emil Ivov and Iain Macdonnell at Sun
- if (lexer.hasMoreChars() && lexer.lookAhead(1) == '\n')
- return mediaField;
-
- if (lexer.lookAhead(0) == '/') {
- // The number of ports is present:
- lexer.consume(1);
- lexer.match(Lexer.ID);
- Token portsNumber = lexer.getNextToken();
- mediaField.setNports(
- Integer.parseInt(portsNumber.getTokenValue()));
- this.lexer.SPorHT();
- }
-
- lexer.match(Lexer.ID);
- Token token = lexer.getNextToken();
- this.lexer.SPorHT();
- String transport = token.getTokenValue();
- if (lexer.lookAhead(0) == '/') {
- lexer.consume(1);
- lexer.match(Lexer.ID);
- Token transportTemp = lexer.getNextToken();
- transport = transport + "/" + transportTemp.getTokenValue();
- this.lexer.SPorHT();
- }
-
- mediaField.setProto(transport);
-
- // The formats list:
- Vector formatList = new Vector();
- while (lexer.hasMoreChars()) {
- char la = lexer.lookAhead(0);
- if (la == '\n' || la == '\r')
- break;
- this.lexer.SPorHT();
- //while(lexer.lookAhead(0) == ' ') lexer.consume(1);
- lexer.match(Lexer.ID);
- Token tok = lexer.getNextToken();
- this.lexer.SPorHT();
- String format = tok.getTokenValue().trim();
- if (!format.equals(""))
- formatList.add(format);
- }
- mediaField.setFormats(formatList);
-
- return mediaField;
- } catch (Exception e) {
- e.printStackTrace();
- //System.out.println(lexer.getPtr());
- //System.out.println("char = [" + lexer.lookAhead(0) +"]");
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- } finally {
- dbg_leave("mediaField");
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.mediaField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String media[] = {
- "m=video 0\r\n",
- "m=audio 50006 RTP/AVP 0 8 4 18\r\n",
- "m=video 49170/2 RTP/AVP 31\n",
- "m=video 49232 RTP/AVP 0\n",
- "m=audio 49230 RTP/AVP 96 97 98\n",
- "m=application 32416 udp wb\n",
- "m=control 49234 H323 mc\n",
- "m=audio 50012 RTP/AVP 0 8 4 18\n",
- "m=image 49172 udptl t38\n"
- };
-
- for (int i = 0; i < media.length; i++) {
- MediaFieldParser mediaFieldParser=new MediaFieldParser(
- media[i] );
- System.out.println("toParse: " + media[i]);
- MediaField mediaField=mediaFieldParser.mediaField();
- System.out.println("encoded: " +mediaField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: MediaFieldParser.java,v $
- * Revision 1.6 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.5 2007/02/06 16:40:00 belangery
- * Introduced simple code optimizations.
- *
- * Revision 1.4 2006/07/13 09:02:42 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/OriginFieldParser.java b/java/gov/nist/javax/sdp/parser/OriginFieldParser.java
deleted file mode 100644
index 9b40e00..0000000
--- a/java/gov/nist/javax/sdp/parser/OriginFieldParser.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Conditions Of Use
- *
- * This software was developed by employees of the National Institute of
- * Standards and Technology (NIST), an agency of the Federal Government.
- * Pursuant to title 15 Untied States Code Section 105, works of NIST
- * employees are not subject to copyright protection in the United States
- * and are considered to be in the public domain. As a result, a formal
- * license is not needed to use the software.
- *
- * This software is provided by NIST as a service and is expressly
- * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
- * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
- * AND DATA ACCURACY. NIST does not warrant or make any representations
- * regarding the use of the software or the results thereof, including but
- * not limited to the correctness, accuracy, reliability or usefulness of
- * the software.
- *
- * Permission to use this software is contingent upon your acceptance
- * of the terms of this agreement
- *
- * .
- *
- */
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.*;
-
-/**
- * @author deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.8 $ $Date: 2009/07/17 18:57:16 $
- */
-public class OriginFieldParser extends SDPParser {
-
- /** Creates new OriginFieldParser */
- public OriginFieldParser(String originField) {
- lexer = new Lexer("charLexer", originField);
- }
-
- public OriginField originField() throws ParseException {
- try {
- OriginField originField = new OriginField();
-
- lexer.match('o');
- lexer.SPorHT();
- lexer.match('=');
- lexer.SPorHT();
-
- lexer.match(LexerCore.SAFE);
- Token userName = lexer.getNextToken();
- originField.setUsername(userName.getTokenValue());
- this.lexer.SPorHT();
-
- lexer.match(LexerCore.ID);
- //lexer.ttokenSafe();
- Token sessionId = lexer.getNextToken();
- // guard against very long session IDs
- String sessId = sessionId.getTokenValue();
- if (sessId.length() > 18)
- sessId = sessId.substring(sessId.length() - 18);
- try {
- originField.setSessId(Long.parseLong(sessId));
- } catch (NumberFormatException ex) {
- originField.setSessionId(sessId);
- }
- this.lexer.SPorHT();
-
- lexer.match(LexerCore.ID);
- Token sessionVersion = lexer.getNextToken();
- // guard against very long session Verion
- String sessVer = sessionVersion.getTokenValue();
- if (sessVer.length() > 18)
- sessVer = sessVer.substring(sessVer.length() - 18);
- try {
- originField.setSessVersion(Long.parseLong(sessVer));
- } catch (NumberFormatException ex) {
- originField.setSessVersion(sessVer);
-
- }
- this.lexer.SPorHT();
-
- lexer.match(LexerCore.ID);
- Token networkType = lexer.getNextToken();
- originField.setNettype(networkType.getTokenValue());
- this.lexer.SPorHT();
-
- lexer.match(LexerCore.ID);
- Token addressType = lexer.getNextToken();
- originField.setAddrtype(addressType.getTokenValue());
- this.lexer.SPorHT();
-
- String host = lexer.getRest();
- HostNameParser hostNameParser = new HostNameParser(host);
- Host h = hostNameParser.host();
- originField.setAddress(h);
-
- return originField;
- } catch (Exception e) {
- e.printStackTrace();
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.originField();
- }
-
- public static void main(String[] args) throws ParseException {
- String origin[] = {
- "o=- 45ec4ba1.1 45ec4ba1 in ip4 10.1.80.200\r\n",
- "o=- 4322650003578 0 IN IP4 192.53.18.122\r\n",
- "o=4855 12345678901234567890 12345678901234567890 IN IP4 166.35.224.216\n",
- "o=mh/andley 2890844526 2890842807 IN IP4 126.16.64.4\n",
- "o=UserB 2890844527 2890844527 IN IP4 everywhere.com\n",
- "o=UserA 2890844526 2890844526 IN IP4 here.com\n",
- "o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 ift.here.com\n",
- "o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com\n",
- "o=- 2890844527 2890844527 IN IP4 gatewayone.wcom.com\n" };
-
- for (int i = 0; i < origin.length; i++) {
- OriginFieldParser originFieldParser = new OriginFieldParser(
- origin[i]);
- OriginField originField = originFieldParser.originField();
- System.out.println("toParse :" + origin[i]);
- System.out.println("encoded: " + originField.encode());
- }
-
- }
-}
-/*
- * $Log: OriginFieldParser.java,v $
- * Revision 1.8 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.7 2007/03/08 05:20:20 mranga
- * Issue number:
- * Obtained from:
- * Submitted by:
- * Reviewed by: mranga
- * Fix logging code. Losen up on Sdp parsing (allow for extra long origin fields)
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- * Revision 1.6 2006/11/16 19:05:44 pmusgrave
- * Issue number: 82 - SDP with Origin/Time or Zone creater than 18 digits causes
- * parse exception Obtained from: Submitted by: pmusgrave@newheights.com
- * Reviewed by: CVS:
- * ---------------------------------------------------------------------- CVS:
- * Issue number: CVS: If this change addresses one or more issues, CVS: then
- * enter the issue number(s) here. CVS: Obtained from: CVS: If this change has
- * been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- * Revision 1.5 2006/07/13 09:02:36 mranga Issue number: Obtained from:
- * Submitted by: jeroen van bemmel Reviewed by: mranga Moved some changes from
- * jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number: CVS: If this change addresses one or more issues, CVS:
- * then enter the issue number(s) here. CVS: Obtained from: CVS: If this change
- * has been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- * Revision 1.4 2006/06/19 06:47:26 mranga javadoc fixups
- *
- * Revision 1.3 2006/06/16 15:26:28 mranga Added NIST disclaimer to all public
- * domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.2 2006/04/01 04:52:22 mranga *** empty log message ***
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.3 2004/10/21 14:57:17 mranga Reviewed by: mranga
- *
- * Fixed origin field parser for sdp.
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker Issue number: Obtained from:
- * Submitted by: sverker Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and
- * javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number: CVS: If this change addresses one or more issues, CVS:
- * then enter the issue number(s) here. CVS: Obtained from: CVS: If this change
- * has been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/ParserFactory.java b/java/gov/nist/javax/sdp/parser/ParserFactory.java
deleted file mode 100644
index 2f28604..0000000
--- a/java/gov/nist/javax/sdp/parser/ParserFactory.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-import java.util.*;
-import gov.nist.core.*;
-import java.text.ParseException;
-import java.lang.reflect.*;
-
-/** Factory for creating parsers for the SDP stuff.
-*
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*/
-public class ParserFactory {
- private static Hashtable parserTable;
- private static Class[] constructorArgs;
- private static final String packageName =
- PackageNames.SDP_PACKAGE + ".parser";
-
- private static Class getParser(String parserClass) {
- try {
- return Class.forName(packageName + "." + parserClass);
- } catch (ClassNotFoundException ex) {
- System.out.println("Could not find class");
- ex.printStackTrace();
- System.exit(0);
- return null; // dummy
- }
- }
-
- static {
- constructorArgs = new Class[1];
- constructorArgs[0] = String.class;
- parserTable = new Hashtable();
- parserTable.put("a", getParser("AttributeFieldParser"));
- parserTable.put("b", getParser("BandwidthFieldParser"));
- parserTable.put("c", getParser("ConnectionFieldParser"));
- parserTable.put("e", getParser("EmailFieldParser"));
- parserTable.put("i", getParser("InformationFieldParser"));
- parserTable.put("k", getParser("KeyFieldParser"));
- parserTable.put("m", getParser("MediaFieldParser"));
- parserTable.put("o", getParser("OriginFieldParser"));
- parserTable.put("p", getParser("PhoneFieldParser"));
- parserTable.put("v", getParser("ProtoVersionFieldParser"));
- parserTable.put("r", getParser("RepeatFieldParser"));
- parserTable.put("s", getParser("SessionNameFieldParser"));
- parserTable.put("t", getParser("TimeFieldParser"));
- parserTable.put("u", getParser("URIFieldParser"));
- parserTable.put("z", getParser("ZoneFieldParser"));
- }
-
- public static SDPParser createParser(String field) throws ParseException {
- String fieldName = Lexer.getFieldName(field);
- if (fieldName == null)
- return null;
- Class parserClass = (Class) parserTable.get(fieldName.toLowerCase());
-
- if (parserClass != null) {
- try {
-
- Constructor cons = parserClass.getConstructor(constructorArgs);
- Object[] args = new Object[1];
- args[0] = field;
- SDPParser retval = (SDPParser) cons.newInstance(args);
- return retval;
-
- } catch (Exception ex) {
- InternalErrorHandler.handleException(ex);
- return null; // to placate the compiler.
- }
- } else
- throw new ParseException(
- "Could not find parser for " + fieldName,
- 0);
- }
-
-}
-/*
- * $Log: ParserFactory.java,v $
- * Revision 1.6 2009/07/17 18:57:16 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.5 2006/07/13 09:02:33 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.3 2005/04/04 09:29:02 dmuresan
- * Replaced new String().getClass() with String.class.
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/PhoneFieldParser.java b/java/gov/nist/javax/sdp/parser/PhoneFieldParser.java
deleted file mode 100644
index e85547f..0000000
--- a/java/gov/nist/javax/sdp/parser/PhoneFieldParser.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import java.text.ParseException;
-
-/**
- * Parser for the Phone field.
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.5 $ $Date: 2009/07/17 18:57:17 $
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan
- *
- *
- *
- */
-public class PhoneFieldParser extends SDPParser {
-
- /** Creates new PhoneFieldParser */
- public PhoneFieldParser(String phoneField) {
- lexer = new Lexer("charLexer", phoneField);
- }
-
- public String getDisplayName(String rest) {
- String retval = null;
-
- try {
- int begin = rest.indexOf("(");
- int end = rest.indexOf(")");
-
- if (begin != -1) {
- // p=+44-171-380-7777 (Mark Handley)
- retval = rest.substring(begin + 1, end);
- } else {
- // The alternative RFC822 name quoting convention is
- // also allowed for
- // email addresses. ex: p=Mark Handley <+44-171-380-7777>
- int ind = rest.indexOf("<");
- if (ind != -1) {
- retval = rest.substring(0, ind);
- } else {
- // There is no display name !!!
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- return retval;
- }
-
- public String getPhoneNumber(String rest) throws ParseException {
- String phoneNumber = null;
-
- try {
- int begin = rest.indexOf("(");
-
- if (begin != -1) {
- // p=+44-171-380-7777 (Mark Handley)
- phoneNumber = rest.substring(0, begin).trim();
- } else {
- // The alternative RFC822 name quoting convention is also allowed for
- // email addresses. ex: p=Mark Handley <+44-171-380-7777>
- int ind = rest.indexOf("<");
- int end = rest.indexOf(">");
-
- if (ind != -1) {
- phoneNumber = rest.substring(ind + 1, end);
- } else {
- // p=+44-171-380-7777
- phoneNumber = rest.trim();
- }
- }
- } catch (Exception e) {
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- return phoneNumber;
- }
-
- public PhoneField phoneField() throws ParseException {
- try {
-
- this.lexer.match('p');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- PhoneField phoneField = new PhoneField();
- String rest = lexer.getRest();
-
- String displayName = getDisplayName(rest.trim());
- phoneField.setName(displayName);
- String phoneNumber = getPhoneNumber(rest);
- phoneField.setPhoneNumber(phoneNumber);
-
- return phoneField;
- } catch (Exception e) {
- throw new ParseException(lexer.getBuffer(), lexer.getPtr());
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.phoneField();
- }
-
- /**
-
- public static void main(String[] args) throws ParseException {
- String phone[] = {
- "p=+44-171-380-7777 (Mark Handley)\n",
- "p=Mark Handley <+1 617 253 6011>\n",
- "p= <+44-171-380-7777>\n",
- "p=+44-171-380-7777\n"
- };
-
- for (int i = 0; i < phone.length; i++) {
- PhoneFieldParser phoneFieldParser=new PhoneFieldParser(
- phone[i] );
- PhoneField phoneFields=phoneFieldParser.phoneField();
- System.out.println("toParse: " + phone[i]);
- System.out.println("encoded: " +phoneFields.encode());
- }
-
- }
-
- **/
-}
-/*
- * $Log: PhoneFieldParser.java,v $
- * Revision 1.5 2009/07/17 18:57:17 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:34 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/ProtoVersionFieldParser.java b/java/gov/nist/javax/sdp/parser/ProtoVersionFieldParser.java
deleted file mode 100644
index 90d25b7..0000000
--- a/java/gov/nist/javax/sdp/parser/ProtoVersionFieldParser.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.*;
-
-/**
- * Parser for Proto Version.
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.5 $ $Date: 2009/07/17 18:57:17 $
- *
- * @author Olivier Deruelle <deruelle@antd.nist.gov>
- * @author M. Ranganathan
- *
- *
- *
- */
-public class ProtoVersionFieldParser extends SDPParser {
-
- /** Creates new ProtoVersionFieldParser */
- public ProtoVersionFieldParser(String protoVersionField) {
- this.lexer = new Lexer("charLexer", protoVersionField);
- }
-
- public ProtoVersionField protoVersionField() throws ParseException {
- try {
- this.lexer.match('v');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- ProtoVersionField protoVersionField = new ProtoVersionField();
- lexer.match(Lexer.ID);
- Token version = lexer.getNextToken();
- protoVersionField.setProtoVersion(
- Integer.parseInt(version.getTokenValue()));
- this.lexer.SPorHT();
-
- return protoVersionField;
- } catch (Exception e) {
- throw lexer.createParseException();
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.protoVersionField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String protoVersion[] = {
- "v=0\n"
- };
-
- for (int i = 0; i < protoVersion.length; i++) {
- ProtoVersionFieldParser protoVersionFieldParser=
- new ProtoVersionFieldParser(
- protoVersion[i] );
- ProtoVersionField protoVersionField =
- protoVersionFieldParser.protoVersionField();
- System.out.println
- ("encoded: " +protoVersionField.encode());
- }
-
- }
- **/
-
-}
-/*
- * $Log: ProtoVersionFieldParser.java,v $
- * Revision 1.5 2009/07/17 18:57:17 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:39 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/RepeatFieldParser.java b/java/gov/nist/javax/sdp/parser/RepeatFieldParser.java
deleted file mode 100644
index 1f2ad07..0000000
--- a/java/gov/nist/javax/sdp/parser/RepeatFieldParser.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.ParseException;
-
-/** Parser for Repeat field.
-*
-*@version 1.2
-*
-*@author Olivier Deruelle
-*@author M. Ranganathan <br/>
-*
-*
-*
- */
-public class RepeatFieldParser extends SDPParser {
-
- /** Creates new RepeatFieldsParser */
- public RepeatFieldParser(String repeatField) {
- lexer = new Lexer("charLexer", repeatField);
- }
-
- /** Get the typed time.
- *
- * @param tokenValue to convert into a typed time.
- * @return the typed time
- */
- public TypedTime getTypedTime(String tokenValue) {
- TypedTime typedTime = new TypedTime();
-
- if (tokenValue.endsWith("d")) {
- typedTime.setUnit("d");
- String t = tokenValue.replace('d', ' ');
-
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else if (tokenValue.endsWith("h")) {
- typedTime.setUnit("h");
- String t = tokenValue.replace('h', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else if (tokenValue.endsWith("m")) {
- typedTime.setUnit("m");
- String t = tokenValue.replace('m', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else {
- typedTime.setUnit("s");
- if (tokenValue.endsWith("s")) {
- String t = tokenValue.replace('s', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else
- typedTime.setTime(Integer.parseInt(tokenValue.trim()));
- }
- return typedTime;
- }
-
- /** parse the field string
- * @return RepeatFields
- */
- public RepeatField repeatField() throws ParseException {
- try {
-
- this.lexer.match('r');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- RepeatField repeatField = new RepeatField();
-
- lexer.match(LexerCore.ID);
- Token repeatInterval = lexer.getNextToken();
- this.lexer.SPorHT();
- TypedTime typedTime = getTypedTime(repeatInterval.getTokenValue());
- repeatField.setRepeatInterval(typedTime);
-
- lexer.match(LexerCore.ID);
- Token activeDuration = lexer.getNextToken();
- this.lexer.SPorHT();
- typedTime = getTypedTime(activeDuration.getTokenValue());
- repeatField.setActiveDuration(typedTime);
-
- // The offsets list:
- /*Patch 117 */
- while (lexer.hasMoreChars()) {
- char la = lexer.lookAhead(0);
- if (la == '\n' || la == '\r')
- break;
- lexer.match(LexerCore.ID);
- Token offsets = lexer.getNextToken();
- this.lexer.SPorHT();
- typedTime = getTypedTime(offsets.getTokenValue());
- repeatField.addOffset(typedTime);
- }
-
- return repeatField;
- } catch (Exception e) {
- throw lexer.createParseException();
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.repeatField();
- }
-
- /**
-
- public static void main(String[] args) throws ParseException {
- String repeat[] = {
- "r=604800s 3600s 0s 90000s\n",
- "r=7d 1h 0 25h\n",
- "r=7 6 5 4 3 2 1 0 \n"
- };
-
- for (int i = 0; i < repeat.length; i++) {
- RepeatFieldParser repeatFieldParser=new RepeatFieldParser(
- repeat[i] );
- RepeatField repeatFields=repeatFieldParser.repeatField();
- System.out.println("toParse: " +repeat[i]);
- System.out.println("encoded: " +repeatFields.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: RepeatFieldParser.java,v $
- * Revision 1.7 2009/07/17 18:57:17 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.6 2007/07/12 15:39:53 mranga
- * Issue number: 117
- * Obtained from:
- * Submitted by: patrick_poglitsch (patrick_poglitsch)
- * Reviewed by: mranga
- *
- * Revision 1.5 2006/08/23 00:00:22 mranga
- * Issue number:
- * Obtained from:
- * Submitted by:
- * Reviewed by: mranga
- *
- * javadoc fixups.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.4 2006/07/13 09:02:39 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/SDPAnnounceParser.java b/java/gov/nist/javax/sdp/parser/SDPAnnounceParser.java
deleted file mode 100644
index 83576e4..0000000
--- a/java/gov/nist/javax/sdp/parser/SDPAnnounceParser.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-import java.util.*;
-import gov.nist.core.*;
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.javax.sdp.*;
-import java.text.ParseException;
-// Acknowledgement: this includes a bug fix submitted by
-// Rafael Barriuso rbarriuso@dit.upm.es
-
-/** Parser for SDP Announce messages.
- */
-public class SDPAnnounceParser extends ParserCore {
-
- protected Lexer lexer;
- protected Vector sdpMessage;
-
- /** Creates new SDPAnnounceParser
- * @param sdpMessage Vector of messages to parse.
- */
- public SDPAnnounceParser(Vector sdpMessage) {
- this.sdpMessage = sdpMessage;
- }
-
- /** Create a new SDPAnnounceParser.
- *@param message string containing the sdp announce message.
- *
- */
- public SDPAnnounceParser(String message) {
- int start = 0;
- String line = null;
- // Return trivially if there is no sdp announce message
- // to be parsed. Bruno Konik noticed this bug.
- if (message == null) return;
- sdpMessage = new Vector();
- // Strip off leading and trailing junk.
- String sdpAnnounce = message.trim() + "\r\n";
- // Bug fix by Andreas Bystrom.
- while (start < sdpAnnounce.length()) {
- // Major re-write by Ricardo Borba.
- int lfPos = sdpAnnounce.indexOf("\n", start);
- int crPos = sdpAnnounce.indexOf("\r", start);
-
- if (lfPos > 0 && crPos < 0) {
- // there are only "\n" separators
- line = sdpAnnounce.substring(start, lfPos);
- start = lfPos + 1;
- } else if (lfPos < 0 && crPos > 0) {
- //bug fix: there are only "\r" separators
- line = sdpAnnounce.substring(start, crPos);
- start = crPos + 1;
- } else if (lfPos > 0 && crPos > 0) {
- // there are "\r\n" or "\n\r" (if exists) separators
- if (lfPos > crPos) {
- // assume "\r\n" for now
- line = sdpAnnounce.substring(start, crPos);
- // Check if the "\r" and "\n" are close together
- if (lfPos == crPos + 1) {
- start = lfPos + 1; // "\r\n"
- } else {
- start = crPos + 1; // "\r" followed by the next record and a "\n" further away
- }
- } else {
- // assume "\n\r" for now
- line = sdpAnnounce.substring(start, lfPos);
- // Check if the "\n" and "\r" are close together
- if (crPos == lfPos + 1) {
- start = crPos + 1; // "\n\r"
- } else {
- start = lfPos + 1; // "\n" followed by the next record and a "\r" further away
- }
- }
- } else if (lfPos < 0 && crPos < 0) { // end
- break;
- }
- sdpMessage.addElement(line);
- }
- }
-
- public SessionDescriptionImpl parse() throws ParseException {
- SessionDescriptionImpl retval = new SessionDescriptionImpl();
- for (int i = 0; i < sdpMessage.size(); i++) {
- String field = (String) sdpMessage.elementAt(i);
- SDPParser sdpParser = ParserFactory.createParser(field);
- SDPField sdpField = null;
- if (sdpParser != null)
- {
- sdpField = sdpParser.parse();
- }
- retval.addField(sdpField);
- }
- return retval;
-
- }
-
-
-
-}
-/*
- * $Log: SDPAnnounceParser.java,v $
- * Revision 1.11 2009/10/16 19:27:56 mranga
- * Issue number: 128
- * Reviewed by: mranga
- * This would only work for SDP.
- *
- * Revision 1.10 2009/07/17 18:57:17 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.9 2008/01/18 02:18:24 mranga
- * Issue number:
- * Obtained from:
- * Submitted by:
- * Reviewed by: mranga
- * Moved out some test code.
- *
- * Revision 1.8 2006/11/22 04:08:57 rborba
- * Fixed a null pointer exception when an SDP is received with an empty session name ("s=").
- *
- * Revision 1.7 2006/07/13 09:02:37 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.5 2005/01/21 21:19:24 mranga
- * Reviewed by: mranga
- * Strip leading whitespace while parsing Sdp Announce messages.
- *
- * Revision 1.4 2004/02/18 14:33:02 mranga
- * Submitted by: Bruno Konik
- * Reviewed by: mranga
- * Remove extraneous newline in encoding messages. Test for empty sdp announce
- * rather than die with null when null is passed to sdp announce parser.
- * Fixed bug in checking for \n\n when looking for message end.
- *
- * Revision 1.3 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/SDPParser.java b/java/gov/nist/javax/sdp/parser/SDPParser.java
deleted file mode 100644
index 0484636..0000000
--- a/java/gov/nist/javax/sdp/parser/SDPParser.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-package gov.nist.javax.sdp.parser;
-import gov.nist.core.*;
-import java.text.ParseException;
-import gov.nist.javax.sdp.fields.*;
-
-/**
-*@version 1.2
-*
-*@author M. Ranganathan <br/>
-*
-*
-*
-*/
-public abstract class SDPParser extends ParserCore {
-
- public abstract SDPField parse() throws ParseException;
-
-}
-/*
- * $Log: SDPParser.java,v $
- * Revision 1.5 2009/07/17 18:57:17 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:39 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/SessionNameFieldParser.java b/java/gov/nist/javax/sdp/parser/SessionNameFieldParser.java
deleted file mode 100644
index 775cc88..0000000
--- a/java/gov/nist/javax/sdp/parser/SessionNameFieldParser.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * SessionNameFieldParser.java
- *
- * Created on February 25, 2002, 10:26 AM
- */
-
-package gov.nist.javax.sdp.parser;
-import gov.nist.javax.sdp.fields.*;
-import java.text.*;
-
-/**
- * @author deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.6 $ $Date: 2009/07/17 18:57:17 $
- */
-public class SessionNameFieldParser extends SDPParser {
-
- /** Creates new SessionNameFieldParser */
- public SessionNameFieldParser(String sessionNameField) {
- this.lexer = new Lexer("charLexer", sessionNameField);
- }
-
- /** Get the SessionNameField
- * @return SessionNameField
- */
- public SessionNameField sessionNameField() throws ParseException {
- try {
- this.lexer.match('s');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- SessionNameField sessionNameField = new SessionNameField();
- String rest = lexer.getRest();
- // Some endpoints may send us a blank session name ("s=") -- [rborba]
- sessionNameField.setSessionName(rest == null ? "" : rest.trim());
-
- return sessionNameField;
- } catch (Exception e) {
- throw lexer.createParseException();
- }
-
- }
-
- public SDPField parse() throws ParseException {
- return this.sessionNameField();
- }
-
- public static void main(String[] args) throws ParseException {
- String session[] = { "s=SDP Seminar \n", "s= Session SDP\n" };
-
- for (int i = 0; i < session.length; i++) {
- SessionNameFieldParser sessionNameFieldParser =
- new SessionNameFieldParser(session[i]);
- SessionNameField sessionNameField =
- sessionNameFieldParser.sessionNameField();
- System.out.println("encoded: " + sessionNameField.encode());
- }
- }
-}
-/*
- * $Log: SessionNameFieldParser.java,v $
- * Revision 1.6 2009/07/17 18:57:17 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.5 2006/11/22 04:22:01 rborba
- * Made the SDPAnnounceParser constructor a little more robust in order to handle SDPs with mixed CR, LF, CR/LF anf LF/CR lines.
- *
- * Revision 1.4 2006/07/13 09:02:38 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/TimeFieldParser.java b/java/gov/nist/javax/sdp/parser/TimeFieldParser.java
deleted file mode 100644
index 429aa4d..0000000
--- a/java/gov/nist/javax/sdp/parser/TimeFieldParser.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * TimeFieldParser.java
- *
- * Created on February 25, 2002, 9:58 AM
- */
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import java.text.*;
-
-/**
- * @author deruelle
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.7 $ $Date: 2009/07/17 18:57:18 $
- */
-public class TimeFieldParser extends SDPParser {
-
- /** Creates new TimeFieldParser */
- public TimeFieldParser(String timeField) {
- lexer = new Lexer("charLexer", timeField);
- }
-
- /** Get the typed time.
- *
- * @param tokenValue to convert to typedTime.
- * @return TypedTime
- */
- public TypedTime getTypedTime(String tokenValue) {
- TypedTime typedTime = new TypedTime();
-
- if (tokenValue.endsWith("d")) {
- typedTime.setUnit("d");
- String t = tokenValue.replace('d', ' ');
-
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else if (tokenValue.endsWith("h")) {
- typedTime.setUnit("h");
- String t = tokenValue.replace('h', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else if (tokenValue.endsWith("m")) {
- typedTime.setUnit("m");
- String t = tokenValue.replace('m', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else {
- typedTime.setUnit("s");
- if (tokenValue.endsWith("s")) {
- String t = tokenValue.replace('s', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else
- typedTime.setTime(Integer.parseInt(tokenValue.trim()));
- }
- return typedTime;
- }
-
- private long getTime() throws ParseException {
- try {
- String startTime = this.lexer.number();
- if ( startTime.length() > 18)
- startTime = startTime.substring( startTime.length() - 18);
- return Long.parseLong(startTime);
- } catch (NumberFormatException ex) {
- throw lexer.createParseException();
- }
-
- }
-
- /** parse the field string
- * @return TimeField
- */
- public TimeField timeField() throws ParseException {
- try {
- this.lexer.match('t');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- TimeField timeField = new TimeField();
-
- long st = this.getTime();
- timeField.setStartTime(st);
- this.lexer.SPorHT();
-
- st = this.getTime();
- timeField.setStopTime(st);
-
- return timeField;
- } catch (Exception e) {
- throw lexer.createParseException();
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.timeField();
- }
-
- /**
- public static void main(String[] args) throws ParseException {
- String time[] = {
- "t=3033434331 3042462419\n",
- "t=7d 1h \n",
- "t=3149328700 0 \n",
- "t=0 0\n"
- };
-
-
- for (int i = 0; i < time.length; i++) {
- TimeFieldParser timeFieldParser=new TimeFieldParser(
- time[i] );
- TimeField timeField=timeFieldParser.timeField();
- System.out.println("encoded: " +timeField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: TimeFieldParser.java,v $
- * Revision 1.7 2009/07/17 18:57:18 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.6 2006/11/16 19:05:44 pmusgrave
- * Issue number: 82 - SDP with Origin/Time or Zone creater than 18 digits causes parse exception
- * Obtained from:
- * Submitted by: pmusgrave@newheights.com
- * Reviewed by:
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.5 2006/08/23 00:00:23 mranga
- * Issue number:
- * Obtained from:
- * Submitted by:
- * Reviewed by: mranga
- *
- * javadoc fixups.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.4 2006/07/13 09:02:38 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/URIFieldParser.java b/java/gov/nist/javax/sdp/parser/URIFieldParser.java
deleted file mode 100644
index d1a08d3..0000000
--- a/java/gov/nist/javax/sdp/parser/URIFieldParser.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* Conditions Of Use
-*
-* This software was developed by employees of the National Institute of
-* Standards and Technology (NIST), an agency of the Federal Government.
-* Pursuant to title 15 Untied States Code Section 105, works of NIST
-* employees are not subject to copyright protection in the United States
-* and are considered to be in the public domain. As a result, a formal
-* license is not needed to use the software.
-*
-* This software is provided by NIST as a service and is expressly
-* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
-* AND DATA ACCURACY. NIST does not warrant or make any representations
-* regarding the use of the software or the results thereof, including but
-* not limited to the correctness, accuracy, reliability or usefulness of
-* the software.
-*
-* Permission to use this software is contingent upon your acceptance
-* of the terms of this agreement
-*
-* .
-*
-*/
-/*
- * URIFieldParser.java
- *
- * Created on February 25, 2002, 11:10 AM
- */
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import java.text.ParseException;
-
-/**
- * URI Field Parser.
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.5 $ $Date: 2009/07/17 18:57:18 $
- *
- * @author Olivier Deruelle
- * @author M. Ranganathan <br/>
- *
- *
- *
- */
-public class URIFieldParser extends SDPParser {
-
- /** Creates new URIFieldParser */
- public URIFieldParser(String uriField) {
- this.lexer = new Lexer("charLexer", uriField);
- }
-
- /** Get the URI field
- * @return URIField
- */
- public URIField uriField() throws ParseException {
- try {
- this.lexer.match('u');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- URIField uriField = new URIField();
- String rest = lexer.getRest().trim();
- uriField.setURI(rest);
- return uriField;
- } catch (Exception e) {
- throw lexer.createParseException();
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.uriField();
- }
-
- /**
-
- public static void main(String[] args) throws ParseException {
- String uri[] = {
- "u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps\n",
- "u=sip:j.doe@big.com\n",
- "u=sip:j.doe:secret@big.com;transport=tcp\n",
- "u=sip:j.doe@big.com?subject=project\n",
- "u=sip:+1-212-555-1212:1234@gateway.com;user=phone\n"
- };
-
- for (int i = 0; i < uri.length; i++) {
- URIFieldParser uriFieldParser=new URIFieldParser(
- uri[i] );
- URIField uriField=uriFieldParser.uriField();
- System.out.println("toParse: " +uri[i]);
- System.out.println("encoded: " +uriField.encode());
- }
-
- }
- **/
-}
-/*
- * $Log: URIFieldParser.java,v $
- * Revision 1.5 2009/07/17 18:57:18 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.4 2006/07/13 09:02:41 mranga
- * Issue number:
- * Obtained from:
- * Submitted by: jeroen van bemmel
- * Reviewed by: mranga
- * Moved some changes from jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga
- * javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga
- * Added NIST disclaimer to all public domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker
- * Issue number:
- * Obtained from:
- * Submitted by: sverker
- * Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number:
- * CVS: If this change addresses one or more issues,
- * CVS: then enter the issue number(s) here.
- * CVS: Obtained from:
- * CVS: If this change has been taken from another system,
- * CVS: then name the system in this line, otherwise delete it.
- * CVS: Submitted by:
- * CVS: If this code has been contributed to the project by someone else; i.e.,
- * CVS: they sent us a patch or a set of diffs, then include their name/email
- * CVS: address here. If this is your work then delete this line.
- * CVS: Reviewed by:
- * CVS: If we are doing pre-commit code reviews and someone else has
- * CVS: reviewed your changes, include their name(s) here.
- * CVS: If you have not had it reviewed then delete this line.
- *
- */
diff --git a/java/gov/nist/javax/sdp/parser/ZoneFieldParser.java b/java/gov/nist/javax/sdp/parser/ZoneFieldParser.java
deleted file mode 100644
index 8eacdda..0000000
--- a/java/gov/nist/javax/sdp/parser/ZoneFieldParser.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Conditions Of Use
- *
- * This software was developed by employees of the National Institute of
- * Standards and Technology (NIST), an agency of the Federal Government.
- * Pursuant to title 15 Untied States Code Section 105, works of NIST
- * employees are not subject to copyright protection in the United States
- * and are considered to be in the public domain. As a result, a formal
- * license is not needed to use the software.
- *
- * This software is provided by NIST as a service and is expressly
- * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
- * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
- * AND DATA ACCURACY. NIST does not warrant or make any representations
- * regarding the use of the software or the results thereof, including but
- * not limited to the correctness, accuracy, reliability or usefulness of
- * the software.
- *
- * Permission to use this software is contingent upon your acceptance
- * of the terms of this agreement
- *
- * .
- *
- */
-package gov.nist.javax.sdp.parser;
-
-import gov.nist.javax.sdp.fields.*;
-import gov.nist.core.*;
-import java.text.ParseException;
-
-/**
- * Parser For the Zone field.
- *
- * @version JAIN-SDP-PUBLIC-RELEASE $Revision: 1.8 $ $Date: 2009/07/17 18:57:18 $
- *
- * @author Olivier Deruelle <deruelle@antd.nist.gov>
- * @author M. Ranganathan <mranga@antd.nist.gov> <br/>
- *
- *
- *
- */
-public class ZoneFieldParser extends SDPParser {
-
- /** Creates new ZoneFieldParser */
- public ZoneFieldParser(String zoneField) {
- lexer = new Lexer("charLexer", zoneField);
- }
-
- /**
- * Get the sign of the offset.
- *
- * @param tokenValue
- * to examine.
- * @return the sign.
- */
- public String getSign(String tokenValue) {
- if (tokenValue.startsWith("-"))
- return "-";
- else
- return "+";
- }
-
- /**
- * Get the typed time.
- *
- * @param tokenValue --
- * token value to convert to typed time.
- * @return TypedTime -- the converted typed time value.
- */
- public TypedTime getTypedTime(String tokenValue) {
- TypedTime typedTime = new TypedTime();
- String offset = null;
- if (tokenValue.startsWith("-"))
- offset = tokenValue.replace('-', ' ');
- else if (tokenValue.startsWith("+"))
- offset = tokenValue.replace('+', ' ');
- else
- offset = tokenValue;
-
- if (offset.endsWith("d")) {
- typedTime.setUnit("d");
- String t = offset.replace('d', ' ');
-
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else if (offset.endsWith("h")) {
- typedTime.setUnit("h");
- String t = offset.replace('h', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else if (offset.endsWith("m")) {
- typedTime.setUnit("m");
- String t = offset.replace('m', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else {
- typedTime.setUnit("s");
- if (offset.endsWith("s")) {
- String t = offset.replace('s', ' ');
- typedTime.setTime(Integer.parseInt(t.trim()));
- } else
- typedTime.setTime(Integer.parseInt(offset.trim()));
- }
- return typedTime;
- }
-
- /**
- * parse the Zone field string
- *
- * @return ZoneField
- */
- public ZoneField zoneField() throws ParseException {
- try {
- ZoneField zoneField = new ZoneField();
-
- this.lexer.match('z');
- this.lexer.SPorHT();
- this.lexer.match('=');
- this.lexer.SPorHT();
-
- // The zoneAdjustment list:
- // Patch 117
- while (lexer.hasMoreChars()) {
- char la = lexer.lookAhead(0);
- if (la == '\n' || la == '\r')
- break;
- ZoneAdjustment zoneAdjustment = new ZoneAdjustment();
-
- lexer.match(LexerCore.ID);
- Token time = lexer.getNextToken();
- this.lexer.SPorHT();
- String timeValue = time.getTokenValue();
- if (timeValue.length() > 18)
- timeValue = timeValue.substring(timeValue.length() - 18);
-
- zoneAdjustment.setTime(Long.parseLong(timeValue));
-
- lexer.match(LexerCore.ID);
- Token offset = lexer.getNextToken();
- this.lexer.SPorHT();
- String sign = getSign(offset.getTokenValue());
- TypedTime typedTime = getTypedTime(offset.getTokenValue());
- zoneAdjustment.setSign(sign);
- zoneAdjustment.setOffset(typedTime);
-
- zoneField.addZoneAdjustment(zoneAdjustment);
- }
-
- return zoneField;
- } catch (Exception e) {
- throw lexer.createParseException();
- }
- }
-
- public SDPField parse() throws ParseException {
- return this.zoneField();
- }
-
- /**
- * public static void main(String[] args) throws ParseException { String
- * zone[] = { "z=2882844526 -1h 2898848070 0\n", "z=2886 +1h 2898848070 10
- * 23423 -6s \n" };
- *
- * for (int i = 0; i <zone.length; i++) { ZoneFieldParser
- * zoneFieldParser=new ZoneFieldParser( zone[i] ); ZoneField
- * zoneField=zoneFieldParser.zoneField(); System.out.println("encoded: "
- * +zoneField.encode()); }
- * }
- */
-
-}
-/*
- * $Log: ZoneFieldParser.java,v $
- * Revision 1.8 2009/07/17 18:57:18 emcho
- * Converts indentation tabs to spaces so that we have a uniform indentation policy in the whole project.
- *
- * Revision 1.7 2007/07/12 15:39:52 mranga
- * Issue number: 117
- * Obtained from:
- * Submitted by: patrick_poglitsch (patrick_poglitsch)
- * Reviewed by: mranga
- * Revision 1.6 2006/11/16 19:05:44 pmusgrave
- * Issue number: 82 - SDP with Origin/Time or Zone creater than 18 digits causes
- * parse exception Obtained from: Submitted by: pmusgrave@newheights.com
- * Reviewed by: CVS:
- * ---------------------------------------------------------------------- CVS:
- * Issue number: CVS: If this change addresses one or more issues, CVS: then
- * enter the issue number(s) here. CVS: Obtained from: CVS: If this change has
- * been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- * Revision 1.5 2006/08/23 00:00:22 mranga Issue number: Obtained from:
- * Submitted by: Reviewed by: mranga
- *
- * javadoc fixups.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number: CVS: If this change addresses one or more issues, CVS:
- * then enter the issue number(s) here. CVS: Obtained from: CVS: If this change
- * has been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- * Revision 1.4 2006/07/13 09:02:37 mranga Issue number: Obtained from:
- * Submitted by: jeroen van bemmel Reviewed by: mranga Moved some changes from
- * jain-sip-1.2 to java.net
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number: CVS: If this change addresses one or more issues, CVS:
- * then enter the issue number(s) here. CVS: Obtained from: CVS: If this change
- * has been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- * Revision 1.3 2006/06/19 06:47:26 mranga javadoc fixups
- *
- * Revision 1.2 2006/06/16 15:26:28 mranga Added NIST disclaimer to all public
- * domain files. Clean up some javadoc. Fixed a leak
- *
- * Revision 1.1.1.1 2005/10/04 17:12:34 mranga
- *
- * Import
- *
- *
- * Revision 1.2 2004/01/22 13:26:28 sverker Issue number: Obtained from:
- * Submitted by: sverker Reviewed by: mranga
- *
- * Major reformat of code to conform with style guide. Resolved compiler and
- * javadoc warnings. Added CVS tags.
- *
- * CVS: ----------------------------------------------------------------------
- * CVS: Issue number: CVS: If this change addresses one or more issues, CVS:
- * then enter the issue number(s) here. CVS: Obtained from: CVS: If this change
- * has been taken from another system, CVS: then name the system in this line,
- * otherwise delete it. CVS: Submitted by: CVS: If this code has been
- * contributed to the project by someone else; i.e., CVS: they sent us a patch
- * or a set of diffs, then include their name/email CVS: address here. If this
- * is your work then delete this line. CVS: Reviewed by: CVS: If we are doing
- * pre-commit code reviews and someone else has CVS: reviewed your changes,
- * include their name(s) here. CVS: If you have not had it reviewed then delete
- * this line.
- *
- */
diff --git a/java/javax/sdp/Attribute.java b/java/javax/sdp/Attribute.java
deleted file mode 100644
index 156f051..0000000
--- a/java/javax/sdp/Attribute.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Attribute {
- String encode();
- String getName() throws SdpParseException;
- void setName(String name) throws SdpException;
- boolean hasValue() throws SdpParseException;
- String getValue() throws SdpParseException;
- void setValue(String value) throws SdpException;
- void setValueAllowNull(String value) ;
- Object clone();
- boolean equals(Object that );
-}
diff --git a/java/javax/sdp/BandWidth.java b/java/javax/sdp/BandWidth.java
deleted file mode 100644
index 4edea95..0000000
--- a/java/javax/sdp/BandWidth.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface BandWidth {
- String getBwtype();
- int getBandwidth();
- void setBwtype(String b);
- void setBandwidth(int b);
- String encode();
- String getType() throws SdpParseException;
- void setType(String type) throws SdpException;
- int getValue() throws SdpParseException;
- void setValue(int value) throws SdpException;
-}
diff --git a/java/javax/sdp/Connection.java b/java/javax/sdp/Connection.java
deleted file mode 100644
index 35027ce..0000000
--- a/java/javax/sdp/Connection.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Connection {
- String getNettype();
- String getAddrtype();
- void setNettype(String n);
- void setAddrType(String a);
- String encode();
- String getAddress() throws SdpParseException;
- String getAddressType() throws SdpParseException;
- String getNetworkType() throws SdpParseException;
- void setAddressType(String type) throws SdpException;
- void setNetworkType(String type) throws SdpException;
- Object clone();
-}
diff --git a/java/javax/sdp/EMail.java b/java/javax/sdp/EMail.java
deleted file mode 100644
index ef1811f..0000000
--- a/java/javax/sdp/EMail.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface EMail {
- String encode();
- String getValue() throws SdpParseException;
- void setValue(String value) throws SdpException;
- Object clone();
-}
diff --git a/java/javax/sdp/Info.java b/java/javax/sdp/Info.java
deleted file mode 100644
index 6c6a7f0..0000000
--- a/java/javax/sdp/Info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Info {
- String getInformation();
- void setInformation(String info);
- String encode();
- String getValue() throws SdpParseException;
- void setValue(String value) throws SdpException;
- Object clone();
-}
diff --git a/java/javax/sdp/Key.java b/java/javax/sdp/Key.java
deleted file mode 100644
index 97ec3fa..0000000
--- a/java/javax/sdp/Key.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Key {
- String getType();
- String getKeyData();
- void setType(String t);
- void setKeyData(String k);
- String encode();
- String getMethod() throws SdpParseException;
- void setMethod(String name) throws SdpException;
- boolean hasKey() throws SdpParseException;
- String getKey() throws SdpParseException;
- void setKey(String key) throws SdpException;
- Object clone();
-}
diff --git a/java/javax/sdp/Media.java b/java/javax/sdp/Media.java
deleted file mode 100644
index 0ba9c41..0000000
--- a/java/javax/sdp/Media.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface Media {
- String getMedia();
- int getPort();
- int getNports();
- Vector getFormats();
- void setMedia(String m);
- void setPort(int p);
- void setNports(int n);
- void setProto(String p);
- void setFormats(Vector formats);
- void setMediaType(String mediaType) throws SdpException;
- int getMediaPort() throws SdpParseException;
- void setMediaPort(int port) throws SdpException;
- int getPortCount() throws SdpParseException;
- void setPortCount(int portCount) throws SdpException;
- String getProtocol() throws SdpParseException;
- void setProtocol(String protocol) throws SdpException;
- void setMediaFormats(Vector mediaFormats) throws SdpException;
- String encode();
- Object clone();
-}
diff --git a/java/javax/sdp/MediaDescription.java b/java/javax/sdp/MediaDescription.java
deleted file mode 100644
index 936b413..0000000
--- a/java/javax/sdp/MediaDescription.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface MediaDescription {
- String encode();
- Vector getAttributeFields();
- void setAttributeFields(Vector a);
- Media getMedia();
- void setMedia(Media media) throws SdpException;
- Info getInfo();
- void setInfo(Info i) throws SdpException;
- Connection getConnection();
- void setConnection(Connection conn) throws SdpException;
- Vector getBandwidths(boolean create);
- void setBandwidths(Vector bandwidths) throws SdpException;
- int getBandwidth(String name) throws SdpParseException;
- void setBandwidth(String name, int value) throws SdpException;
- void removeBandwidth(String name);
- Key getKey();
- void setKey(Key key) throws SdpException;
- Vector getAttributes(boolean create);
- void setAttributes(Vector attributes) throws SdpException;
- String getAttribute(String name) throws SdpParseException;
- void setAttribute(String name, String value) throws SdpException;
- void setDuplexity(String duplexity);
- void removeAttribute(String name);
- Vector getMimeTypes() throws SdpException;
- Vector getMimeParameters() throws SdpException;
- void setPreconditionFields(Vector precondition) throws SdpException;
- Vector getPreconditionFields();
-}
diff --git a/java/javax/sdp/Origin.java b/java/javax/sdp/Origin.java
deleted file mode 100644
index a3994e7..0000000
--- a/java/javax/sdp/Origin.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Origin {
- String getUsername() throws SdpParseException;
- long getSessId();
- String getSessIdAsString();
- long getSessVersion();
- String getSessVersionAsString();
- String getNettype();
- String getAddrtype();
- void setSessId(long s);
- void setSessionId(String sessId);
- void setSessVersion(long s);
- void setSessVersion(String s);
- void setNettype(String n);
- void setAddrtype(String a);
- void setUsername(String user) throws SdpException;
- long getSessionId() throws SdpParseException;
- void setSessionId(long id) throws SdpException;
- long getSessionVersion() throws SdpParseException;
- void setSessionVersion(long version) throws SdpException;
- String getAddress() throws SdpParseException;
- String getAddressType() throws SdpParseException;
- String getNetworkType() throws SdpParseException;
- void setAddressType(String type) throws SdpException;
- void setNetworkType(String type) throws SdpException;
- String encode();
- Object clone();
-}
diff --git a/java/javax/sdp/Phone.java b/java/javax/sdp/Phone.java
deleted file mode 100644
index c8e52ba..0000000
--- a/java/javax/sdp/Phone.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Phone {
- String getName();
- String getPhoneNumber();
- void setName(String name);
- void setPhoneNumber(String phoneNumber);
- String getValue() throws SdpParseException;
- void setValue(String value) throws SdpException;
- String encode();
-}
diff --git a/java/javax/sdp/RepeatTime.java b/java/javax/sdp/RepeatTime.java
deleted file mode 100644
index 0ab304a..0000000
--- a/java/javax/sdp/RepeatTime.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface RepeatTime {
- LinkedList getOffsets();
- int getRepeatInterval() throws SdpParseException;
- int getActiveDuration() throws SdpParseException;
- int[] getOffsetArray() throws SdpParseException;
- void setOffsetArray(int[] offsets) throws SdpException;
- boolean getTypedTime() throws SdpParseException;
- void setTypedTime(boolean typedTime);
- String encode();
- Object clone();
-}
diff --git a/java/javax/sdp/SDPFieldNames.java b/java/javax/sdp/SDPFieldNames.java
deleted file mode 100644
index 7cb608f..0000000
--- a/java/javax/sdp/SDPFieldNames.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface SDPFieldNames {
- abstract String encode();
- boolean equals(Object that);
- boolean match(Object other);
-}
diff --git a/java/javax/sdp/SdpConstants.java b/java/javax/sdp/SdpConstants.java
deleted file mode 100644
index 6334773..0000000
--- a/java/javax/sdp/SdpConstants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public class SdpConstants {
-
- public static final String RTPMAP = "rtpmap";
-}
diff --git a/java/javax/sdp/SdpException.java b/java/javax/sdp/SdpException.java
deleted file mode 100644
index 58abcfd..0000000
--- a/java/javax/sdp/SdpException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.lang.*;
-
-public class SdpException extends Exception {
-
- public SdpException() {}
- public SdpException(String msg) {
- super(msg);
- }
- public SdpException(String msg, Exception ex) {
- super(msg, ex);
- }
-
-}
diff --git a/java/javax/sdp/SdpFactory.java b/java/javax/sdp/SdpFactory.java
deleted file mode 100644
index 6a7ecca..0000000
--- a/java/javax/sdp/SdpFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public class SdpFactory {
- static final long POSIX_TIME_OFFSET = (70*365 + 70/4) * 86400L;
- public SdpFactory() {}
-
- public static Date getDateFromNtp(long time) {
- return new Date((time - POSIX_TIME_OFFSET) * 1000);
- }
-
- public static long getNtpTime(Date time) {
- if (time == null) return -1;
- return time.getTime() / 1000 + POSIX_TIME_OFFSET;
- }
-}
diff --git a/java/javax/sdp/SdpParseException.java b/java/javax/sdp/SdpParseException.java
deleted file mode 100644
index 4ce41d7..0000000
--- a/java/javax/sdp/SdpParseException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public class SdpParseException extends SdpException {
- public SdpParseException() {}
- public SdpParseException(String msg) {
- super(msg);
- }
- public SdpParseException(String msg, Exception ex) {
- super(msg, ex);
- }
-}
diff --git a/java/javax/sdp/SessionDescription.java b/java/javax/sdp/SessionDescription.java
deleted file mode 100644
index f1c8abb..0000000
--- a/java/javax/sdp/SessionDescription.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface SessionDescription {
- Version getVersion();
- void setVersion(Version v) throws SdpException;
- Origin getOrigin();
- void setOrigin(Origin origin) throws SdpException;
- SessionName getSessionName();
- void setSessionName(SessionName sessionName) throws SdpException;
- Info getInfo();
- void setInfo(Info i) throws SdpException;
- URI getURI();
- void setURI(URI uri) throws SdpException;
- Vector getEmails(boolean create) throws SdpParseException;
- void setEmails(Vector emails) throws SdpException;
- Vector getPhones(boolean create) throws SdpException;
- void setPhones(Vector phones) throws SdpException;
- Vector getTimeDescriptions(boolean create) throws SdpException;
- void setTimeDescriptions(Vector times) throws SdpException;
- Vector getZoneAdjustments(boolean create) throws SdpException;
- void setZoneAdjustments(Vector zoneAdjustments) throws SdpException;
- Connection getConnection();
- void setConnection(Connection conn) throws SdpException;
- Vector getBandwidths(boolean create);
- void setBandwidths(Vector bandwidthList) throws SdpException;
- int getBandwidth(String name) throws SdpParseException;
- void setBandwidth(String name, int value) throws SdpException;
- void removeBandwidth(String name);
- Key getKey();
- void setKey(Key key) throws SdpException;
- String getAttribute(String name) throws SdpParseException;
- Vector getAttributes(boolean create);
- void removeAttribute(String name);
- void setAttribute(String name, String value) throws SdpException;
- void setAttributes(Vector attributes) throws SdpException;
- Vector getMediaDescriptions(boolean create) throws SdpException;
-}
diff --git a/java/javax/sdp/SessionName.java b/java/javax/sdp/SessionName.java
deleted file mode 100644
index 81bbe26..0000000
--- a/java/javax/sdp/SessionName.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface SessionName {
- String getSessionName();
- void setSessionName(String s);
- String getValue() throws SdpParseException;
- void setValue(String value) throws SdpException;
- String encode();
- Object clone();
-}
diff --git a/java/javax/sdp/Time.java b/java/javax/sdp/Time.java
deleted file mode 100644
index 7eb7cc3..0000000
--- a/java/javax/sdp/Time.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface Time {
- long getStartTime();
- long getStopTime();
- void setStartTime(long startTime);
- void setStopTime(long stopTime);
- Date getStart() throws SdpParseException;
- Date getStop() throws SdpParseException;
- void setStop(Date stop) throws SdpException;
- void setStart(Date start) throws SdpException;
- boolean getTypedTime();
- void setTypedTime(boolean typedTime);
- boolean isZero();
- void setZero();
- Object clone();
- String encode();
-}
diff --git a/java/javax/sdp/TimeDescription.java b/java/javax/sdp/TimeDescription.java
deleted file mode 100644
index 189457f..0000000
--- a/java/javax/sdp/TimeDescription.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface TimeDescription {
- Time getTime();
- void setTime(Time timeField) throws SdpException;
- Vector getRepeatTimes(boolean create);
- void setRepeatTimes(Vector repeatTimes) throws SdpException;
-}
diff --git a/java/javax/sdp/TimeZoneAdjustment.java b/java/javax/sdp/TimeZoneAdjustment.java
deleted file mode 100644
index a2efcda..0000000
--- a/java/javax/sdp/TimeZoneAdjustment.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.util.*;
-
-public interface TimeZoneAdjustment {
- String encode();
- Hashtable getZoneAdjustments(boolean create) throws SdpParseException;
- void setZoneAdjustments(Hashtable map) throws SdpException;
- void setTypedTime(boolean typedTime);
- boolean getTypedTime();
- Object clone();
-}
diff --git a/java/javax/sdp/URI.java b/java/javax/sdp/URI.java
deleted file mode 100644
index 7cf5753..0000000
--- a/java/javax/sdp/URI.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-import java.net.URL;
-
-public interface URI {
- String getURI();
- void setURI(String uri);
- URL get();
- void set(URL uri);
- String encode();
-}
diff --git a/java/javax/sdp/Version.java b/java/javax/sdp/Version.java
deleted file mode 100644
index 563766a..0000000
--- a/java/javax/sdp/Version.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.sdp;
-
-public interface Version {
- int getProtoVersion();
- void setProtoVersion(int pv);
- int getVersion() throws SdpParseException;
- void setVersion(int value) throws SdpException;
- String encode();
- Object clone();
-}