Changeset 362

Show
Ignore:
Timestamp:
09/01/08 19:51:28 (3 months ago)
Author:
arneke
Message:

This probably fixes JSON output for dump of all layers

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/geowebcache/src/main/java/org/geowebcache/rest/TileLayerResource.java

    r361 r362  
    7676        super(context, request, response); 
    7777         
    78         System.out.println(this); 
    79          
    8078        // Prep 
    8179        RESTDispatcher restDispatch = RESTDispatcher.getInstance(); 
     
    116114         
    117115        if(currentLayer == null) { 
    118             //if(variant.getMediaType() == MediaType.APPLICATION_JSON) { 
    119             //    result = getJSONRepresentationAsListOfLayers(); 
    120             //} else { 
     116            if(variant.getMediaType() == MediaType.APPLICATION_JSON) { 
     117                result = getJSONRepresentationAsListOfLayers(); 
     118            } else { 
    121119                result = getDomRepresentationAsListOfLayers(); 
    122             //} 
     120            } 
    123121        } else { 
    124122            if(variant.getMediaType() == MediaType.APPLICATION_JSON) { 
     
    169167        return new DomRepresentation(MediaType.TEXT_XML, doc); 
    170168    } 
     169     
     170    /** 
     171     * Returns a JsonRepresentation of all available layers 
     172     * 
     173     * @return 
     174     */ 
     175    private JsonRepresentation getJSONRepresentationAsListOfLayers() { 
     176        JsonRepresentation rep = null; 
     177        StringBuffer buf = new StringBuffer(); 
     178 
     179        buf.append("["); 
     180        //try { 
     181            XStream xs = XMLConfiguration.getConfiguredXStream( 
     182                    new XStream(new JsonHierarchicalStreamDriver())); 
     183            //JSONObject obj = new JSONObject(); 
     184             
     185            boolean first = true; 
     186            Iterator<Entry<String,TileLayer>> iter = tlDispatcher.getLayers().entrySet().iterator(); 
     187            while(iter.hasNext()) { 
     188                Entry<String,TileLayer> entry = iter.next(); 
     189                TileLayer layer = entry.getValue(); 
     190                 
     191                if(first) { 
     192                    first = false; 
     193                } else { 
     194                    buf.append(",\n"); 
     195                } 
     196                 
     197                buf.append(xs.toXML(layer)); 
     198            } 
     199             
     200            buf.append("]"); 
     201             
     202            rep = new JsonRepresentation(buf.toString()); 
     203        //} catch (JSONException jse) { 
     204        //    jse.printStackTrace(); 
     205        //} 
     206        return rep; 
     207    } 
     208     
    171209 
    172210    /**