|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
Changes in Jets3t code for TargetGrant in BucketLoggingHi, I am Jawahar Lal Nayak. I am using the latest version of Jets3t and I made changes regarding TragetGrants for bucket logging in jets3t source: ----------------------------------------------------------------------------------------------- Class: org\jets3t\service\model\S3BucketLoggingStatus.java ----------------------------------------------------------------------------------------------- //Added one instance varriable: private Set trangetGrants; // Added set and get methods for trangetGrants; public void setTrangetGrants(Set targetgrants) { trangetGrants= targetgrants; } public Set getTrangetGrants() { return trangetGrants; } // Modified the toString() method public String toXml() { boolean bAddGrantACL = false; StringBuffer sb = new StringBuffer(); StringBuffer strGrantACL = new StringBuffer(); if (isLoggingEnabled() && (trangetGrants != null && trangetGrants.size() > 0)) { bAddGrantACL = true; strGrantACL.append("<TargetGrants>"); Iterator grantIter = trangetGrants.iterator(); while (grantIter.hasNext()) { GrantAndPermission gap = (GrantAndPermission) grantIter.next(); GranteeInterface grantee = gap.getGrantee(); Permission permission = gap.getPermission(); strGrantACL.append( "<Grant>" + grantee.toXml() + "<Permission>" + permission + "</Permission>" + "</Grant>"); } strGrantACL.append("</TargetGrants>"); } sb.append( "<BucketLoggingStatus xmlns=\"" + Constants.XML_NAMESPACE + "\">" + (!isLoggingEnabled() ? "" : "<LoggingEnabled>" + "<TargetBucket>" + getTargetBucketName() + "</TargetBucket>" + "<TargetPrefix>" + getLogfilePrefix() + "</TargetPrefix>" + (bAddGrantACL ? strGrantACL.toString() : "") + "</LoggingEnabled>") + "</BucketLoggingStatus>"); return sb.toString(); } --------------------------------------------------------------------------------------------------- Class: org\jets3t\service\impl\rest\XmlResponsesSaxParser.java --------------------------------------------------------------------------------------------------- // Following is the complete class with changes public class BucketLoggingStatusHandler extends DefaultHandler { private S3BucketLoggingStatus bucketLoggingStatus = null; private String targetBucket = null; private String targetPrefix = null; private StringBuffer currText = null; private GranteeInterface currentGrantee = null; private Permission currentPermission = null; private GrantAndPermission currentGrantAndPermission=null; private Set trangetGrants = null; public BucketLoggingStatusHandler() { super(); this.currText = new StringBuffer(); } /** * @return * an object representing the bucket's LoggingStatus document. */ public S3BucketLoggingStatus getBucketLoggingStatus() { return bucketLoggingStatus; } public void startDocument() { } public void endDocument() { } public void startElement(String uri, String name, String qName, Attributes attrs) { if (name.equals("BucketLoggingStatus")) { bucketLoggingStatus = new S3BucketLoggingStatus(); } else if (name.equals("TargetGrants")) { trangetGrants = new HashSet(); } } public void endElement(String uri, String name, String qName) { String elementText = this.currText.toString(); if (name.equals("TargetBucket")) { targetBucket = elementText; } else if (name.equals("TargetPrefix")) { targetPrefix = elementText; } else if (name.equals("LoggingEnabled")) { bucketLoggingStatus.setTargetBucketName(targetBucket); bucketLoggingStatus.setLogfilePrefix(targetPrefix); } else if (name.equals("ID")) { currentGrantee = new CanonicalGrantee(); currentGrantee.setIdentifier(elementText); } else if (name.equals("EmailAddress")) { currentGrantee = new EmailAddressGrantee(); currentGrantee.setIdentifier(elementText); } else if (name.equals("DisplayName")) { ((CanonicalGrantee) currentGrantee).setDisplayName(elementText); } else if (name.equals("Permission")) { currentPermission = Permission.parsePermission(elementText); }else if (name.equals("Grant")) { currentGrantAndPermission = new GrantAndPermission(currentGrantee, currentPermission); trangetGrants.add(currentGrantAndPermission); }else if(name.equals("TargetGrants")){ bucketLoggingStatus.setGrants(trangetGrants); } this.currText = new StringBuffer(); } public void characters(char ch[], int start, int length) { this.currText.append(ch, start, length); } } Thanks |
|
|
Re: Changes in Jets3t code for TargetGrant in BucketLoggingHi Jawahar,
Thanks for the code submission, I will look into adding TargetGrants support into JetS3t over the next few days. Can you please confirm for me that you grant all rights for your submission to be included in JetS3t and distributed under the Apache 2.0 license? Thanks, James --- http://www.jamesmurty.com On Thu, Jul 30, 2009 at 3:07 AM, Jawahar Nayak <jlal@...> wrote:
|
|
|
Re: Changes in Jets3t code for TargetGrant in BucketLoggingHi James,
You can include my submission in the JetS3t. Thanks
|
|
|
Re: Changes in Jets3t code for TargetGrant in BucketLoggingHi Jawahar,
I have added support for TargetBuckets to JetS3t's codebase in CVS. Note that the code changes are slightly different from the code you provided. Please confirm whether this update works for you. Thanks, James --- http://www.jamesmurty.com On Fri, Jul 31, 2009 at 4:32 AM, Jawahar Nayak <jlal@...> wrote:
|
| Free embeddable forum powered by Nabble | Forum Help |