Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ektorp with jackson2.0 #75

Merged
merged 16 commits into from Oct 6, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
ca542c8
jackson-annotations, -core, -databind 2.0.0-RC1 were added to the po…
vladislav-fedotov Apr 23, 2012
0001a9f
imports were organized (most of them), @JsonSerialize(include = Inclu…
vladislav-fedotov Apr 23, 2012
c5b8f98
Tree model method name changes and SerializationConfig.Feature, Deser…
vladislav-fedotov Apr 23, 2012
804c359
MAPPER.defaultPrettyPrintingWriter().writeValueAsString(n) replaced w…
vladislav-fedotov Apr 23, 2012
a965039
T doc = mapper.readValue(value, type) replaced with T doc = mapper.re…
vladislav-fedotov Apr 23, 2012
576da3d
DeserializerProvider provider was removed from the method parammeters…
vladislav-fedotov Apr 23, 2012
f8e477f
@Override annotations were removed from isIgnorableField() and isIgno…
vladislav-fedotov Apr 23, 2012
ce92eb1
Some modification in EktorpBeanDeserializerModifier, BasicBeanDescrip…
vladislav-fedotov Apr 23, 2012
adee06a
BasicBeanDescription was replaced with BeanDescription
vladislav-fedotov Apr 23, 2012
4c018b9
The modifications in the test classes in concordance with the changes…
vladislav-fedotov Apr 23, 2012
cd80656
Bugfix, double quotes in the identifier
vladislav-fedotov Apr 23, 2012
f4c9132
Merge https://github.com/helun/Ektorp into ektorp-with-jackson2.0
vladislav-fedotov Apr 26, 2012
4d8b8a1
Merge https://github.com/helun/Ektorp into ektorp-with-jackson2.0
vladislav-fedotov Apr 30, 2012
84da7de
Merged with the remote state
vladislav-fedotov May 9, 2012
5c2514d
Some modifications in concordance with the last changes in jackson-da…
vladislav-fedotov May 9, 2012
84c6743
Merged with original ektorp master branch
vladislav-fedotov Sep 24, 2012
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
23 changes: 15 additions & 8 deletions org.ektorp/pom.xml
Expand Up @@ -13,14 +13,6 @@
</parent>

<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
Expand Down Expand Up @@ -60,5 +52,20 @@
<artifactId>joda-time</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.0.0-RC1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.0.0-RC1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.0.0-RC1</version>
</dependency>
</dependencies>
</project>
30 changes: 15 additions & 15 deletions org.ektorp/src/main/java/org/ektorp/Attachment.java
Expand Up @@ -4,17 +4,17 @@
import java.util.HashMap;
import java.util.Map;

import org.codehaus.jackson.annotate.*;
import org.codehaus.jackson.map.annotate.*;
import org.codehaus.jackson.map.annotate.JsonSerialize.*;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

import org.ektorp.util.*;

/**
*
*
* @author henrik lundgren
*
*/
@JsonSerialize(include = Inclusion.NON_NULL)
@JsonInclude(Include.NON_NULL)
public class Attachment implements Serializable {

private static final long serialVersionUID = 1L;
Expand All @@ -26,13 +26,13 @@ public class Attachment implements Serializable {
private int revpos;
private String digest;
private Map<String, Object> anonymous;

/**
* Constructor that takes data as String.
* The data must be base64 encoded single line of characters, so pre-process your data to remove any carriage returns and newlines
*
*
* Useful if you want to save the attachment as an inline attachent.
*
*
* @param id
* @param data base64-encoded
* @param contentType
Expand All @@ -47,7 +47,7 @@ public Attachment(String id, String data, String contentType) {
this.dataBase64 = data;
this.length = data.getBytes().length;
}

Attachment() {}

@JsonProperty("content_type")
Expand Down Expand Up @@ -93,29 +93,29 @@ public boolean isStub() {
void setStub(boolean stub) {
this.stub = stub;
}

public int getRevpos() {
return revpos;
}

public void setRevpos(int revpos) {
this.revpos = revpos;
}

public String getDigest() {
return digest;
}

/**
/**
* @return a Map containing fields that did not map to any other field in the class during object deserializarion from a JSON document.
*/
@JsonAnyGetter
public Map<String, Object> getAnonymous() {
return anonymous();
}

/**
*
*
* @param key
* @param value
*/
Expand Down
20 changes: 10 additions & 10 deletions org.ektorp/src/main/java/org/ektorp/BulkDeleteDocument.java
Expand Up @@ -2,9 +2,9 @@

import java.io.*;

import org.codehaus.jackson.*;
import org.codehaus.jackson.map.*;
import org.codehaus.jackson.map.annotate.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.ektorp.util.*;
/**
* This class can be used to delete documents in bulk operations.
Expand All @@ -26,20 +26,20 @@ public class BulkDeleteDocument implements Serializable {
public static BulkDeleteDocument of(Object o) {
return new BulkDeleteDocument(Documents.getId(o), Documents.getRevision(o));
}

public BulkDeleteDocument(String id, String rev) {
this.id = id;
this.revision = rev;
}

public String getId() {
return id;
}

public String getRevision() {
return revision;
}

@Override
public boolean equals(Object o) {
if (o == this) return true;
Expand All @@ -49,7 +49,7 @@ public boolean equals(Object o) {
}
return false;
}

@Override
public int hashCode() {
return id.hashCode();
Expand All @@ -62,7 +62,7 @@ public int hashCode() {
public void setRevision(String s) {
// do nothing
}

public static class Serializer extends JsonSerializer<BulkDeleteDocument> {

@Override
Expand All @@ -75,6 +75,6 @@ public void serialize(BulkDeleteDocument value, JsonGenerator jgen,
jgen.writeBooleanField("_deleted", true);
jgen.writeEndObject();
}

}
}
19 changes: 9 additions & 10 deletions org.ektorp/src/main/java/org/ektorp/ComplexKey.java
Expand Up @@ -2,25 +2,24 @@

import java.util.*;

import org.codehaus.jackson.*;
import org.codehaus.jackson.annotate.*;
import org.codehaus.jackson.map.*;
import org.codehaus.jackson.node.*;
import com.fasterxml.jackson.annotation.JsonValue;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.node.ArrayNode;
/**
* Class for creating complex keys for view queries.
* The keys's components can consists of any JSON-encodeable objects, but are most likely to be Strings and Integers.
* @author henrik lundgren
*
*/
public class ComplexKey {

private final static ObjectMapper mapper = new ObjectMapper();

private final List<Object> components;

private static final Object EMPTY_OBJECT = new Object();
private static final Object[] EMPTY_ARRAY = new Object[0];

public static ComplexKey of(Object... components) {
return new ComplexKey(components);
}
Expand All @@ -40,11 +39,11 @@ public static Object emptyObject() {
public static Object[] emptyArray() {
return EMPTY_ARRAY;
}

private ComplexKey(Object[] components) {
this.components = Arrays.asList(components);
}

@JsonValue
public JsonNode toJson() {
ArrayNode key = mapper.createArrayNode();
Expand Down
24 changes: 12 additions & 12 deletions org.ektorp/src/main/java/org/ektorp/DbInfo.java
Expand Up @@ -3,10 +3,10 @@
import java.io.*;
import java.util.*;

import org.codehaus.jackson.annotate.*;
import com.fasterxml.jackson.annotation.*;
import org.ektorp.util.*;
/**
*
*
* @author henrik lundgren
*
*/
Expand All @@ -15,9 +15,9 @@ public class DbInfo implements Serializable {
private static final long serialVersionUID = -6511885014968791685L;

private final String dbName;

@JsonProperty("compact_running")
boolean compactRunning;
boolean compactRunning;
@JsonProperty("disk_format_version")
int diskFormatVersion;
@JsonProperty("disk_size")
Expand All @@ -36,7 +36,7 @@ public class DbInfo implements Serializable {
* Used to future proof this class, if new fields are added by CouchDb they will be found here.
*/
private Map<String, Object> unknownFields;

public boolean isCompactRunning() {
return compactRunning;
}
Expand Down Expand Up @@ -101,29 +101,29 @@ public String getUpdateSeqAsString() {
public boolean isUpdateSeqNumeric() {
return updateSeq != null && updateSeq.matches("^\\d*$");
}

@JsonCreator
public DbInfo(@JsonProperty("db_name") String dbName) {
Assert.hasText(dbName, "dbName may not be null or empty");
this.dbName = dbName;
}

@JsonAnySetter
public void setUnknown(String key, Object value) {
unknownFields().put(key, value);
}

public Map<String, Object> getUnknownFields() {
return unknownFields();
}

private Map<String, Object> unknownFields() {
if (unknownFields == null) {
unknownFields = new HashMap<String, Object>();
}
return unknownFields;
}

@Override
public boolean equals(Object o) {
if (o == this) return true;
Expand All @@ -133,10 +133,10 @@ public boolean equals(Object o) {
}
return false;
}

@Override
public int hashCode() {
return dbName.hashCode();
}

}
11 changes: 5 additions & 6 deletions org.ektorp/src/main/java/org/ektorp/DesignDocInfo.java
@@ -1,12 +1,11 @@
package org.ektorp;

import org.codehaus.jackson.annotate.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.ektorp.support.OpenCouchDbDocument;

/**
*
*
* @author EronenP
*
*
*/
public class DesignDocInfo extends OpenCouchDbDocument {

Expand Down Expand Up @@ -43,7 +42,7 @@ public boolean isCompactRunning() {
}
/**
* Indicates if the view is currently being updated.
*
*
* @return
*/
public boolean isUpdaterRunning() {
Expand Down Expand Up @@ -86,7 +85,7 @@ public String getSignature() {
}
/**
* The update sequence of the corresponding database that has been indexed.
*
*
* @return
*/
public long getUpdateSeq() {
Expand Down
19 changes: 9 additions & 10 deletions org.ektorp/src/main/java/org/ektorp/DocumentNotFoundException.java
@@ -1,20 +1,19 @@
package org.ektorp;

import org.codehaus.jackson.*;

import com.fasterxml.jackson.databind.*;
/**
*
*
* @author Henrik Lundgren
* created 7 nov 2009
*
*/
public class DocumentNotFoundException extends DbAccessException {

/**
*
*
*/
private static final long serialVersionUID = -4130993962797968754L;

private final String path;
private final JsonNode body;

Expand All @@ -23,21 +22,21 @@ public DocumentNotFoundException(String path, JsonNode responseBody) {
this.path = path;
this.body = responseBody;
}

public DocumentNotFoundException(String path) {
super(String.format("nothing found on db path: %s", path));
this.path = path;
this.body = null;
}

public boolean isDocumentDeleted() {
if (body == null) {
return false;
}
JsonNode reason = body.findPath("reason");
return !reason.isMissingNode() ? reason.getTextValue().equals("deleted") : false;
JsonNode reason = body.findPath("reason");
return !reason.isMissingNode() ? reason.textValue().equals("deleted") : false;
}

public String getPath() {
return path;
}
Expand Down