@@ -760,15 +760,17 @@ public IndexRequest indexRequest(IndexQuery query, IndexCoordinates index) {
760
760
String indexName = index .getIndexName ();
761
761
IndexRequest indexRequest ;
762
762
763
- if (query .getObject () != null ) {
764
- String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (query .getObject ()) : query .getId ();
763
+ Object queryObject = query .getObject ();
764
+
765
+ if (queryObject != null ) {
766
+ String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (queryObject ) : query .getId ();
765
767
// If we have a query id and a document id, do not ask ES to generate one.
766
768
if (id != null ) {
767
769
indexRequest = new IndexRequest (indexName ).id (id );
768
770
} else {
769
771
indexRequest = new IndexRequest (indexName );
770
772
}
771
- indexRequest .source (elasticsearchConverter .mapObject (query . getObject () ).toJson (), Requests .INDEX_CONTENT_TYPE );
773
+ indexRequest .source (elasticsearchConverter .mapObject (queryObject ).toJson (), Requests .INDEX_CONTENT_TYPE );
772
774
} else if (query .getSource () != null ) {
773
775
indexRequest = new IndexRequest (indexName ).id (query .getId ()).source (query .getSource (),
774
776
Requests .INDEX_CONTENT_TYPE );
@@ -779,7 +781,8 @@ public IndexRequest indexRequest(IndexQuery query, IndexCoordinates index) {
779
781
780
782
if (query .getVersion () != null ) {
781
783
indexRequest .version (query .getVersion ());
782
- VersionType versionType = retrieveVersionTypeFromPersistentEntity (query .getObject ().getClass ());
784
+ VersionType versionType = retrieveVersionTypeFromPersistentEntity (
785
+ queryObject != null ? queryObject .getClass () : null );
783
786
indexRequest .versionType (versionType );
784
787
}
785
788
@@ -814,15 +817,16 @@ public IndexRequestBuilder indexRequestBuilder(Client client, IndexQuery query,
814
817
815
818
IndexRequestBuilder indexRequestBuilder ;
816
819
817
- if (query .getObject () != null ) {
818
- String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (query .getObject ()) : query .getId ();
820
+ Object queryObject = query .getObject ();
821
+ if (queryObject != null ) {
822
+ String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (queryObject ) : query .getId ();
819
823
// If we have a query id and a document id, do not ask ES to generate one.
820
824
if (id != null ) {
821
825
indexRequestBuilder = client .prepareIndex (indexName , type , id );
822
826
} else {
823
827
indexRequestBuilder = client .prepareIndex (indexName , type );
824
828
}
825
- indexRequestBuilder .setSource (elasticsearchConverter .mapObject (query . getObject () ).toJson (),
829
+ indexRequestBuilder .setSource (elasticsearchConverter .mapObject (queryObject ).toJson (),
826
830
Requests .INDEX_CONTENT_TYPE );
827
831
} else if (query .getSource () != null ) {
828
832
indexRequestBuilder = client .prepareIndex (indexName , type , query .getId ()).setSource (query .getSource (),
@@ -834,7 +838,8 @@ public IndexRequestBuilder indexRequestBuilder(Client client, IndexQuery query,
834
838
835
839
if (query .getVersion () != null ) {
836
840
indexRequestBuilder .setVersion (query .getVersion ());
837
- VersionType versionType = retrieveVersionTypeFromPersistentEntity (query .getObject ().getClass ());
841
+ VersionType versionType = retrieveVersionTypeFromPersistentEntity (
842
+ queryObject != null ? queryObject .getClass () : null );
838
843
indexRequestBuilder .setVersionType (versionType );
839
844
}
840
845
@@ -1695,12 +1700,13 @@ private String getPersistentEntityId(Object entity) {
1695
1700
return null ;
1696
1701
}
1697
1702
1698
- private VersionType retrieveVersionTypeFromPersistentEntity (Class <?> clazz ) {
1703
+ private VersionType retrieveVersionTypeFromPersistentEntity (@ Nullable Class <?> clazz ) {
1699
1704
1700
1705
MappingContext <? extends ElasticsearchPersistentEntity <?>, ElasticsearchPersistentProperty > mappingContext = elasticsearchConverter
1701
1706
.getMappingContext ();
1702
1707
1703
- ElasticsearchPersistentEntity <?> persistentEntity = mappingContext .getPersistentEntity (clazz );
1708
+ ElasticsearchPersistentEntity <?> persistentEntity = clazz != null ? mappingContext .getPersistentEntity (clazz )
1709
+ : null ;
1704
1710
1705
1711
VersionType versionType = null ;
1706
1712
0 commit comments