users@jersey.java.net

[Jersey] jersey-servlet v. 1.18.3

From: Tomaz Majerhold <tomaz.majerhold_at_arnes.si>
Date: Mon, 23 Feb 2015 13:02:57 +0100

Is it possible to use Enum in QueryParm I was trying but getting error:

(exception=com.sun.jersey.api.ParamException$QueryParamException:
java.lang.IllegalArgumentException: No enum constant
si.arnes.db.aris.bean.AaiDocument.Type.joining)

Exemple of my enum:
@XmlType(name = "TypeAaiDocument")
     public enum Type {

         JOINING("joining"),
         HOSTING("hosting");

         private Type(String typeIn) {
             this.type = typeIn;
         }

         public static AaiDocument.Type fromEnumValue(String value) {
             for (AaiDocument.Type t :
EnumSet.allOf(AaiDocument.Type.class)) {
                 if (t.toString().equals(value)) {
                     return t;
                 }
             }
             return null;
         }

         public static String enumSet2String(EnumSet<Type> enumSet) {
             String set2String = "";
             for (Type s : enumSet) {
                 set2String += "'" + s.toEnumValue() + "',";
             }
             set2String = set2String.substring(0, set2String.length() - 1);
             return set2String;
         }

         public static EnumSet<Type> setFromValue(String value) {
             EnumSet<Type> result = EnumSet.noneOf(Type.class);
             if (value != null && !value.isEmpty()) {
                 String[] type = value.split(",");
                 if (type.length > 1) {
                     // we have at least two
                     for (String t : type) {
                         result.add(fromEnumValue(t.trim()));
                     }
                 } else {
                     result.add(fromEnumValue(value.trim()));
                 }

             }
             return result;
         }

         @JsonValue
         public String toEnumValue() {
             return type;
         }

         @Override
         public String toString() {
             return type;
         }
         private final String type;
     }

Is it possible or I'm doing something wrong for JSON, because for XML is
working.

Regards, Tomaz