Changeset 331

Show
Ignore:
Timestamp:
08/15/08 15:06:24 (3 months ago)
Author:
masuta
Message:

gwc with seedrequest in json format - new bug: null pointer in getCoveredGridLevels in doSeed()

Location:
trunk/geowebcache/src/main
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/geowebcache/src/main/java/org/geowebcache/layer/wms/WMSLayer.java

    r324 r331  
    744744                    + adjustedBounds.toString()); 
    745745        } 
    746         return this.gridCalc[srsIdx].coveredGridLevels(adjustedBounds); 
     746        int[][]temp = this.gridCalc[srsIdx].coveredGridLevels(adjustedBounds); 
     747        return temp;  
    747748    } 
    748749 
  • trunk/geowebcache/src/main/java/org/geowebcache/seeder/SeedResource.java

    r327 r331  
    3434 
    3535import com.thoughtworks.xstream.XStream; 
     36import com.thoughtworks.xstream.io.HierarchicalStreamDriver; 
     37import com.thoughtworks.xstream.io.HierarchicalStreamReader; 
     38import com.thoughtworks.xstream.io.copy.HierarchicalStreamCopier; 
    3639import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver; 
    3740import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver; 
    3841import com.thoughtworks.xstream.io.xml.DomDriver; 
     42import com.thoughtworks.xstream.io.xml.PrettyPrintWriter; 
     43 
    3944import java.io.IOException; 
     45import java.io.StringReader; 
     46import java.io.StringWriter; 
    4047import java.util.concurrent.*; 
    4148 
     
    9299        try { 
    93100            String text = entity.getText(); 
    94             XStream xs = null; 
    95             if(entity.getMediaType().equals(MediaType.APPLICATION_XML)) 
    96                 xs = new XStream(new DomDriver()); 
    97             else if(entity.getMediaType().equals(MediaType.APPLICATION_JSON)){ 
    98                 xs = new XStream(new JettisonMappedXmlDriver()); 
    99             } 
    100             xs.alias("seedRequest", SeedRequest.class); 
     101            XStream xs = new XStream(new DomDriver()); 
     102                xs.alias("seedRequest", SeedRequest.class); 
    101103            xs.alias("format", String.class); 
     104            xs.alias("bounds", BBOX.class); 
    102105            xs.alias("projection", SRS.class); 
    103             xs.alias("bounds", BBOX.class); 
    104106            xs.alias("zoomstart", Integer.class); 
    105107            xs.alias("zoomstop", Integer.class); 
    106             SeedRequest rq = (SeedRequest) xs.fromXML(text); 
    107  
    108             XStream xst = new XStream(new JettisonMappedXmlDriver()); 
    109             xst.alias("seedRequest", SeedRequest.class); 
    110             xst.alias("format", String.class); 
    111             xst.alias("projection", SRS.class); 
    112             xst.alias("bounds", BBOX.class); 
    113             xst.alias("zoomstart", Integer.class); 
    114             xst.alias("zoomstop", Integer.class); 
    115              
    116             String json = xst.toXML(rq); 
    117             SeedRequest rq1 = (SeedRequest) xst.fromXML(json); 
    118             System.out.println("json for is " + json); 
    119              
     108            SeedRequest rq = null;  
     109            if(entity.getMediaType().equals(MediaType.APPLICATION_XML)){ 
     110                rq = (SeedRequest) xs.fromXML(text); 
     111            } 
     112            else if(entity.getMediaType().equals(MediaType.APPLICATION_JSON)){ 
     113                HierarchicalStreamDriver driver = new JettisonMappedXmlDriver(); 
     114                StringReader reader = new StringReader(text); 
     115                HierarchicalStreamReader hsr = driver.createReader(reader); 
     116                StringWriter writer = new StringWriter(); 
     117                new HierarchicalStreamCopier().copy(hsr, new PrettyPrintWriter(writer)); 
     118                writer.close(); 
     119                String test = writer.toString(); 
     120                 
     121                rq = (SeedRequest) xs.fromXML(test); 
     122            } 
     123                    
    120124            getExecutor().submit(new MTSeeder(new SeedTask(rq))); 
    121125 
  • trunk/geowebcache/src/main/java/org/geowebcache/util/XMLConfiguration.java

    r330 r331  
    291291    } 
    292292 
     293    /** 
     294     *  
     295     * Method finds the layer configuration XML file 
     296     *  
     297     * @param configDirH 
     298     * @return 
     299     */ 
     300    private File findPropFile(File configDirH) { 
     301        FilenameFilter select = new ExtensionFileLister("geowebcache", "xml"); 
     302        File[] f = configDirH.listFiles(select); 
     303 
     304        if (f == null) { 
     305            log.error("Unable to find configuration file in " 
     306                    + this.configDirH.getAbsolutePath() + " !! "); 
     307            return null; 
     308        } else { 
     309            return f[0]; 
     310        } 
     311    } 
     312 
     313 
    293314    public void determineConfigDirH() { 
    294315        if (absPath != null) { 
  • trunk/geowebcache/src/main/resources/seedtest.json

    r327 r331  
    1 {"seedRequest":{"name":"topp:states","bounds":{"coords":{"double":["-124.0","22.0","66.0","72.0"]},"projection":{"number":4326},"zoomstart":1,"zoomstop":12,"format":"image\/png"}}}  
     1{"seedRequest":{"name":"topp:states","bounds":{"coords":{"double":["-124.0","22.0","66.0","72.0"]}},"projection":{"number":4326},"zoomstart":1,"zoomstop":12,"format":"image\/png"}}}