1919import java .util .function .Function ;
2020import java .util .stream .Stream ;
2121
22- import com .marklogic .client .MarkLogicInternalException ;
22+ import com .marklogic .client .impl . DocumentWriteOperationImpl ;
2323import com .marklogic .client .io .marker .AbstractWriteHandle ;
2424import 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}
0 commit comments