Revision 2823 org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/java/org/gvsig/vcsgis/lib/server/handlers/UpdateHandler.java

View differences:

UpdateHandler.java
61 61
        JsonReader reader = Json.createReader(request_contents);
62 62
        JsonObject jsonRequest = reader.readObject();
63 63
        
64
        String entityName = jsonRequest.getString("EntityName");
65 64
        
65
        JsonObject jsonParameters = jsonRequest.getJsonObject("Parameters");
66
        String entityName = jsonParameters.getString("EntityName");
67
        
66 68
        VCSGisUpdateRequest request = this.getRepository().createUpdateRequest(entityName);
67
        request.setLocalRevisionCode(jsonRequest.getString("LocalRevisionCode"));
69
        request.setLocalRevisionCode(jsonParameters.getString("LocalRevisionCode", null));
70
        
68 71
        req.setValue(request);
69
        
72
        notifyRequestConsumers();
73

  
70 74
        LOGGER.debug("===: ["+this.getName()+"] requestProducer 2 notifyRequestConsumers");
71 75
        notifyRequestConsumers();
72 76
        
......
75 79
    
76 80
    @Override
77 81
    protected void responseProducer(VCSGisRequest req, OutputStream response_contents) throws IOException {
78
        final VCSGisCheckoutRequest request = (VCSGisCheckoutRequest) req;
82
        LOGGER.debug("===: ["+this.getName()+"] responseProducer 1");
83
        final VCSGisUpdateRequest request = (VCSGisUpdateRequest) req;
79 84
        JsonGenerator gen = null;
80 85
        try {
81 86
            JsonGeneratorFactory genFactory = Json.createGeneratorFactory(
82 87
                Collections.singletonMap(JsonGenerator.PRETTY_PRINTING, true)
83 88
            );
84 89
            gen = genFactory.createGenerator(response_contents);
90
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 2");
85 91
            gen.writeStartObject();
86 92

  
87 93
            gen.writeStartObject("Parameters");
88 94
            gen.write("StatusCode", request.getLastErrorCode());
89 95

  
96
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 3");
90 97
            notifyResponseConsumers();
98
            gen.flush();
91 99

  
92 100
            if( StringUtils.isBlank(request.getLastErrorMessage()) ) {
93 101
                gen.writeNull("StatusMessage");
......
98 106
            gen.write("Entity", request.getEntity().toJson());
99 107
            gen.writeEnd(); // Paramaters
100 108

  
109
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 4");
101 110
            gen.writeStartArray("Data");
102 111
            for (VCSGisRepositoryData data : request.getData()) {
103 112
                gen.write(data.toJson());
104 113
                gen.flush();
105 114
            }
115
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 5");
106 116
            gen.writeEnd(); // Data
107 117
            gen.writeEnd(); 
108 118
            
109 119

  
120
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 6 gen.flush()");
110 121
            gen.flush();
122
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 7 response_contents.flush()");
111 123
            response_contents.flush();
124
            LOGGER.debug("===: ["+this.getName()+"] responseProducer 8 end");
112 125
            
113 126
                        
114 127
        } catch (Exception ex) {
115 128
            LOGGER.warn("Can't produce Json data for "+this.getName()+" response.",ex);
116 129

  
117 130
        } finally {
131
            LOGGER.debug("===: ["+this.getName()+"] responseProducer finally");
118 132
            IOUtils.closeQuietly(gen);
119 133
            IOUtils.closeQuietly(response_contents);
120 134
        }

Also available in: Unified diff