Changeset 1645


Ignore:
Timestamp:
2010-08-05 11:19:47 (3 years ago)
Author:
freya
Message:

see #175 : use kauri-json and jackson lib instead of json-lib

Location:
trunk/samples/kauri-forms-sample
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/samples/kauri-forms-sample/pom.xml

    r1522 r1645  
    6262    </dependency> 
    6363    <dependency> 
    64       <groupId>org.json</groupId> 
    65       <artifactId>org.json</artifactId> 
    66     </dependency>  
     64      <groupId>org.kauriproject</groupId> 
     65      <artifactId>kauri-json</artifactId> 
     66    </dependency> 
    6767    <dependency> 
    6868      <groupId>org.kauriproject</groupId> 
  • trunk/samples/kauri-forms-sample/src/main/java/org/kauriproject/samples/forms/OrderedDateMembersValidationResource.java

    r1527 r1645  
    1616package org.kauriproject.samples.forms; 
    1717 
    18 import net.sf.json.JSONObject; 
     18import java.io.IOException; 
     19import java.util.HashMap; 
    1920 
     21import org.codehaus.jackson.JsonParseException; 
     22import org.codehaus.jackson.map.JsonMappingException; 
     23import org.codehaus.jackson.map.ObjectMapper; 
    2024import org.joda.time.DateTime; 
    2125import org.joda.time.format.DateTimeFormatter; 
    2226import org.joda.time.format.ISODateTimeFormat; 
     27import org.kauriproject.samples.forms.ValidationResource.Result; 
    2328import org.restlet.Context; 
    2429import org.restlet.Request; 
     
    5156            final String[] inputs = new String[2]; 
    5257 
    53             JSONObject input = JSONObject.fromObject(value);         
    54      
    55             boolean allOk = true; 
    56             for (int i = 0; i < dates.length; i++) { 
    57                 if ( ! input.has(members[i])) 
    58                     return Result.OK; // can't declare invalid if some members are missing 
    59                      
    60                 inputs[i] = input.getString(members[i]); 
    61                 dates[i] = parseDateTime(inputs[i]); 
    62                  
    63                 allOk = allOk && (dates[i] != null); 
    64             } 
     58            ObjectMapper mapper = new ObjectMapper();  
     59            HashMap<String, String> map; 
     60            try { 
     61                map = mapper.readValue(value, HashMap.class); 
     62                boolean allOk = true; 
     63                for (int i = 0; i < dates.length; i++) { 
     64                    if ( ! map.containsKey(members[i])) 
     65                        return Result.OK; // can't declare invalid if some members are missing 
     66                         
     67                    inputs[i] = map.get(members[i]); 
     68                    dates[i] = parseDateTime(inputs[i]); 
     69                     
     70                    allOk = allOk && (dates[i] != null); 
     71                } 
     72                 
     73                if (!allOk) { 
     74                    return new Result(false, "One of the Date members could not be parsed as date. {'" + 
     75                            members[0] + "':" + dates[0]+ ",'" + members[1] + "':" + dates[1]+ "}"); 
     76                } else if (dates[0].compareTo(dates[1]) > 0) { 
     77                    return new Result(false, "Date member '" + members[0] + "' (" + dates[0] + ")  is not before " + 
     78                            "Date member '" + members[1] + "' (" + dates[1] + ") "); 
     79                }  
     80                 
     81            } catch (JsonParseException e) { 
     82                return new Result(false, "Json could not be parsed."); 
     83            } catch (JsonMappingException e) { 
     84                return new Result(false, "Json could not be parsed."); 
     85            } catch (IOException e) { 
     86                return new Result(false, "Json could not be parsed."); 
     87            }  
    6588             
    66             if (!allOk) { 
    67                 return new Result(false, "One of the Date members could not be parsed as date. {'" + 
    68                         members[0] + "':" + dates[0]+ ",'" + members[1] + "':" + dates[1]+ "}"); 
    69             } else if (dates[0].compareTo(dates[1]) > 0) { 
    70                 return new Result(false, "Date member '" + members[0] + "' (" + dates[0] + ")  is not before " + 
    71                         "Date member '" + members[1] + "' (" + dates[1] + ") "); 
    72             }  
    7389        } 
    7490         
Note: See TracChangeset for help on using the changeset viewer.