Package com.cloud.bridge.service.core.s3

Examples of com.cloud.bridge.service.core.s3.S3PutObjectInlineRequest


            logger.error("executeUploadPart failed due to " + e.getMessage(), e)
            response.setStatus(500);
            return;
        }

        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setContentLength(contentLength);
        DataHandler dataHandler = new DataHandler(new ServletRequestDataSource(request));
        engineRequest.setData(dataHandler);

        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().saveUploadPart( engineRequest, uploadId, partNumber );
        if (null != engineResponse.getETag()) response.setHeader("ETag", "\"" + engineResponse.getETag() + "\"");
        response.setStatus(engineResponse.getResultCode());
    }
View Full Code Here


            return;
        }


        // [D] Ask the engine to create a newly re-constituted object
        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setMetaEntries(meta);
        engineRequest.setCannedAccess(cannedAccess);

        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().concatentateMultipartUploads( response, engineRequest, parts, outputStream );
        int result = engineResponse.getResultCode();
        // -> free all multipart state since we now have one concatentated object
        if (200 == result) ServiceProvider.getInstance().getS3Engine().freeUploadParts( bucket, uploadId, false );
View Full Code Here

        long contentLength = Converter.toLong(request.getHeader("Content-Length"), 0);

        String bucket = (String)request.getAttribute(S3Constants.BUCKET_ATTR_KEY);
        String key = (String)request.getAttribute(S3Constants.OBJECT_ATTR_KEY);
        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setContentLength(contentLength);
        engineRequest.setMetaEntries(extractMetaData(request));
        engineRequest.setCannedAccess(request.getHeader("x-amz-acl"));

        DataHandler dataHandler = new DataHandler(new ServletRequestDataSource(request));
        engineRequest.setData(dataHandler);

        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().handleRequest(engineRequest);
        response.setHeader("ETag", "\"" + engineResponse.getETag() + "\"");
        String version = engineResponse.getVersion();
        if (null != version)
View Full Code Here

        grant.setCanonicalUserID(accessKey);
        grant.setGrantee(SAcl.GRANTEE_USER);
        grant.setPermission(SAcl.PERMISSION_FULL);
        S3AccessControlList acl = new S3AccessControlList();
        acl.addGrant(grant);
        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setAcl(acl);
        engineRequest.setContentLength(contentLength);
        engineRequest.setMetaEntries(extractMetaData(request));
        engineRequest.setCannedAccess(request.getHeader("x-amz-acl"));

        DataHandler dataHandler = new DataHandler(new ServletRequestDataSource(request));
        engineRequest.setData(dataHandler);

        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().handleRequest(engineRequest);
        response.setHeader("ETag", "\"" + engineResponse.getETag() + "\"");
        String version = engineResponse.getVersion();
        if (null != version)
View Full Code Here

        // [A] First parse all the parts out of the POST request and message body
        // -> bucket name is still encoded in a Host header
        S3AuthParams params = new S3AuthParams();
        List<S3MetaDataEntry> metaSet = new ArrayList<S3MetaDataEntry>();
        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);

        // -> the last body part contains the content that is used to write the S3 object, all
        //    other body parts are header values
        while (null != (oneLine = br.readLine())) {
            if (oneLine.startsWith(lastBoundary)) {
                // -> this is the data of the object to put
                if (0 < temp.length()) {
                    value = temp.toString();
                    temp.setLength(0);

                    engineRequest.setContentLength(value.length());
                    engineRequest.setDataAsString(value);
                }
                break;
            } else if (oneLine.startsWith(boundary)) {
                // -> this is the header data
                if (0 < temp.length()) {
                    value = temp.toString().trim();
                    temp.setLength(0);
                    //System.out.println( "param: " + name + " = " + value );

                    if (name.equalsIgnoreCase("key")) {
                        engineRequest.setKey(value);
                    } else if (name.equalsIgnoreCase("x-amz-acl")) {
                        engineRequest.setCannedAccess(value);
                    } else if (isMetaTag) {
                        S3MetaDataEntry oneMeta = new S3MetaDataEntry();
                        oneMeta.setName(metaName);
                        oneMeta.setValue(value);
                        metaSet.add(oneMeta);
                        countMeta++;
                        metaName = null;
                    }

                    // -> build up the headers so we can do authentication on this POST
                    HeaderParam oneHeader = new HeaderParam();
                    oneHeader.setName(name);
                    oneHeader.setValue(value);
                    params.addHeader(oneHeader);
                }
                state = 1;
            } else if (1 == state && 0 == oneLine.length()) {
                // -> data of a body part starts here
                state = 2;
            } else if (1 == state) {
                // -> the name of the 'name-value' pair is encoded in the Content-Disposition header
                if (oneLine.startsWith("Content-Disposition: form-data;")) {
                    isMetaTag = false;
                    int nameOffset = oneLine.indexOf("name=");
                    if (-1 != nameOffset) {
                        name = oneLine.substring(nameOffset + 5);
                        if (name.startsWith("\""))
                            name = name.substring(1);
                        if (name.endsWith("\""))
                            name = name.substring(0, name.length() - 1);
                        name = name.trim();

                        if (name.startsWith("x-amz-meta-")) {
                            metaName = name.substring(11);
                            isMetaTag = true;
                        }
                    }
                }
            } else if (2 == state) {
                // -> the body parts data may take up multiple lines
                //System.out.println( oneLine.length() + " body data: " + oneLine );
                temp.append(oneLine);
            }
//            else System.out.println( oneLine.length() + " preamble: " + oneLine );
        }

        // [B] Authenticate the POST request after we have all the headers
        try {
            S3RestServlet.authenticateRequest(request, params);
        } catch (Exception e) {
            throw new IOException(e.toString());
        }

        // [C] Perform the request
        if (0 < countMeta)
            engineRequest.setMetaEntries(metaSet.toArray(new S3MetaDataEntry[0]));
        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().handleRequest(engineRequest);
        response.setHeader("ETag", "\"" + engineResponse.getETag() + "\"");
        String version = engineResponse.getVersion();
        if (null != version)
            response.addHeader("x-amz-version-id", version);
View Full Code Here

        String key = (String)request.getAttribute(S3Constants.OBJECT_ATTR_KEY);
        String cannedAccess = request.getHeader("x-amz-acl");
        S3MetaDataEntry[] meta = extractMetaData(request);

        // -> the S3 engine has easy access to all the privileged checking code
        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setCannedAccess(cannedAccess);
        engineRequest.setMetaEntries(meta);
        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().initiateMultipartUpload(engineRequest);
        int result = engineResponse.getResultCode();
        response.setStatus(result);
        if (200 != result)
            return;
View Full Code Here

            logger.error("executeUploadPart failed due to " + e.getMessage(), e);
            response.setStatus(500);
            return;
        }

        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setContentLength(contentLength);
        DataHandler dataHandler = new DataHandler(new ServletRequestDataSource(request));
        engineRequest.setData(dataHandler);

        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().saveUploadPart(engineRequest, uploadId, partNumber);
        if (null != engineResponse.getETag())
            response.setHeader("ETag", "\"" + engineResponse.getETag() + "\"");
        response.setStatus(engineResponse.getResultCode());
View Full Code Here

            returnErrorXML(match.getFirst().intValue(), match.getSecond(), outputStream);
            return;
        }

        // [D] Ask the engine to create a newly re-constituted object
        S3PutObjectInlineRequest engineRequest = new S3PutObjectInlineRequest();
        engineRequest.setBucketName(bucket);
        engineRequest.setKey(key);
        engineRequest.setMetaEntries(meta);
        engineRequest.setCannedAccess(cannedAccess);

        S3PutObjectInlineResponse engineResponse = ServiceProvider.getInstance().getS3Engine().concatentateMultipartUploads(response, engineRequest, parts, outputStream);
        int result = engineResponse.getResultCode();
        // -> free all multipart state since we now have one concatentated object
        if (200 == result)
View Full Code Here

    public PutObjectInlineResponse putObjectInline(PutObjectInline putObjectInline) {
        return toPutObjectInlineResponse(engine.handleRequest(toEnginePutObjectInlineRequest(putObjectInline)));
    }

    private S3PutObjectInlineRequest toEnginePutObjectInlineRequest(PutObjectInline putObjectInline) {
        S3PutObjectInlineRequest request = new S3PutObjectInlineRequest();
        request.setAccessKey(putObjectInline.getAWSAccessKeyId());
        request.setRequestTimestamp(putObjectInline.getTimestamp());
        request.setSignature(putObjectInline.getSignature());
        request.setBucketName(putObjectInline.getBucket());
        request.setContentLength(putObjectInline.getContentLength());
        request.setKey(putObjectInline.getKey());
        request.setData(putObjectInline.getData());
        request.setMetaEntries(toEngineMetaEntries(putObjectInline.getMetadata()));
        request.setAcl(toEngineAccessControlList(putObjectInline.getAccessControlList()));
        return request;
    }
View Full Code Here

  public PutObjectInlineResponse putObjectInline (PutObjectInline putObjectInline) {
    return toPutObjectInlineResponse(engine.handleRequest(toEnginePutObjectInlineRequest(putObjectInline)));
    }
 
  private S3PutObjectInlineRequest toEnginePutObjectInlineRequest(PutObjectInline putObjectInline) {
    S3PutObjectInlineRequest request = new S3PutObjectInlineRequest();
    request.setAccessKey(putObjectInline.getAWSAccessKeyId());
    request.setRequestTimestamp(putObjectInline.getTimestamp());
    request.setSignature(putObjectInline.getSignature());
    request.setBucketName(putObjectInline.getBucket());
    request.setContentLength(putObjectInline.getContentLength());
    request.setKey(putObjectInline.getKey());
    request.setData(putObjectInline.getData());
    request.setMetaEntries(toEngineMetaEntries(putObjectInline.getMetadata()));
    request.setAcl(toEngineAccessControlList(putObjectInline.getAccessControlList()));
    return request;
  }
View Full Code Here

TOP

Related Classes of com.cloud.bridge.service.core.s3.S3PutObjectInlineRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.