~ubuntu-core-dev/ubuntu/maverick/eucalyptus/devel

« back to all changes in this revision

Viewing changes to clc/modules/wsstack/src/main/java/com/eucalyptus/ws/handlers/WalrusRESTBinding.java

  • Committer: Dustin Kirkland
  • Date: 2010-07-22 08:41:57 UTC
  • mfrom: (1050.1.19 ubuntu)
  • Revision ID: kirkland@x200-20100722084157-zh2p8dkawznvxxpn
Approving Dave Walker's merge of new upstream Eucalyptus 2.0 release.

Dustin Kirkland <kirkland@canonical.com>

* New major upstream version merge, 2.0 (r1211).
  - 01-wsdl-stubs.patch, debian/wsdl.md5sums: wsdl stubs updated.
  - 11-state-cleanup-memleakfix.patch: Removed, fixed upstream.
  - 21-eucalyptus-1.7-with-gwt-1.6.4.patch: New patch, allows 
    eucalyptus-1.7 to be built against gwt 1.6.4. Based on patch courtesy 
    of Dmitrii Zagorodnov, upstream. (LP: #597330)
* debian/eucalyptus-java-common.links: 
  - Changed symlink for groovy, point to groovy.all.jar, making compatiable 
    with groovy versions >1.7. (LP: #595421)
  - Added ant.jar & jetty-rewrite-handler.jar as they are now required.
* debian/control
  - & debian/build-jars: Added libjavassist-java and libjetty-extra-java as 
    build dependencies.
  - Added libjetty-extra-java as a dependency of eucalyptus-java-common
* The binary resulting jar's have been renamed from eucalyptus-*-1.6.2.jar
  to eucalyptus-*-main.jar:    
  - debian/eucalyptus-cc.upstart
  - debian/eucalyptus-cloud.install
  - debian/eucalyptus-common.eucalyptus.upstart
  - debian/eucalyptus-java-common.install
  - debian/eucalyptus-network.upstart
  - debian/eucalyptus-sc.install
  - debian/eucalyptus-walrus.install
* debian/eucalyptus-java-common.install: New upstream jars that have been
  installed:
  - eucalyptus-db-hsqldb-ext-main.jar
  - eucalyptus-component-main.jar
* debian/control:
  - Updated Standards Version to 3.8.4 (no change)
  - Updated the upstream Homepage to: http://open.eucalyptus.com/
  - Changed Vcs-Bzr to reflect new location of Ubuntu hosted development branch.
  - Made the Build Dependency of groovy and the binary eucalyptus-java-common
    package depend on version >=1.7.

Show diffs side-by-side

added added

removed removed

Lines of Context:
75
75
import java.util.Map;
76
76
import java.util.Set;
77
77
import java.util.UUID;
 
78
import java.util.concurrent.TimeUnit;
78
79
 
79
80
import net.sf.json.JSONArray;
80
81
import net.sf.json.JSONObject;
214
215
                        Binding binding;
215
216
 
216
217
                        if(!(msg instanceof EucalyptusErrorMessageType)) {
217
 
                                if(msg instanceof PutObjectResponseType) {
218
 
                                        if(putQueue != null) {
219
 
                                                putQueue = null;
220
 
                                        }
221
 
                                }
222
218
                                binding = BindingManager.getBinding( BindingManager.sanitizeNamespace( namespace ) );
223
 
                                if(msg instanceof PutObjectResponseType) {
224
 
                                        if(putQueue != null) {
225
 
                                                putQueue = null;
226
 
                                        }
 
219
                                if(putQueue != null) {
 
220
                                        putQueue = null;
227
221
                                }
228
222
                        } else {
229
223
                                binding = BindingManager.getBinding( BindingManager.sanitizeNamespace( "http://msgs.eucalyptus.com" ) );
512
506
                                if (verb.equals(WalrusProperties.HTTPVerb.PUT.toString())) {
513
507
                                        if(httpRequest.containsHeader(WalrusProperties.COPY_SOURCE.toString())) {
514
508
                                                String copySource = httpRequest.getHeader(WalrusProperties.COPY_SOURCE.toString());
515
 
                                                String[] sourceParts = copySource.split("&");
 
509
                                                String[] sourceParts = copySource.split("\\?");
516
510
                                                if(sourceParts.length > 1) {
517
511
                                                        operationParams.put("SourceVersionId", sourceParts[1].replaceFirst("versionId=", "").trim());
518
512
                                                }
1131
1125
                        buffer.markReaderIndex( );
1132
1126
                        byte[] read = new byte[buffer.readableBytes( )];
1133
1127
                        buffer.readBytes( read );
1134
 
                        putQueue.put(WalrusDataMessage.DataMessage(read));
1135
 
                        if(httpChunk.isLast())
1136
 
                                putQueue.put(WalrusDataMessage.EOF());
1137
 
 
 
1128
                        while((putQueue != null) && (!putQueue.offer(WalrusDataMessage.DataMessage(read), 500, TimeUnit.MILLISECONDS)));
 
1129
                        if(httpChunk.isLast()) {
 
1130
                                while((putQueue != null) && (!putQueue.offer(WalrusDataMessage.EOF(), 1000, TimeUnit.MILLISECONDS)));
 
1131
                        }
1138
1132
                } catch (Exception ex) {
1139
1133
                        LOG.error(ex, ex);
1140
1134
                }