This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 19bd0b9  org.apache.juneau.http tests.
19bd0b9 is described below

commit 19bd0b981f1da3bc12b9ff4c5659574ae09577ae
Author: JamesBognar <[email protected]>
AuthorDate: Mon Jul 13 12:05:53 2020 -0400

    org.apache.juneau.http tests.
---
 .../apache/juneau/dto/swagger/OperationTest.java   | 20 +++---
 .../org/apache/juneau/dto/swagger/SwaggerTest.java | 20 +++---
 .../org/apache/juneau/transforms/PojoSwapTest.java |  6 +-
 .../transforms/SwapsAnnotationComboTest.java       | 28 ++++-----
 .../src/main/java/org/apache/juneau/ClassMeta.java |  2 +-
 .../apache/juneau/annotation/BeanConfigApply.java  |  2 +-
 .../apache/juneau/http/{header => }/Constants.java | 10 ++-
 .../java/org/apache/juneau/http/MediaType.java     | 73 ++++++++++------------
 .../org/apache/juneau/http/MediaTypeRange.java     |  4 +-
 .../java/org/apache/juneau/http/header/Accept.java |  2 +-
 .../apache/juneau/http/header/AcceptCharset.java   |  2 +-
 .../apache/juneau/http/header/AcceptEncoding.java  |  2 +-
 .../apache/juneau/http/header/AcceptLanguage.java  |  2 +-
 .../apache/juneau/http/header/ClientVersion.java   |  2 +-
 .../org/apache/juneau/http/header/Connection.java  |  2 +-
 .../juneau/http/header/ContentDisposition.java     |  2 +-
 .../org/apache/juneau/http/header/ContentType.java |  2 +-
 .../java/org/apache/juneau/http/header/TE.java     |  2 +-
 .../main/java/org/apache/juneau/parser/Parser.java |  2 +-
 .../org/apache/juneau/serializer/Serializer.java   |  4 +-
 .../org/apache/juneau/rest/client/RestCall.java    |  2 +-
 .../juneau/rest/client2/RestResponseBody.java      |  2 +-
 .../java/org/apache/juneau/rest/RestRequest.java   |  4 +-
 .../java/org/apache/juneau/rest/RestResponse.java  |  2 +-
 24 files changed, 98 insertions(+), 101 deletions(-)

diff --git 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/OperationTest.java
 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/OperationTest.java
index 2799892..85a8b8e 100644
--- 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/OperationTest.java
+++ 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/OperationTest.java
@@ -168,7 +168,7 @@ public class OperationTest {
        public void testSetConsumes() {
                Operation t = new Operation();
 
-               t.setConsumes(ASet.of(MediaType.forString("text/foo")));
+               t.setConsumes(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getConsumes()).json().is("['text/foo']");
                assertObject(t.getConsumes()).isType(List.class);
 
@@ -187,7 +187,7 @@ public class OperationTest {
        public void testAddConsumes() {
                Operation t = new Operation();
 
-               t.addConsumes(ASet.of(MediaType.forString("text/foo")));
+               t.addConsumes(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getConsumes()).json().is("['text/foo']");
                assertObject(t.getConsumes()).isType(List.class);
 
@@ -207,8 +207,8 @@ public class OperationTest {
        public void testConsumes() {
                Operation t = new Operation();
 
-               t.consumes(ASet.of(MediaType.forString("text/foo")));
-               t.consumes(MediaType.forString("text/bar"));
+               t.consumes(ASet.of(MediaType.of("text/foo")));
+               t.consumes(MediaType.of("text/bar"));
                t.consumes("text/baz");
                t.consumes(new StringBuilder("text/qux"));
                t.consumes((Object)new String[]{"text/quux"});
@@ -229,7 +229,7 @@ public class OperationTest {
        public void testSetProduces() {
                Operation t = new Operation();
 
-               t.setProduces(ASet.of(MediaType.forString("text/foo")));
+               t.setProduces(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getProduces()).json().is("['text/foo']");
                assertObject(t.getProduces()).isType(List.class);
 
@@ -248,7 +248,7 @@ public class OperationTest {
        public void testAddProduces() {
                Operation t = new Operation();
 
-               t.addProduces(ASet.of(MediaType.forString("text/foo")));
+               t.addProduces(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getProduces()).json().is("['text/foo']");
                assertObject(t.getProduces()).isType(List.class);
 
@@ -268,8 +268,8 @@ public class OperationTest {
        public void testProduces() {
                Operation t = new Operation();
 
-               t.produces(ASet.of(MediaType.forString("text/foo")));
-               t.produces(MediaType.forString("text/bar"));
+               t.produces(ASet.of(MediaType.of("text/foo")));
+               t.produces(MediaType.of("text/bar"));
                t.produces("text/baz");
                t.produces(new StringBuilder("text/qux"));
                t.produces((Object)new String[]{"text/quux"});
@@ -580,13 +580,13 @@ public class OperationTest {
                Operation t = new Operation();
 
                t
-                       .set("consumes", ASet.of(MediaType.forString("text/a")))
+                       .set("consumes", ASet.of(MediaType.of("text/a")))
                        .set("deprecated", true)
                        .set("description", "b")
                        .set("externalDocs", externalDocumentation("c"))
                        .set("operationId", "d")
                        .set("parameters", ASet.of(parameterInfo("e1","e2")))
-                       .set("produces", ASet.of(MediaType.forString("text/f")))
+                       .set("produces", ASet.of(MediaType.of("text/f")))
                        .set("responses", AMap.of(1,responseInfo("g")))
                        .set("schemes", ASet.of("h"))
                        .set("security", ASet.of(AMap.of("i1",AList.of("i2"))))
diff --git 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/SwaggerTest.java
 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/SwaggerTest.java
index 68b5fd3..845c9bf 100644
--- 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/SwaggerTest.java
+++ 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/dto/swagger/SwaggerTest.java
@@ -166,7 +166,7 @@ public class SwaggerTest {
        public void testSetConsumes() {
                Swagger t = new Swagger();
 
-               t.setConsumes(ASet.of(MediaType.forString("text/foo")));
+               t.setConsumes(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getConsumes()).json().is("['text/foo']");
                assertObject(t.getConsumes()).isType(List.class);
 
@@ -185,7 +185,7 @@ public class SwaggerTest {
        public void testAddConsumes() {
                Swagger t = new Swagger();
 
-               t.addConsumes(ASet.of(MediaType.forString("text/foo")));
+               t.addConsumes(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getConsumes()).json().is("['text/foo']");
                assertObject(t.getConsumes()).isType(List.class);
 
@@ -205,8 +205,8 @@ public class SwaggerTest {
        public void testConsumes() {
                Swagger t = new Swagger();
 
-               t.consumes(ASet.of(MediaType.forString("text/foo")));
-               t.consumes(MediaType.forString("text/bar"));
+               t.consumes(ASet.of(MediaType.of("text/foo")));
+               t.consumes(MediaType.of("text/bar"));
                t.consumes("text/baz");
                t.consumes(new StringBuilder("text/qux"));
                t.consumes((Object)new String[]{"text/quux"});
@@ -227,7 +227,7 @@ public class SwaggerTest {
        public void testSetProduces() {
                Swagger t = new Swagger();
 
-               t.setProduces(ASet.of(MediaType.forString("text/foo")));
+               t.setProduces(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getProduces()).json().is("['text/foo']");
                assertObject(t.getProduces()).isType(List.class);
 
@@ -246,7 +246,7 @@ public class SwaggerTest {
        public void testAddProduces() {
                Swagger t = new Swagger();
 
-               t.addProduces(ASet.of(MediaType.forString("text/foo")));
+               t.addProduces(ASet.of(MediaType.of("text/foo")));
                assertObject(t.getProduces()).json().is("['text/foo']");
                assertObject(t.getProduces()).isType(List.class);
 
@@ -266,8 +266,8 @@ public class SwaggerTest {
        public void testProduces() {
                Swagger t = new Swagger();
 
-               t.produces(ASet.of(MediaType.forString("text/foo")));
-               t.produces(MediaType.forString("text/bar"));
+               t.produces(ASet.of(MediaType.of("text/foo")));
+               t.produces(MediaType.of("text/bar"));
                t.produces("text/baz");
                t.produces(new StringBuilder("text/qux"));
                t.produces((Object)new String[]{"text/quux"});
@@ -797,14 +797,14 @@ public class SwaggerTest {
 
                t
                        .set("basePath", "a")
-                       .set("consumes", ASet.of(MediaType.forString("text/b")))
+                       .set("consumes", ASet.of(MediaType.of("text/b")))
                        .set("definitions", 
AMap.of("c",schemaInfo().type("c1")))
                        .set("externalDocs", externalDocumentation("d"))
                        .set("host", "e")
                        .set("info", info("f1", "f2"))
                        .set("parameters", AMap.of("g",parameterInfo("g1", 
"g2")))
                        .set("paths", 
AMap.of("h",AMap.of("h1",operation().operationId("h2"))))
-                       .set("produces", ASet.of(MediaType.forString("text/i")))
+                       .set("produces", ASet.of(MediaType.of("text/i")))
                        .set("responses", AMap.of("j",responseInfo("j1")))
                        .set("schemes", ASet.of("k1"))
                        .set("security", ASet.of(AMap.of("l1",AList.of("l2"))))
diff --git 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
index 147496d..68e228e 100644
--- 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
+++ 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
@@ -36,7 +36,7 @@ public class PojoSwapTest {
 
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/json");
+                       return MediaType.ofAll("*/json");
                }
 
                @Override
@@ -49,7 +49,7 @@ public class PojoSwapTest {
 
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/xml");
+                       return MediaType.ofAll("*/xml");
                }
 
                @Override
@@ -62,7 +62,7 @@ public class PojoSwapTest {
 
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/*");
+                       return MediaType.ofAll("*/*");
                }
 
                @Override
diff --git 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
index 4e4a92a..a4a8a3e 100644
--- 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
+++ 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
@@ -707,7 +707,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapJson extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/json");
+                       return MediaType.ofAll("*/json");
                }
                @Override
                public String withTemplate() {
@@ -717,7 +717,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapXml extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/xml");
+                       return MediaType.ofAll("*/xml");
                }
                @Override
                public String withTemplate() {
@@ -727,7 +727,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapHtml extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/html");
+                       return MediaType.ofAll("*/html");
                }
                @Override
                public String withTemplate() {
@@ -737,7 +737,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapUon extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/uon");
+                       return MediaType.ofAll("*/uon");
                }
                @Override
                public String withTemplate() {
@@ -747,7 +747,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapUrlEncoding extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/x-www-form-urlencoded");
+                       return MediaType.ofAll("*/x-www-form-urlencoded");
                }
                @Override
                public String withTemplate() {
@@ -757,7 +757,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapMsgPack extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/msgpack");
+                       return MediaType.ofAll("*/msgpack");
                }
                @Override
                public String withTemplate() {
@@ -767,7 +767,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
        public static class TemplateSwapRdfXml extends TemplateSwap {
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/xml+rdf");
+                       return MediaType.ofAll("*/xml+rdf");
                }
                @Override
                public String withTemplate() {
@@ -798,7 +798,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/json");
+                       return MediaType.ofAll("*/json");
                }
                @Override
                public String withTemplate() {
@@ -812,7 +812,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/xml");
+                       return MediaType.ofAll("*/xml");
                }
                @Override
                public String withTemplate() {
@@ -826,7 +826,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/html");
+                       return MediaType.ofAll("*/html");
                }
                @Override
                public String withTemplate() {
@@ -840,7 +840,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/uon");
+                       return MediaType.ofAll("*/uon");
                }
                @Override
                public String withTemplate() {
@@ -854,7 +854,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/x-www-form-urlencoded");
+                       return MediaType.ofAll("*/x-www-form-urlencoded");
                }
                @Override
                public String withTemplate() {
@@ -868,7 +868,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/msgpack");
+                       return MediaType.ofAll("*/msgpack");
                }
                @Override
                public String withTemplate() {
@@ -882,7 +882,7 @@ public class SwapsAnnotationComboTest extends 
ComboSerializeTest {
                }
                @Override
                public MediaType[] forMediaTypes() {
-                       return MediaType.forStrings("*/xml+rdf");
+                       return MediaType.ofAll("*/xml+rdf");
                }
                @Override
                public String withTemplate() {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index fbe1f7e..733ad4f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -730,7 +730,7 @@ public final class ClassMeta<T> implements Type {
                        if (ci.isChildOf(PojoSwap.class)) {
                                PojoSwap ps = castOrCreate(PojoSwap.class, c);
                                if (s.mediaTypes().length > 0)
-                                       
ps.forMediaTypes(MediaType.forStrings(s.mediaTypes()));
+                                       
ps.forMediaTypes(MediaType.ofAll(s.mediaTypes()));
                                if (! s.template().isEmpty())
                                        ps.withTemplate(s.template());
                                return ps;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
index 791ecc8..54dd69b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
@@ -210,7 +210,7 @@ public class BeanConfigApply extends 
ConfigApply<BeanConfig> {
        }
 
        private MediaType mediaType(String in) {
-               return MediaType.forString(string(in));
+               return MediaType.of(string(in));
        }
 
        private TimeZone timeZone(String in) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Constants.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Constants.java
similarity index 85%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Constants.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Constants.java
index d95b862..42e8019 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Constants.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Constants.java
@@ -10,7 +10,7 @@
 // * "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 org.apache.juneau.http.header;
+package org.apache.juneau.http;
 
 import org.apache.juneau.http.annotation.*;
 
@@ -23,6 +23,10 @@ import org.apache.juneau.http.annotation.*;
  */
 @Header("Constants")
 public class Constants {
-       static boolean NOCACHE = 
Boolean.getBoolean("juneau.http.cache.disable");
-       static int CACHE_MAX_SIZE = 
Integer.getInteger("juneau.http.cache.maxSize", 1000);
+
+       /** Use caching of HTTP artifacts. */
+       public static boolean NOCACHE = 
Boolean.getBoolean("juneau.http.cache.disable");
+
+       /** Maximum cache size of HTTP artifacts. */
+       public static int CACHE_MAX_SIZE = 
Integer.getInteger("juneau.http.cache.maxSize", 1000);
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaType.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaType.java
index 8259f6e..cf1ff08 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaType.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaType.java
@@ -12,10 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http;
 
+import static org.apache.juneau.http.Constants.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.util.*;
-import java.util.concurrent.*;
 
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
@@ -34,27 +34,26 @@ import org.apache.juneau.json.*;
 @BeanIgnore
 public class MediaType implements Comparable<MediaType>  {
 
-       private static final boolean NOCACHE = 
Boolean.getBoolean("juneau.nocache");
-       private static final ConcurrentHashMap<String,MediaType> CACHE = new 
ConcurrentHashMap<>();
+       private static final Cache<String,MediaType> CACHE = new 
Cache<>(NOCACHE, CACHE_MAX_SIZE);
 
        /** Reusable predefined media type */
        @SuppressWarnings("javadoc")
        public static final MediaType
-               CSV = forString("text/csv"),
-               HTML = forString("text/html"),
-               JSON = forString("application/json"),
-               MSGPACK = forString("octal/msgpack"),
-               PLAIN = forString("text/plain"),
-               UON = forString("text/uon"),
-               URLENCODING = forString("application/x-www-form-urlencoded"),
-               XML = forString("text/xml"),
-               XMLSOAP = forString("text/xml+soap"),
-
-               RDF = forString("text/xml+rdf"),
-               RDFABBREV = forString("text/xml+rdf+abbrev"),
-               NTRIPLE = forString("text/n-triple"),
-               TURTLE = forString("text/turtle"),
-               N3 = forString("text/n3")
+               CSV = of("text/csv"),
+               HTML = of("text/html"),
+               JSON = of("application/json"),
+               MSGPACK = of("octal/msgpack"),
+               PLAIN = of("text/plain"),
+               UON = of("text/uon"),
+               URLENCODING = of("application/x-www-form-urlencoded"),
+               XML = of("text/xml"),
+               XMLSOAP = of("text/xml+soap"),
+
+               RDF = of("text/xml+rdf"),
+               RDFABBREV = of("text/xml+rdf+abbrev"),
+               NTRIPLE = of("text/n-triple"),
+               TURTLE = of("text/turtle"),
+               N3 = of("text/n3")
        ;
 
        private final String mediaType;
@@ -82,39 +81,35 @@ public class MediaType implements Comparable<MediaType>  {
         *              Anything including and following the <js>';'</js> 
character is ignored (e.g. <js>";charset=X"</js>).
         * </ul>
         *
-        * @param s
+        * @param value
         *      The media type string.
         *      Will be lowercased.
         *      Returns <jk>null</jk> if input is null or empty.
         * @return A cached media type object.
         */
-       public static MediaType forString(String s) {
-               if (isEmpty(s))
+       public static MediaType of(String value) {
+               if (isEmpty(value))
                        return null;
-               MediaType mt = CACHE.get(s);
-               if (mt != null)
-                       return mt;
-               mt = new MediaType(s);
-               if (NOCACHE)
-                       return mt;
-               CACHE.putIfAbsent(s, mt);
-               return CACHE.get(s);
+               MediaType x = CACHE.get(value);
+               if (x == null)
+                       x = CACHE.put(value, new MediaType(value));
+               return x;
        }
 
        /**
-        * Same as {@link #forString(String)} but allows you to construct an 
array of <c>MediaTypes</c> from an
+        * Same as {@link #of(String)} but allows you to construct an array of 
<c>MediaTypes</c> from an
         * array of strings.
         *
-        * @param s
+        * @param values
         *      The media type strings.
         * @return
         *      An array of <c>MediaType</c> objects.
         *      <br>Always the same length as the input string array.
         */
-       public static MediaType[] forStrings(String...s) {
-               MediaType[] mt = new MediaType[s.length];
-               for (int i = 0; i < s.length; i++)
-                       mt[i] = forString(s[i]);
+       public static MediaType[] ofAll(String...values) {
+               MediaType[] mt = new MediaType[values.length];
+               for (int i = 0; i < values.length; i++)
+                       mt[i] = of(values[i]);
                return mt;
        }
 
@@ -360,11 +355,9 @@ public class MediaType implements Comparable<MediaType>  {
 
        @Override /* Object */
        public final boolean equals(Object o) {
-               if (this == o)
-                       return true;
-               if (o == null)
-                       return false;
-               return toString().equals(o.toString());
+               if (o instanceof MediaType)
+                       return ObjectUtils.eq(mediaType, 
((MediaType)o).mediaType);
+               return false;
        }
 
        @Override
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaTypeRange.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaTypeRange.java
index 9315ad1..3a20b0e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaTypeRange.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MediaTypeRange.java
@@ -117,11 +117,11 @@ public class MediaTypeRange implements 
Comparable<MediaTypeRange>  {
                        int i = token.indexOf(";q=");
 
                        if (i == -1) {
-                               mediaType = MediaType.forString(token);
+                               mediaType = MediaType.of(token);
                                return;
                        }
 
-                       mediaType = MediaType.forString(token.substring(0, i));
+                       mediaType = MediaType.of(token.substring(0, i));
 
                        String[] tokens = token.substring(i+1).split(";");
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Accept.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Accept.java
index 178be67..990497e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Accept.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Accept.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.*;
 import java.util.function.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptCharset.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptCharset.java
index 9793c65..9c05ee8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptCharset.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptCharset.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptEncoding.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptEncoding.java
index 3dc6bd7..f38b356 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptEncoding.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptEncoding.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptLanguage.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptLanguage.java
index fb4b271..31e94eb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptLanguage.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/AcceptLanguage.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ClientVersion.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ClientVersion.java
index 3c9e346..e8bbe0d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ClientVersion.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ClientVersion.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Connection.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Connection.java
index 42f8e0f..9b5bbe3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Connection.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/Connection.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
index f20ea43..4dadc25 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentType.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentType.java
index fde45c8..2fbb977 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentType.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/ContentType.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.http.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/TE.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/TE.java
index 3306902..d757bfb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/TE.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/TE.java
@@ -12,7 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.http.header.Constants.*;
+import static org.apache.juneau.http.Constants.*;
 
 import java.util.function.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
index 86d5f74..1e91304 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
@@ -547,7 +547,7 @@ public abstract class Parser extends BeanContext {
                listener = getClassProperty(PARSER_listener, 
ParserListener.class, null);
                this.consumes = new MediaType[consumes.length];
                for (int i = 0; i < consumes.length; i++) {
-                       this.consumes[i] = MediaType.forString(consumes[i]);
+                       this.consumes[i] = MediaType.of(consumes[i]);
                }
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
index 523b7b5..539bed1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
@@ -893,9 +893,9 @@ public abstract class Serializer extends 
BeanTraverseContext {
                uriRelativity = getProperty(SERIALIZER_uriRelativity, 
UriRelativity.class, UriRelativity.RESOURCE);
                listener = getClassProperty(SERIALIZER_listener, 
SerializerListener.class, null);
 
-               this.produces = MediaType.forString(produces);
+               this.produces = MediaType.of(produces);
                this.accept = accept == null ? MediaTypeRange.parse(produces) : 
MediaTypeRange.parse(accept);
-               this.accepts = accept == null ? new MediaType[] {this.produces} 
: MediaType.forStrings(StringUtils.split(accept, ','));
+               this.accepts = accept == null ? new MediaType[] {this.produces} 
: MediaType.ofAll(StringUtils.split(accept, ','));
        }
 
        @Override /* Context */
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
index 84d972a..27e17e4 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
@@ -2264,7 +2264,7 @@ public final class RestCall extends BeanSession 
implements Closeable {
                        int sc = response.getStatusLine().getStatusCode();
                        String ct = firstNonEmpty(h == null ? null : 
h.getValue(), "text/plain");
 
-                       MediaType mt = MediaType.forString(ct);
+                       MediaType mt = MediaType.of(ct);
 
                        if (parser == null || 
(mt.toString().equals("text/plain") && ! parser.canHandle(ct))) {
                                if (type.hasStringMutater())
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
index a2828b9..57c2849 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseBody.java
@@ -774,7 +774,7 @@ public class RestResponseBody implements HttpEntity {
                        if (parser == null)
                                parser = client.getMatchingParser(ct);
 
-                       MediaType mt = MediaType.forString(ct);
+                       MediaType mt = MediaType.of(ct);
 
                        if (parser == null || 
(mt.toString().equals("text/plain") && ! parser.canHandle(ct))) {
                                if (type.hasStringMutater())
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 09d3a84..7c43a4b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -1496,7 +1496,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         * @throws IOException Thrown by underlying stream.
         */
        public BasicHttpResource getClasspathHttpResource(String name, boolean 
resolveVars) throws IOException {
-               return getClasspathHttpResource(name, resolveVars, 
MediaType.forString(context.getMediaTypeForName(name)), false);
+               return getClasspathHttpResource(name, resolveVars, 
MediaType.of(context.getMediaTypeForName(name)), false);
        }
 
        /**
@@ -1507,7 +1507,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         * @throws IOException Thrown by underlying stream.
         */
        public BasicHttpResource getClasspathHttpResource(String name) throws 
IOException {
-               return getClasspathHttpResource(name, false, 
MediaType.forString(context.getMediaTypeForName(name)), false);
+               return getClasspathHttpResource(name, false, 
MediaType.of(context.getMediaTypeForName(name)), false);
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index b86a75f..7a5dbfe 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -516,7 +516,7 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
         * @return The <c>media-type</c> portion of the <c>Content-Type</c> 
header.
         */
        public MediaType getMediaType() {
-               return MediaType.forString(getContentType());
+               return MediaType.of(getContentType());
        }
 
        /**

Reply via email to