@@ -700,15 +700,17 @@ public IndexRequest indexRequest(IndexQuery query, IndexCoordinates index) {
700700 String indexName = index .getIndexName ();
701701 IndexRequest indexRequest ;
702702
703- if (query .getObject () != null ) {
704- String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (query .getObject ()) : query .getId ();
703+ Object queryObject = query .getObject ();
704+
705+ if (queryObject != null ) {
706+ String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (queryObject ) : query .getId ();
705707 // If we have a query id and a document id, do not ask ES to generate one.
706708 if (id != null ) {
707709 indexRequest = new IndexRequest (indexName ).id (id );
708710 } else {
709711 indexRequest = new IndexRequest (indexName );
710712 }
711- indexRequest .source (elasticsearchConverter .mapObject (query . getObject () ).toJson (), Requests .INDEX_CONTENT_TYPE );
713+ indexRequest .source (elasticsearchConverter .mapObject (queryObject ).toJson (), Requests .INDEX_CONTENT_TYPE );
712714 } else if (query .getSource () != null ) {
713715 indexRequest = new IndexRequest (indexName ).id (query .getId ()).source (query .getSource (),
714716 Requests .INDEX_CONTENT_TYPE );
@@ -719,7 +721,8 @@ public IndexRequest indexRequest(IndexQuery query, IndexCoordinates index) {
719721
720722 if (query .getVersion () != null ) {
721723 indexRequest .version (query .getVersion ());
722- VersionType versionType = retrieveVersionTypeFromPersistentEntity (query .getObject ().getClass ());
724+ VersionType versionType = retrieveVersionTypeFromPersistentEntity (
725+ queryObject != null ? queryObject .getClass () : null );
723726 indexRequest .versionType (versionType );
724727 }
725728
@@ -754,15 +757,16 @@ public IndexRequestBuilder indexRequestBuilder(Client client, IndexQuery query,
754757
755758 IndexRequestBuilder indexRequestBuilder ;
756759
757- if (query .getObject () != null ) {
758- String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (query .getObject ()) : query .getId ();
760+ Object queryObject = query .getObject ();
761+ if (queryObject != null ) {
762+ String id = StringUtils .isEmpty (query .getId ()) ? getPersistentEntityId (queryObject ) : query .getId ();
759763 // If we have a query id and a document id, do not ask ES to generate one.
760764 if (id != null ) {
761765 indexRequestBuilder = client .prepareIndex (indexName , type , id );
762766 } else {
763767 indexRequestBuilder = client .prepareIndex (indexName , type );
764768 }
765- indexRequestBuilder .setSource (elasticsearchConverter .mapObject (query . getObject () ).toJson (),
769+ indexRequestBuilder .setSource (elasticsearchConverter .mapObject (queryObject ).toJson (),
766770 Requests .INDEX_CONTENT_TYPE );
767771 } else if (query .getSource () != null ) {
768772 indexRequestBuilder = client .prepareIndex (indexName , type , query .getId ()).setSource (query .getSource (),
@@ -774,7 +778,8 @@ public IndexRequestBuilder indexRequestBuilder(Client client, IndexQuery query,
774778
775779 if (query .getVersion () != null ) {
776780 indexRequestBuilder .setVersion (query .getVersion ());
777- VersionType versionType = retrieveVersionTypeFromPersistentEntity (query .getObject ().getClass ());
781+ VersionType versionType = retrieveVersionTypeFromPersistentEntity (
782+ queryObject != null ? queryObject .getClass () : null );
778783 indexRequestBuilder .setVersionType (versionType );
779784 }
780785
@@ -1640,12 +1645,13 @@ private String getPersistentEntityId(Object entity) {
16401645 return null ;
16411646 }
16421647
1643- private VersionType retrieveVersionTypeFromPersistentEntity (Class <?> clazz ) {
1648+ private VersionType retrieveVersionTypeFromPersistentEntity (@ Nullable Class <?> clazz ) {
16441649
16451650 MappingContext <? extends ElasticsearchPersistentEntity <?>, ElasticsearchPersistentProperty > mappingContext = elasticsearchConverter
16461651 .getMappingContext ();
16471652
1648- ElasticsearchPersistentEntity <?> persistentEntity = mappingContext .getPersistentEntity (clazz );
1653+ ElasticsearchPersistentEntity <?> persistentEntity = clazz != null ? mappingContext .getPersistentEntity (clazz )
1654+ : null ;
16491655
16501656 VersionType versionType = null ;
16511657
0 commit comments