Skip to content

Commit 19e663b

Browse files
authored
Merge pull request #61 from marklogic-community/feature/editorconfig
Added .editorconfig, formatted for spaces
2 parents 2c18ef5 + b6e1a22 commit 19e663b

25 files changed

+1585
-1591
lines changed

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# http://editorconfig.org
2+
root = true
3+
4+
[*]
5+
indent_style = space
6+
indent_size = 2
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
12+
[*.md]
13+
trim_trailing_whitespace = false
14+
15+
[*.java]
16+
indent_size = 4

src/main/java/com/marklogic/client/ext/document/DocumentWriteOperationBuilder.java

Lines changed: 74 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -8,79 +8,79 @@
88

99
public class DocumentWriteOperationBuilder {
1010

11-
private DocumentWriteOperation.OperationType operationType = DocumentWriteOperation.OperationType.DOCUMENT_WRITE;
12-
private String uriPrefix;
13-
private String uriSuffix;
14-
private String collections;
15-
private String permissions;
16-
17-
public DocumentWriteOperation build(RecordContent record) {
18-
19-
AbstractWriteHandle content = record.getContent();
20-
DocumentMetadataHandle metadata = record.getAdditionalMetadata();
21-
String uri = record.getId();
22-
23-
if (content == null) {
24-
throw new NullPointerException("'content' must not be null");
25-
}
26-
if (hasText(collections)) {
27-
metadata.getCollections().addAll(collections.trim().split(","));
28-
}
29-
if (hasText(permissions)) {
30-
new DefaultDocumentPermissionsParser().parsePermissions(permissions.trim(), metadata.getPermissions());
31-
}
32-
33-
if (hasText(uriPrefix)) {
34-
uri = uriPrefix + uri;
35-
}
36-
if (hasText(uriSuffix)) {
37-
uri += uriSuffix;
38-
}
39-
40-
return build(operationType, uri, metadata, content);
41-
}
42-
43-
/**
44-
* Exists to give a subclass a chance to further customize the contents of a DocumentWriteOperation before
45-
* it's created.
46-
*
47-
* @param operationType
48-
* @param uri
49-
* @param metadata
50-
* @param content
51-
* @return
52-
*/
53-
protected DocumentWriteOperation build(DocumentWriteOperation.OperationType operationType, String uri, DocumentMetadataHandle metadata, AbstractWriteHandle content) {
54-
return new DocumentWriteOperationImpl(operationType, uri, metadata, content);
55-
}
56-
57-
private boolean hasText(String val) {
58-
return val != null && val.trim().length() > 0;
59-
}
60-
61-
public DocumentWriteOperationBuilder withUriPrefix(String uriPrefix) {
62-
this.uriPrefix = uriPrefix;
63-
return this;
64-
}
65-
66-
public DocumentWriteOperationBuilder withUriSuffix(String uriSuffix) {
67-
this.uriSuffix = uriSuffix;
68-
return this;
69-
}
70-
71-
public DocumentWriteOperationBuilder withCollections(String collections) {
72-
this.collections = collections;
73-
return this;
74-
}
75-
76-
public DocumentWriteOperationBuilder withPermissions(String permissions) {
77-
this.permissions = permissions;
78-
return this;
79-
}
80-
81-
public DocumentWriteOperationBuilder withOperationType(DocumentWriteOperation.OperationType operationType) {
82-
this.operationType = operationType;
83-
return this;
84-
}
11+
private DocumentWriteOperation.OperationType operationType = DocumentWriteOperation.OperationType.DOCUMENT_WRITE;
12+
private String uriPrefix;
13+
private String uriSuffix;
14+
private String collections;
15+
private String permissions;
16+
17+
public DocumentWriteOperation build(RecordContent record) {
18+
19+
AbstractWriteHandle content = record.getContent();
20+
DocumentMetadataHandle metadata = record.getAdditionalMetadata();
21+
String uri = record.getId();
22+
23+
if (content == null) {
24+
throw new NullPointerException("'content' must not be null");
25+
}
26+
if (hasText(collections)) {
27+
metadata.getCollections().addAll(collections.trim().split(","));
28+
}
29+
if (hasText(permissions)) {
30+
new DefaultDocumentPermissionsParser().parsePermissions(permissions.trim(), metadata.getPermissions());
31+
}
32+
33+
if (hasText(uriPrefix)) {
34+
uri = uriPrefix + uri;
35+
}
36+
if (hasText(uriSuffix)) {
37+
uri += uriSuffix;
38+
}
39+
40+
return build(operationType, uri, metadata, content);
41+
}
42+
43+
/**
44+
* Exists to give a subclass a chance to further customize the contents of a DocumentWriteOperation before
45+
* it's created.
46+
*
47+
* @param operationType
48+
* @param uri
49+
* @param metadata
50+
* @param content
51+
* @return
52+
*/
53+
protected DocumentWriteOperation build(DocumentWriteOperation.OperationType operationType, String uri, DocumentMetadataHandle metadata, AbstractWriteHandle content) {
54+
return new DocumentWriteOperationImpl(operationType, uri, metadata, content);
55+
}
56+
57+
private boolean hasText(String val) {
58+
return val != null && val.trim().length() > 0;
59+
}
60+
61+
public DocumentWriteOperationBuilder withUriPrefix(String uriPrefix) {
62+
this.uriPrefix = uriPrefix;
63+
return this;
64+
}
65+
66+
public DocumentWriteOperationBuilder withUriSuffix(String uriSuffix) {
67+
this.uriSuffix = uriSuffix;
68+
return this;
69+
}
70+
71+
public DocumentWriteOperationBuilder withCollections(String collections) {
72+
this.collections = collections;
73+
return this;
74+
}
75+
76+
public DocumentWriteOperationBuilder withPermissions(String permissions) {
77+
this.permissions = permissions;
78+
return this;
79+
}
80+
81+
public DocumentWriteOperationBuilder withOperationType(DocumentWriteOperation.OperationType operationType) {
82+
this.operationType = operationType;
83+
return this;
84+
}
8585

8686
}
Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,37 @@
1-
package com.marklogic.client.ext.document;
2-
3-
import com.marklogic.client.io.marker.AbstractWriteHandle;
4-
import com.marklogic.client.io.DocumentMetadataHandle;
5-
6-
public class RecordContent {
7-
8-
AbstractWriteHandle content;
9-
DocumentMetadataHandle additionalMetadata;
10-
String id;
11-
12-
public AbstractWriteHandle getContent() {
13-
return content;
14-
}
15-
16-
public void setContent(AbstractWriteHandle content) {
17-
this.content = content;
18-
}
19-
20-
public DocumentMetadataHandle getAdditionalMetadata() {
21-
return additionalMetadata;
22-
}
23-
24-
public void setAdditionalMetadata(DocumentMetadataHandle additionalMetadata) {
25-
this.additionalMetadata = additionalMetadata;
26-
}
27-
28-
public String getId() {
29-
return id;
30-
}
31-
public void setId(String id) {
32-
this.id = id;
33-
}
34-
35-
}
36-
1+
package com.marklogic.client.ext.document;
2+
3+
import com.marklogic.client.io.DocumentMetadataHandle;
4+
import com.marklogic.client.io.marker.AbstractWriteHandle;
5+
6+
public class RecordContent {
7+
8+
AbstractWriteHandle content;
9+
DocumentMetadataHandle additionalMetadata;
10+
String id;
11+
12+
public AbstractWriteHandle getContent() {
13+
return content;
14+
}
15+
16+
public void setContent(AbstractWriteHandle content) {
17+
this.content = content;
18+
}
19+
20+
public DocumentMetadataHandle getAdditionalMetadata() {
21+
return additionalMetadata;
22+
}
23+
24+
public void setAdditionalMetadata(DocumentMetadataHandle additionalMetadata) {
25+
this.additionalMetadata = additionalMetadata;
26+
}
27+
28+
public String getId() {
29+
return id;
30+
}
31+
32+
public void setId(String id) {
33+
this.id = id;
34+
}
35+
36+
}
37+
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package com.marklogic.client.id.strategy;
22

3+
import com.marklogic.client.io.marker.AbstractWriteHandle;
4+
35
import java.util.UUID;
46

5-
import com.marklogic.client.io.marker.AbstractWriteHandle;
67

8+
public class DefaultStrategy implements IdStrategy {
9+
10+
@Override
11+
public String generateId(AbstractWriteHandle content, String topic, Integer partition, long offset) {
12+
return UUID.randomUUID().toString();
13+
}
714

8-
public class DefaultStrategy implements IdStrategy{
9-
10-
@Override
11-
public String generateId(AbstractWriteHandle content, String topic, Integer partition, long offset) {
12-
return UUID.randomUUID().toString();
13-
}
14-
15-
}
15+
}
Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,54 @@
11
package com.marklogic.client.id.strategy;
22

3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.marklogic.client.io.marker.AbstractWriteHandle;
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
8+
39
import java.io.IOException;
410
import java.security.MessageDigest;
511
import java.security.NoSuchAlgorithmException;
612
import java.util.UUID;
713

8-
import org.slf4j.Logger;
9-
import org.slf4j.LoggerFactory;
1014

11-
import com.fasterxml.jackson.databind.JsonNode;
12-
import com.fasterxml.jackson.databind.ObjectMapper;
13-
import com.marklogic.client.io.marker.AbstractWriteHandle;
15+
public class HashedJSONPathsStrategy implements IdStrategy {
16+
17+
private static final Logger logger = LoggerFactory.getLogger(HashedJSONPathsStrategy.class);
18+
19+
private String[] paths;
1420

21+
public HashedJSONPathsStrategy(String[] paths) {
22+
this.paths = paths;
23+
}
24+
25+
@Override
26+
public String generateId(AbstractWriteHandle content, String topic, Integer partition, long offset) {
27+
ObjectMapper om = new ObjectMapper();
28+
String valueString = "";
29+
try {
30+
MessageDigest md = MessageDigest.getInstance("MD5");
31+
JsonNode node = om.readTree(content.toString());
32+
for (int i = 0; i < paths.length; i++) {
33+
valueString = valueString + node.at(paths[i].trim()).asText();
34+
}
35+
String id = bytesToHex(md.digest(valueString.getBytes()));
36+
return id;
37+
} catch (IOException e) {
38+
logger.warn("IOException. Not creating MD5 URI, instead generating UUID");
39+
return UUID.randomUUID().toString();
40+
} catch (NoSuchAlgorithmException e) {
41+
logger.warn("NoSuchAlgorithmException. Not creating MD5 URI, instead generating UUID");
42+
return UUID.randomUUID().toString();
43+
}
44+
}
1545

16-
public class HashedJSONPathsStrategy implements IdStrategy{
17-
18-
private static final Logger logger = LoggerFactory.getLogger(HashedJSONPathsStrategy.class);
19-
20-
private String [] paths;
21-
22-
public HashedJSONPathsStrategy(String [] paths) {
23-
this.paths = paths;
24-
}
25-
26-
@Override
27-
public String generateId(AbstractWriteHandle content, String topic, Integer partition, long offset) {
28-
ObjectMapper om = new ObjectMapper();
29-
String valueString = "";
30-
try {
31-
MessageDigest md = MessageDigest.getInstance("MD5");
32-
JsonNode node = om.readTree(content.toString());
33-
for (int i=0; i<paths.length; i++) {
34-
valueString = valueString + node.at(paths[i].trim()).asText();
35-
}
36-
String id = bytesToHex(md.digest(valueString.getBytes()));
37-
return id;
38-
}
39-
catch (IOException e) {
40-
logger.warn("IOException. Not creating MD5 URI, instead generating UUID");
41-
return UUID.randomUUID().toString();
42-
}
43-
catch (NoSuchAlgorithmException e) {
44-
logger.warn("NoSuchAlgorithmException. Not creating MD5 URI, instead generating UUID");
45-
return UUID.randomUUID().toString();
46-
}
47-
}
48-
49-
private static String bytesToHex(byte[] bytes) {
50-
StringBuilder sb = new StringBuilder();
51-
for (byte b : bytes) {
52-
sb.append(String.format("%02x", b));
46+
private static String bytesToHex(byte[] bytes) {
47+
StringBuilder sb = new StringBuilder();
48+
for (byte b : bytes) {
49+
sb.append(String.format("%02x", b));
50+
}
51+
return sb.toString();
5352
}
54-
return sb.toString();
55-
}
56-
57-
}
53+
54+
}

0 commit comments

Comments
 (0)