Skip to content

Commit

Permalink
Fix #5217.
Browse files Browse the repository at this point in the history
  • Loading branch information
dkocher committed Sep 24, 2010
1 parent c19e75d commit 828dacd
Showing 1 changed file with 26 additions and 11 deletions.
37 changes: 26 additions & 11 deletions source/ch/cyberduck/core/PathAttributes.java
Expand Up @@ -24,6 +24,7 @@
import ch.cyberduck.core.serializer.Serializer;
import ch.cyberduck.core.serializer.SerializerFactory;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import java.util.Collections;
Expand Down Expand Up @@ -126,34 +127,43 @@ public <T> void init(T serialized) {
final Deserializer dict = DeserializerFactory.createDeserializer(serialized);
String typeObj = dict.stringForKey("Type");
if(typeObj != null) {
this.type = Integer.parseInt(typeObj);
type = Integer.parseInt(typeObj);
}
String sizeObj = dict.stringForKey("Size");
if(sizeObj != null) {
this.size = Long.parseLong(sizeObj);
size = Long.parseLong(sizeObj);
}
String modifiedObj = dict.stringForKey("Modified");
if(modifiedObj != null) {
this.modified = Long.parseLong(modifiedObj);
modified = Long.parseLong(modifiedObj);
}
Object permissionObj = dict.objectForKey("Permission");
if(permissionObj != null) {
this.permission = new Permission(permissionObj);
permission = new Permission(permissionObj);
}
Object versionObj = dict.objectForKey("Version");
if(versionObj != null) {
versionId = versionObj.toString();
}
Object duplicateObj = dict.objectForKey("Duplicate");
if(duplicateObj != null) {
duplicate = Boolean.valueOf(duplicateObj.toString());
}
}

public <T> T getAsDictionary() {
final Serializer dict = SerializerFactory.createSerializer();
dict.setStringForKey(String.valueOf(this.type), "Type");
if(this.size != -1) {
dict.setStringForKey(String.valueOf(this.size), "Size");
dict.setStringForKey(String.valueOf(type), "Type");
if(size != -1) {
dict.setStringForKey(String.valueOf(size), "Size");
}
if(this.modified != -1) {
dict.setStringForKey(String.valueOf(this.modified), "Modified");
if(modified != -1) {
dict.setStringForKey(String.valueOf(modified), "Modified");
}
if(!Permission.EMPTY.equals(permission)) {
dict.setObjectForKey(permission, "Permission");
if(StringUtils.isNotBlank(versionId)) {
dict.setStringForKey(versionId, "Version");
}
dict.setStringForKey(String.valueOf(duplicate), "Duplicate");
return dict.<T>getSerialized();
}

Expand Down Expand Up @@ -326,6 +336,11 @@ public void setRevision(int revision) {
this.revision = revision;
}

/**
* Incremental revision number of document.
*
* @return Revision number
*/
@Override
public String getRevision() {
return String.valueOf(revision);
Expand Down

0 comments on commit 828dacd

Please sign in to comment.