You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2012/03/01 17:49:23 UTC
svn commit: r1295669 -
/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/mediatype/MimeTypeHelper.java
Author: jmsnell
Date: Thu Mar 1 16:49:22 2012
New Revision: 1295669
URL: http://svn.apache.org/viewvc?rev=1295669&view=rev
Log:
Per https://issues.apache.org/jira/browse/ABDERA-297....
Fix the Immutable MimeType impl during init...
Modified:
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/mediatype/MimeTypeHelper.java
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/mediatype/MimeTypeHelper.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/mediatype/MimeTypeHelper.java?rev=1295669&r1=1295668&r2=1295669&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/mediatype/MimeTypeHelper.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/mediatype/MimeTypeHelper.java Thu Mar 1 16:49:22 2012
@@ -415,42 +415,52 @@ public final class MimeTypeHelper {
public static class UnmodifiableMimeTypeParameterList
extends MimeTypeParameterList {
-
+ private boolean inited = false;
public UnmodifiableMimeTypeParameterList() {
super();
+ inited = true;
}
public UnmodifiableMimeTypeParameterList(String arg0)
throws javax.activation.MimeTypeParseException {
super(arg0);
+ inited = true;
}
@Override
public void remove(String arg0) {
- throw new UnsupportedOperationException();
+ if (inited)
+ throw new UnsupportedOperationException();
+ else super.remove(arg0);
}
@Override
public void set(String arg0, String arg1) {
- throw new UnsupportedOperationException();
+ if (inited)
+ throw new UnsupportedOperationException();
+ else super.set(arg0, arg1);
}
}
public static class UnmodifiableMimeType extends MimeType {
private final MimeTypeParameterList list;
+ private boolean inited = false;
public UnmodifiableMimeType() {
super();
this.list = getList();
+ inited = true;
}
public UnmodifiableMimeType(String primary, String sub)
throws javax.activation.MimeTypeParseException {
super(primary, sub);
this.list = getList();
+ inited = true;
}
public UnmodifiableMimeType(String rawdata)
throws javax.activation.MimeTypeParseException {
super(rawdata);
this.list = getList();
+ inited = true;
}
private MimeTypeParameterList getList() {
try {
@@ -462,17 +472,25 @@ public final class MimeTypeHelper {
}
public void setPrimaryType(String primary)
throws javax.activation.MimeTypeParseException {
- throw new UnsupportedOperationException();
+ if (inited)
+ throw new UnsupportedOperationException();
+ else super.setPrimaryType(primary);
}
public void setSubType(String sub)
throws javax.activation.MimeTypeParseException {
- throw new UnsupportedOperationException();
+ if (inited)
+ throw new UnsupportedOperationException();
+ else super.setSubType(sub);
}
public void setParameter(String name, String value) {
- throw new UnsupportedOperationException();
+ if (inited)
+ throw new UnsupportedOperationException();
+ else super.setParameter(name, value);
}
public void removeParameter(String name) {
- throw new UnsupportedOperationException();
+ if (inited)
+ throw new UnsupportedOperationException();
+ else super.removeParameter(name);
}
public MimeTypeParameterList getParameters() {
return list;