Skip to content

Commit 2913253

Browse files
committed
Fine tuning.
1 parent 757916e commit 2913253

File tree

2 files changed

+32
-67
lines changed

2 files changed

+32
-67
lines changed

marklogic-client-api/src/main/java/com/marklogic/client/document/DocumentWriteOperation.java

Lines changed: 3 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.util.function.Function;
2020
import java.util.stream.Stream;
2121

22-
import com.marklogic.client.MarkLogicInternalException;
22+
import com.marklogic.client.impl.DocumentWriteOperationImpl;
2323
import com.marklogic.client.io.marker.AbstractWriteHandle;
2424
import com.marklogic.client.io.marker.DocumentMetadataWriteHandle;
2525

@@ -91,7 +91,7 @@ public enum OperationType {
9191
* @return the logical temporal document URI
9292
*/
9393
String getTemporalDocumentURI();
94-
94+
9595
/**
9696
* The from method prepares each content object for writing as a document including generating a URI by inserting a UUID.
9797
* @param content a subclass of AbstractWriteHandle
@@ -102,54 +102,15 @@ public static Stream<DocumentWriteOperation> from(Stream<? extends AbstractWrite
102102
final DocumentUriMaker uriMaker) {
103103
if(content == null || uriMaker == null)
104104
throw new IllegalArgumentException("Content and/or Uri maker cannot be null");
105-
106-
final class DocumentWriteOperationImpl implements DocumentWriteOperation {
107-
108-
private AbstractWriteHandle content;
109-
private String uri;
110-
111-
public DocumentWriteOperationImpl(AbstractWriteHandle content, String uri) {
112-
this.content = content;
113-
this.uri = uri;
114-
}
115-
116-
117-
@Override
118-
public OperationType getOperationType() {
119-
return null;
120-
}
121-
122-
@Override
123-
public String getUri() {
124-
return uri;
125-
}
126-
127-
@Override
128-
public DocumentMetadataWriteHandle getMetadata() {
129-
return null;
130-
}
131-
132-
@Override
133-
public AbstractWriteHandle getContent() {
134-
return content;
135-
}
136-
137-
@Override
138-
public String getTemporalDocumentURI() {
139-
return null;
140-
}
141105

142-
}
143106
final class WrapperImpl {
144107
private DocumentUriMaker docUriMaker;
145108
WrapperImpl(DocumentUriMaker uriMaker){
146109
this.docUriMaker = uriMaker;
147110
}
148111
DocumentWriteOperation mapper(AbstractWriteHandle content) {
149112
String uri = docUriMaker.apply(content);
150-
if (uri == null)
151-
throw new MarkLogicInternalException("Uri could not be created");
152-
return new DocumentWriteOperationImpl(content, uri);
113+
return new DocumentWriteOperationImpl(uri, content);
153114
}
154115

155116
}
@@ -187,28 +148,4 @@ String makeUri(AbstractWriteHandle content) {
187148
@FunctionalInterface
188149
public interface DocumentUriMaker extends Function<AbstractWriteHandle, String> {
189150
}
190-
191-
default int compareTo(DocumentWriteOperation o) {
192-
if(o == null)
193-
throw new NullPointerException("DocumentWriteOperation cannot be null");
194-
195-
if(this.getUri() != null && o.getUri() != null)
196-
return getUri().compareTo(o.getUri());
197-
198-
if(this.getUri() == null && o.getUri() != null)
199-
return -1;
200-
201-
if(this.getUri() != null && o.getUri()==null)
202-
return 1;
203-
204-
if(this.getUri() == null && o.getUri() == null)
205-
{
206-
if(this.hashCode() > o.hashCode())
207-
return 1;
208-
else if (this.hashCode() < o.hashCode())
209-
return -1;
210-
return 0;
211-
}
212-
return 0;
213-
}
214151
}

marklogic-client-api/src/main/java/com/marklogic/client/impl/DocumentWriteOperationImpl.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package com.marklogic.client.impl;
1717

1818
import com.marklogic.client.document.DocumentWriteOperation;
19-
import com.marklogic.client.document.DocumentWriteOperation.OperationType;
2019
import com.marklogic.client.io.marker.AbstractWriteHandle;
2120
import com.marklogic.client.io.marker.DocumentMetadataWriteHandle;
2221

@@ -49,6 +48,10 @@ public DocumentWriteOperationImpl(OperationType type, String uri,
4948
this.temporalDocumentURI = temporalDocumentURI;
5049
}
5150

51+
public DocumentWriteOperationImpl(String uri, AbstractWriteHandle content){
52+
this(OperationType.DOCUMENT_WRITE, uri, null, content, null);
53+
}
54+
5255
@Override
5356
public OperationType getOperationType() {
5457
return operationType;
@@ -74,6 +77,31 @@ public AbstractWriteHandle getContent() {
7477
return content;
7578
}
7679

80+
@Override
81+
public int compareTo(DocumentWriteOperation o) {
82+
if(o == null)
83+
throw new NullPointerException("DocumentWriteOperation cannot be null");
84+
85+
if(this.getUri() != null && o.getUri() != null)
86+
return getUri().compareTo(o.getUri());
87+
88+
if(this.getUri() == null && o.getUri() != null)
89+
return -1;
90+
91+
if(this.getUri() != null && o.getUri()==null)
92+
return 1;
93+
94+
if(this.getUri() == null && o.getUri() == null)
95+
{
96+
if(this.hashCode() > o.hashCode())
97+
return 1;
98+
else if (this.hashCode() < o.hashCode())
99+
return -1;
100+
return 0;
101+
}
102+
return 0;
103+
}
104+
77105
@Override
78106
public int hashCode() {
79107
if(this.getUri()!=null)

0 commit comments

Comments
 (0)